LeafRenderObjectWidget
classDiagram
LeafRenderObjectWidget <|-- Texture
LeafRenderObjectWidget <|-- RawImage
LeafRenderObjectWidget <|-- PerformanceOverlay
LeafRenderObjectWidget <|-- ErrorWidget
LeafRenderObjectWidget <|-- PlatformViewSurface
PlatformViewSurface <|-- _AndroidPlatformView
PlatformViewSurface <|-- _UiKitPlatformView
示例:ErrorWidget
classDiagram
class LeafRenderObjectWidget {
+LeafRenderObjectElement createElement()
}
LeafRenderObjectWidget <|-- ErrorWidget
class ErrorWidget {
+String message
+RenderBox createRenderObject(BuildContext)
}
LeafRenderObjectElement
classDiagram
RenderObjectElement <|-- LeafRenderObjectElement
示例:N/A
RenderObject
示例:RenderErrorBox
classDiagram
RenderBox <|-- RenderErrorBox
class RenderErrorBox {
+String message
+bool sizedByParent
+double computeMaxIntrinsicWidth(double)
+double computeMaxIntrinsicHeight(double)
+bool hitTestSelf(Offset)
+performResize()
+paint(PaintingContext, Offset)
}
LeafRenderObjectWidget + LeafRenderObjectElement + RenderObject
示例: ErrorWidget + LeafRenderObjectElement + RenderErrorBox
sequenceDiagram
rect rgb(0, 0, 0, 0.1)
parent(Element) ->>+ ErrorWidget: createElement()
ErrorWidget ->> LeafRenderObjectElement: constructor()
LeafRenderObjectElement -->> ErrorWidget: LeafRenderObjectElement
ErrorWidget -->>- parent(Element): LeafRenderObjectElement
end
rect rgb(255, 0, 0, 0.1)
parent(Element) ->> LeafRenderObjectElement: mount()
LeafRenderObjectElement ->>+ ErrorWidget: createRenderObject()
ErrorWidget ->> RenderErrorBox: constructor()
RenderErrorBox -->> ErrorWidget: RenderErrorBox
ErrorWidget -->>- LeafRenderObjectElement: RenderErrorBox
end
rect rgb(0, 255, 0, 0.1)
parent(Element) ->>+ LeafRenderObjectElement: update()
LeafRenderObjectElement -->>- ErrorWidget: updateRenderObject()
LeafRenderObjectElement ->>+ LeafRenderObjectElement: performRebuild()
LeafRenderObjectElement -->>- ErrorWidget: updateRenderObject()
end