GlassProxyHandle class Diagnostics
The current proxy, as something a surface can listen to.
A Listenable holding one frame, so a surface repaints when the proxy is re-recorded and not when anything else happens. The frame's ownership stays with the pipeline; this only points at it.
Every GlassHost owns one and hands it down through GlassProxyScope. What a report reads off it is the counters — generation, snapshots, repacks, readBacks and the rest — which say whether a frame captured.
final GlassProxyHandle? handle = GlassProxyScope.maybeOf(context);
debugPrint('published ${handle?.generation} frames, '
'${handle?.snapshots} snapshots');
- Inheritance
-
- Object
- ChangeNotifier
- GlassProxyHandle
Constructors
Properties
- ceilingDeepenings ↔ int
-
Frames on which the GPU's texture limit moved the divisor.
getter/setter pair
- ceilingOverruns ↔ int
-
Frames the pack overran a limit the search had reasoned it would fit
under. Should stay at zero; see ceilingDeepenings.
getter/setter pair
- ceilingRefusals ↔ int
-
Frames on which nothing fit under the texture limit and no proxy was
produced. See ceilingDeepenings.
getter/setter pair
- changes → Listenable
-
Fires when noteChange is called. The host listens; nothing else should.
no setter
- changesOutsideCapture ↔ int
-
How many frames the watch saw a change that missed every slot of the atlas.
getter/setter pair
- frame → GlassProxyFrame?
-
The proxy last published at the base level, or null before the first
capture and on a screen with nothing to capture.
no setter
- generation → int
-
How many frames have been published. The counter that tells a surface with
no proxy apart from a surface whose proxy never updates.
no setter
- groupProgram ↔ FragmentProgram?
-
The compiled group shader, once it has arrived.
getter/setter pair
- hardware ↔ GlassHardware
-
What the host declared its hardware to be.
getter/setter pair
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
Whether any listeners are currently registered.
no setterinherited
- program ↔ FragmentProgram?
-
The compiled shader, once it has arrived.
getter/setter pair
- readBacks ↔ int
-
How many times the host has read the backdrop back for glass that reads
it (
GlassHost.adaptive) — zero for ever on a host without it, which is the observable that says the feature costs nothing when off.getter/setter pair - readings → GlassBackdropReadings?
-
The verdicts of the glass under this host, when it reads its backdrop;
null when it does not. What a component listens to — apart from this
handle, whose own notifications repaint every surface.
no setter
- repacks ↔ int
-
How many times the atlas layout has been repacked.
getter/setter pair
- rippleProgram → FragmentProgram?
-
The surface's program with the ripple compiled in, once something asked
for it (wantRippleProgram) and it arrived.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- snapshots ↔ int
-
How many rasterizations the pipeline has asked the engine for.
getter/setter pair
- throttled ↔ int
-
Frames held across a change because thermal pressure bought the lag,
mirrored from the host so a report can read it beside
generation: the two reset together, with the tree, and a throttle that
never fired and one that fired every frame are otherwise the same run.
getter/setter pair
-
upper
→ List<
GlassProxyFrame?> -
The proxies of glass that stands on glass, by level:
upper[0]is what the surfaces one glass deep sample, and so on up.no setter - watchedLayers ↔ int
-
How many entries the layer watch's last signature had, or 0 if it never
ran.
getter/setter pair
Methods
-
addListener(
VoidCallback listener) → void -
Register a closure to be called when the object changes.
inherited
-
dispose(
) → void -
Discards any resources used by the object.
override
-
frameFor(
Object key) → GlassProxyFrame? -
The frame that holds
key's slot: the base one, or the level it stands at. The base one when none does, so that the caller'sslotForKeysays "not in this frame" exactly as it did before there were levels. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
noteChange(
) → void - Declares a change nothing above the content is painted for.
-
notifyListeners(
) → void -
Call all the registered listeners.
inherited
-
publish(
GlassProxyFrame? frame) → void -
Publishes
frameas the base level and starts a new generation. -
publishUpper(
List< GlassProxyFrame?> frames) → void - Publishes the levels above frame. Not a new generation: they are the same capture, finished.
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that are
notified when the object changes.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
wantRippleProgram(
) → void - Loads rippleProgram, once per process, and notifies when it lands.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited