Namespaces

Enumerations

enum class ConfigResult : uint32_t
Name Value Comments
kOk 0u

The config is compatible with the current hardware.

kEmptyConfig 1u

The config doesn't impact any connected display.

Said differently, the config does not assign layers to any display that
is still connected to the system. A simple but unlikely case is that the
client did not assign any layers to any displays. A more complex and
likely case is that the client did assign layers to at least one
display, but that display is no longer connected to the system.

Clients should process any display changes and retry the
[`Coordinator.CheckConfig`] call.

kInvalidConfig 2u

The config is not compatible with any hardware.

kUnsupportedConfig 3u

The config layer assignment is not supported by the current hardware.

kTooManyDisplays 4u

The config uses more than the number of connected displays.

kUnsupportedDisplayModes 5u

The config display modes are not supported by the current hardware.

The client should try a different set of displays or display modes.

The result of checking a draft display config.

Values are produced by [`fuchsia.hardware.display/Coordinator.CheckConfig`].

Defined at line 119 of file fidling/gen/sdk/fidl/fuchsia.hardware.display.types/fuchsia.hardware.display.types/cpp/fidl/fuchsia.hardware.display.types/cpp/common_types.h

enum class CoordinateTransformation : uint8_t
Name Value Comments
kIdentity 0u

Image pixels are passed through without any change.

This is the only value guaranteed to be supported by all display engine
drivers.

kReflectX 1u

Image pixels are reflected across a line meeting the image's center, parallel to the X axis.

This enum member's numeric value has a single bit set to 1. Any
transformation whose value has this bit set involves an X reflection.

This transformation is also called an "X flip".

Example:
|a b c d| |i j k l|
|e f g h| -> |e f g h|
|i j k l| |a b c d|

kReflectY 2u

Image pixels are reflected across a line meeting the image's center, parallel to the Y axis.

This enum member's numeric value has a single bit set to 1. Any
transformation whose value has this bit set involves an Y reflection.

This transformation is also called an "Y flip".

Example:
|a b c d| |d c b a|
|e f g h| -> |h g f e|
|i j k l| |l k j i|

kRotateCcw180 3u

Image pixels are rotated around the image's center counter-clockwise by 180 degrees.

This is equivalent to applying the `REFLECT_X` and `REFLECT_Y`
transforms. `REFLECT_X` and `REFLECT_Y` are commutative, so their
ordering doesn't matter.

Example:
|a b c d| |l k j i|
|e f g h| -> |h g f e|
|i j k l| |d c b a|

kRotateCcw90 4u

Image pixels are rotated around the image's center counter-clockwise by 90 degrees.

The image produced by this transformation has different dimensions from
the input image.

This enum member's numeric value has a single bit set to 1. Any
transformation whose value has this bit set involves a 90-degree
counter-clockwise rotation.

Example:
|a b c d| |d h l|
|e f g h| -> |c g k|
|i j k l| |b f j|
|a e i|

kRotateCcw90ReflectX 5u

Image pixels are transformed using `ROTATE_CCW_90`, followed by `REFLECT_X`.

The image produced by this transformation has different dimensions from
the input image.

Example:
|a b c d| |a e i|
|e f g h| -> |b f k|
|i j k l| |c g k|
|d h l|

kRotateCcw90ReflectY 6u

Image pixels are transformed using `ROTATE_CCW_90`, followed by `REFLECT_Y`.

The image produced by this transformation has different dimensions from
the input image.

Example:
|a b c d| |l h d|
|e f g h| -> |k g c|
|i j k l| |j f b|
|i e a|

kRotateCcw270 7u

Image pixels are rotated around the image's center counter-clockwise by 270 degrees.

The image produced by this transformation has different dimensions from
the input image.

This is equivalent to applying the `ROTATE_CCW_90` transform, followed
by `REFLECT_X` and `REFLECT_Y`. `REFLECT_X` and `REFLECT_Y` are
commutative, so their ordering doesn't matter.

Example:
|a b c d| |i e a|
|e f g h| -> |j f b|
|i j k l| |k g c|
|l h d|

Transformations that can be applied by display hardware to input images.

The coordinate system transformations listed here can be implemented in

hardware by display engines, because they have straightforward

implementations for raster images.

Support for input image transformations (every member except for `IDENTITY`)

varies across display engines. This is because each transformation requires

non-trivial hardware modifications that have area (cost) and power

implications.

Defined at line 177 of file fidling/gen/sdk/fidl/fuchsia.hardware.display.types/fuchsia.hardware.display.types/cpp/fidl/fuchsia.hardware.display.types/cpp/common_types.h

enum class AlphaMode : uint8_t
Name Value Comments
kDisable 0u

Alpha is disabled for the plane (default).

kPremultiplied 1u

Plane alpha is premultiplied.

kHwMultiply 2u

Hardware should multiply the alpha and color channels when blending.

Defined at line 290 of file fidling/gen/sdk/fidl/fuchsia.hardware.display.types/fuchsia.hardware.display.types/cpp/fidl/fuchsia.hardware.display.types/cpp/common_types.h

Records