efl/src/lib/efl/interfaces/efl_gfx_orientable.eo

45 lines
1.9 KiB
Plaintext

parse efl_ui_direction;
enum @beta Efl.Gfx.Orientation
{
[[An orientation type, to rotate and flip images.
This is similar to EXIF's orientation.
Directional values ($up, $down, $left, $right) indicate the final direction in
which the top of the image will be facing (e.g. a picture of a house will have
its roof pointing to the right if the $right orientation is used).
Flipping values ($flip_horizontal and $flip_vertical) can be additionaly added
to produce a mirroring in each axis.
Not to be confused with @Efl.Ui.Dir which is meant for widgets, rather
than images and canvases. This enum is used to rotate images, videos and
the like.
]]
none = 0, [[Default, same as up, do not rotate.]]
up = 0, [[Orient up, do not rotate.]]
right = 1, [[Orient right, rotate 90 degrees clock-wise.]]
down = 2, [[Orient down, rotate 180 degrees.]]
left = 3, [[Orient left, rotate 270 degrees clock-wise.]]
rotation_bitmask = 3, [[Bitmask that can be used to isolate rotation values, that is, $none, $up, $down, $left and $right.]]
flip_horizontal = 4, [[Mirror horizontally. Can be added to the other values.]]
flip_vertical = 8, [[Mirror vertically. Can be added to the other values.]]
flip_bitmask = 12 [[Bitmask that can be used to isolate flipping values, that is, $flip_vertical and $flip_horizontal.]]
}
interface @beta Efl.Gfx.Orientable
{
[[Interface for objects which can be oriented.]]
c_prefix: efl_gfx_orientation;
methods {
@property orientation {
[[Control the orientation (rotation and flipping) of a given object.
This can be used to set the rotation on an image or a window, for
instance.
]]
values {
dir: Efl.Gfx.Orientation(Efl.Gfx.Orientation.none); [[The final orientation of the object.]]
}
}
}
}