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