ProtectedbackgroundThe decoded background picture, once the render's load pass has fetched it.
Child nodes.
Original props passed to the constructor before any modifications.
OptionalkeyUnique node identifier.
Optional ReadonlynameNode type name.
The Yoga layout engine node.
ProtectedplacedSet where a layout places this node absolutely for its own reasons rather than because the
caller asked. Grid does it to put items on their tracks, and a node placed that way becomes a
containing block Yoga resolves against though nothing named a positionType -- CSS keeps a
grid and its items static, so resolveContainingBlocks places an absolute descendant against
the box above it that CSS does name instead.
Current props including defaults and inherited values.
Always present once defaults are applied, so the render path never has to check for it.
Protected_Core features:
Canvas rendering context
Content box left position in pixels
Content box top position in pixels
Content box total width including padding
Content box total height including padding
ProtectedappendAppends a child node at the specified index.
Child node to append.
Index to insert child at
ProtectedapplyApplies node type-specific default values after inheritance.
ProtectedblendThe blend mode this node composites with, or an empty string for the ordinary source-over.
normal is the default and means exactly source-over, so it is not worth an offscreen.
ProtectedfilterThe CSS filter chain this node draws through, or an empty string for none.
saturate came first and stays a shorthand for the same machinery, so it leads the chain and
filter follows — the order they would appear in if the shorthand were written out.
Performs final layout adjustments recursively after the main layout calculation.
Whether any node was marked as dirty during finalization.
ProtectedinkHow far the text reaches past its own box.
A line too long to fit still draws — nothing clips it unless overflow says so — so a group's
offscreen has to allow for the part that hangs outside, or the tail is cut at a hard edge.
Fetches this node's background picture, if it has one.
Runs in the same pass as the images, before layout, and through the same cache — so a picture used as one node's background and another's image is fetched once. A failure leaves the node without a picture rather than failing the render, which is what a missing background should do.
Optionalcache: RenderImageCacheOptionaldiskCacheKeys: Set<string>Processes and appends any children passed in the initial props.
Draws this node, through its mask when it has one.
Every component's drawing arrives here — Text, Image, Chart and Grid override
_renderContent rather than this — so masking one node type means masking all of them.
The two kinds of mask are applied differently because they are different operations. A shape or
path clips, which is a yes-or-no test per pixel and costs nothing but a save/restore. A
gradient cannot: its whole purpose is the answers in between, so the node is composited through
one instead. Both are applied to the node's layout box, before its own transform, which is
what keeps the two consistent with each other.
dither is held on the context around all of it, so the node's mask, background, content and
children are drawn with one answer and whatever draws next is left with its own.
ProtectedresolvedThe direction this node ends up laid out in.
Yoga resolves Inherit while it lays out but keeps no record of the answer: getDirection
hands back what was set, and there is no computed counterpart. So the chain is walked to the
first ancestor that named one, which is what Yoga itself would have found.
ProtectedresolveProtectedsetApplies layout properties to the Yoga node.
Box properties containing layout values
ProtectedupdateHook for subclasses to update layout based on computed size.
A run of text, laid out and painted by this library rather than by the canvas.
Wrapping, alignment, the line box, rich-text markup, decorations and ellipsis are all resolved here, against the font's own metrics — see Text for the props that drive them.