struct UberStructLayer

Defined at line 45 of file ../../src/ui/scenic/lib/flatland/uber_struct.h

The presented state of a single Flatland2 layer: what to draw, plus the properties

which say where and how to draw it. `UberStruct::layers` maps each `LayerHandle` to

one of these, and `UberStruct::layer_stacks` lists the handles which make up each

stack. The same layer may appear in more than one stack; the map holds a single entry

per handle.

Both Flatland API versions produce these. Flatland2 sessions populate them directly;

Flatland1 sessions go through the facade, which represents each piece of legacy

image/rect content as a single-layer stack.

This is a snapshot of client-specified state, not render-ready state. Values are

stored as the client set them; resolution against the scene graph (inherited opacity,

clipping, the global transform) happens in `ComputeGlobalResolvedLayers()`, which emits

the `ResolvedLayer`s that the renderer and display path consume.

The session-side counterpart is `LayerObject` (flatland_session_types.h), which holds

the properties of every composition mode simultaneously; at `Present()` only the active

mode's properties are copied here. Consequently `content` says everything about what

the layer draws: there is no inactive-mode state in the snapshot. Like the rest of

`UberStruct`, this must remain a pure value type: no references to external resources,

no session-lifetime state.

Public Members

variant content
CommonProperties common

Public Methods

bool operator== (const UberStructLayer & )

Defined at line 107 of file ../../src/ui/scenic/lib/flatland/uber_struct.h

Records