efl/src/lib/efl/interfaces/efl_ui_zoom.eo

80 lines
2.9 KiB
Plaintext

enum @beta Efl.Ui.Zoom_Mode
{
[[Types of zoom available.]]
manual = 0, [[Zoom controlled manually by @Efl.Ui.Zoom.zoom_level.]]
auto_fit, [[Zoom until whole image fits inside object. Parts of the object might be left blank.]]
auto_fill, [[Zoom until image fills the object. Parts of the image might not show.]]
auto_fit_in, [[Zoom in until image fits inside object.]]
last [[Internal. Sentinel value to indicate last enum field during iteration.]]
}
interface @beta Efl.Ui.Zoom
{
[[Efl UI zoom interface]]
event_c_prefix: efl_ui;
c_prefix: efl_ui;
methods {
@property zoom_animation {
[[This sets the zoom animation state to on or off for zoomable. The
default is off. When $paused is $true, it will stop zooming using
animation on zoom level changes and change instantly, stopping any
existing animations that are running.]]
set {}
get {}
values {
paused: bool; [[The paused state.]]
}
}
@property zoom_level {
[[Zoom level of the image.
This selects the zoom level. If $zoom is 1, it means no zoom. If
it's smaller than 1, it means zoom in. If it's bigger than 1,
it means zoom out. For example, $zoom 1 will be 1:1 pixel for
pixel. $zoom 2 will be 2:1 (that is 2x2 photo pixels will
display as 1 on-screen pixel) which is a zoom out. 4:1 will
be 4x4 photo pixels as 1 screen pixel, and so on. The $zoom
parameter must be greater than 0. It is suggested to stick
to powers of 2. (1, 2, 4, 8, 16, 32, etc.).
Note that if you set @.zoom_mode to anything other than
@Efl.Ui.Zoom_Mode.manual (which is the default value) the
@.zoom_level might be changed at any time by the zoomable
object itself to account for image and viewport size changes.
]]
set {
}
get {
}
values {
zoom: double; [[The image's current zoom level.]]
}
}
@property zoom_mode {
[[Zoom mode.
This sets the zoom mode to manual or one of several automatic
levels. @Efl.Ui.Zoom_Mode.manual means that zoom is controlled
manually by @.zoom_level and will stay at that level until
changed by code or until @.zoom_mode is changed. This is the
default mode. The Automatic modes will allow the zoomable object
to automatically adjust zoom mode based on image and viewport
size changes.
]]
set {
}
get {
}
values {
mode: Efl.Ui.Zoom_Mode(Efl.Ui.Zoom_Mode.manual); [[The zoom mode.]]
}
}
}
events {
zoom,start: void; [[Called when zooming started]]
zoom,stop: void; [[Called when zooming stopped]]
zoom,change: void; [[Called when zooming changed]]
}
}