struct ImageLayerEquivalence
Defined at line 29 of file ../../src/ui/scenic/lib/display/internal/layer_equivalence.h
Variant sub-type of `LayerEquivalence`.
Represents the subset of an Image Layer's configuration that defines its equivalence class for
the `fuchsia.hardware.display.Coordinator/CheckConfig()` method. This includes properties like
dimensions, format, transformation, and alpha, but excludes fields like the specific `ImageId`,
which don't affect hardware compatibility for a given frame.
TODO(https://fxbug.dev/446183922): it seems like the image's pixel format must be a meaningful
datum to take into account, but I can't find any documentation/code in the display stack to
support this theory.
Public Members
Rectangle display_destination
Rectangle image_source
RotateFlip image_source_transformation
Extent2 image_dimensions
uint32_t image_tiling_type
BlendMode blend_mode
AlphaRange alpha_range
Public Methods
AlphaRange MakeAlphaRange (float alpha)
Defined at line 38 of file ../../src/ui/scenic/lib/display/internal/layer_equivalence.h
bool operator== (const ImageLayerEquivalence & other)
Defined at line 60 of file ../../src/ui/scenic/lib/display/internal/layer_equivalence.h
Enumerations
enum AlphaRange
| Name | Value |
|---|---|
| kAlphaZero | 0 |
| kAlphaBetweenZeroAndOne | 1 |
| kAlphaOne | 2 |
Represents potentially-meaningful ranges of alpha values. If `CheckConfig()` succeeded with an
alpha value of 0.49, it doesn't need to be checked again if the alpha value changes to 0.50.
Zero and one are treated specially, since they might be optimized by the display driver.
Defined at line 33 of file ../../src/ui/scenic/lib/display/internal/layer_equivalence.h