GlassSurfaceGeometry class abstract interface Cost and policy

Something in the render tree that can say where it is.

The register holds these rather than the rects they last reported, and asks them at the moment somebody reads it, because a scroll moves a surface without repainting it: a sliver's children are repaint boundaries by default, so the viewport re-adds an existing layer at a new offset and the child's paint is never called. A register written from paint would hold the place the surface was before the list moved, for as long as nothing else dirties it.

Implemented by RenderGlassSurface; a custom render object that draws glass implements it and calls GlassLedger.register when it attaches.

Implementers

Properties

compositedLayer → Layer?
The layer this surface composites into, or null before it has painted.
no setter
drawLayer → Layer?
The layer this surface's own glass is drawn into, or null if it draws none. Narrower than compositedLayer: when glass stands on this surface its subtree is in the upper level's proxy and has to be watched, and only the draw — replaced by every publish — is skipped.
no setter
excludedFromProxy → bool
Whether this surface's subtree is kept out of the proxy — by the walk that records it, and by the watch that decides whether it is stale.
no setter
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
readGeometry() → GlassSurfaceRecord?
Where this surface is now, or null if it cannot say — not attached to a tree, or attached and not yet laid out. Null is a surface that is not on the screen, which is exactly what should not be counted.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited