class RotateFlip

Defined at line 20 of file ../../src/ui/scenic/lib/types/rotate_flip.h

Covers the rotate/flip permutations supported by

`fuchsia.hardware.display.types/CoordinateTransformation`.

Public Methods

void RotateFlip ()

Defined at line 141 of file ../../src/ui/scenic/lib/types/rotate_flip.h

void RotateFlip (const RotateFlip & )

Defined at line 143 of file ../../src/ui/scenic/lib/types/rotate_flip.h

void RotateFlip (RotateFlip && )

Defined at line 144 of file ../../src/ui/scenic/lib/types/rotate_flip.h

RotateFlip & operator= (const RotateFlip & )

Defined at line 145 of file ../../src/ui/scenic/lib/types/rotate_flip.h

RotateFlip & operator= (RotateFlip && )

Defined at line 146 of file ../../src/ui/scenic/lib/types/rotate_flip.h

void ~RotateFlip ()

Defined at line 147 of file ../../src/ui/scenic/lib/types/rotate_flip.h

Enum enum_value ()

Used for hashing/printing/etc; not useful for general users.

Defined at line 156 of file ../../src/ui/scenic/lib/types/rotate_flip.h

RotateFlip From (const fuchsia_ui_composition::Orientation & orientation, const fuchsia_ui_composition::ImageFlip & image_flip)

Constructors. All arguments must be valid; use `IsValid()` to validate if you're not sure.

Defined at line 165 of file ../../src/ui/scenic/lib/types/rotate_flip.h

RotateFlip From (const fuchsia_hardware_display_types::wire::CoordinateTransformation & fidl_mode)

static

Defined at line 228 of file ../../src/ui/scenic/lib/types/rotate_flip.h

RotateFlip kIdentity ()

Static "constructors".

Defined at line 235 of file ../../src/ui/scenic/lib/types/rotate_flip.h

RotateFlip kReflectX ()

static

Defined at line 238 of file ../../src/ui/scenic/lib/types/rotate_flip.h

RotateFlip kReflectY ()

static

Defined at line 241 of file ../../src/ui/scenic/lib/types/rotate_flip.h

RotateFlip kRotateCcw180 ()

static

Defined at line 244 of file ../../src/ui/scenic/lib/types/rotate_flip.h

RotateFlip kRotateCcw90 ()

static

Defined at line 247 of file ../../src/ui/scenic/lib/types/rotate_flip.h

RotateFlip kRotateCcw90ReflectX ()

static

Defined at line 250 of file ../../src/ui/scenic/lib/types/rotate_flip.h

RotateFlip kRotateCcw90ReflectY ()

static

Defined at line 255 of file ../../src/ui/scenic/lib/types/rotate_flip.h

RotateFlip kRotateCcw270 ()

static

Defined at line 260 of file ../../src/ui/scenic/lib/types/rotate_flip.h

void RotateFlip (RotateFlip::Enum val)

Defined at line 162 of file ../../src/ui/scenic/lib/types/rotate_flip.h

fuchsia_hardware_display_types::wire::CoordinateTransformation ToDisplayCoordinateTransformation ()

Defined at line 268 of file ../../src/ui/scenic/lib/types/rotate_flip.h

Enumerations

enum class Enum : uint8_t
Name Value Comments
kIdentity 0

Image pixels are passed through without any change.

kReflectX 1

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 2

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 3

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 4

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 5

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 6

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 7

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|

Defined at line 22 of file ../../src/ui/scenic/lib/types/rotate_flip.h

Friends

bool RotateFlip (const RotateFlip & lhs, const RotateFlip & rhs)
bool RotateFlip (const RotateFlip & lhsconst RotateFlip & rhs)