2017-05-17 22:55:31 -07:00
|
|
|
enum Efl.Ui.Zoom.Mode
|
2017-05-17 19:28:47 -07:00
|
|
|
{
|
|
|
|
[[Types of zoom available.]]
|
2017-05-17 23:30:24 -07:00
|
|
|
legacy: efl_ui_zoom_mode;
|
2017-05-17 19:28:47 -07:00
|
|
|
manual = 0, [[Zoom controlled normally by efl_ui_zoom_set]]
|
|
|
|
auto_fit, [[Zoom until photo fits in zoomable object]]
|
|
|
|
auto_fill, [[Zoom until photo fills zoomable object]]
|
|
|
|
auto_fit_in, [[Zoom in until photo fits in zoomable object]]
|
|
|
|
last [[Sentinel value to indicate last enum field during iteration]]
|
|
|
|
}
|
|
|
|
|
2017-05-17 22:55:31 -07:00
|
|
|
interface Efl.Ui.Zoom ()
|
2014-03-13 10:24:06 -07:00
|
|
|
{
|
2017-05-17 22:55:31 -07:00
|
|
|
[[Efl UI zoom interface]]
|
2016-06-10 02:02:03 -07:00
|
|
|
event_prefix: efl_ui;
|
2017-05-17 19:28:47 -07:00
|
|
|
eo_prefix: efl_ui;
|
|
|
|
|
|
|
|
methods {
|
|
|
|
@property zoom_animation {
|
|
|
|
set {
|
|
|
|
[[Enable zoom animation
|
|
|
|
|
|
|
|
This sets the zoom animation state to on or off for zoomable. The
|
|
|
|
default is off. This will stop zooming using animation on
|
|
|
|
zoom level changes and change instantly. This will stop any
|
|
|
|
existing animations that are running.
|
|
|
|
]]
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
[[Disable zoom animation
|
|
|
|
|
|
|
|
This gets the current zoom animation state for the zoomable object.
|
|
|
|
]]
|
|
|
|
}
|
|
|
|
values {
|
|
|
|
paused: bool; [[The pause state.]]
|
|
|
|
}
|
|
|
|
}
|
2018-02-14 18:14:52 -08:00
|
|
|
@property zoom_level {
|
2017-05-17 19:28:47 -07:00
|
|
|
set {
|
|
|
|
[[Set the zoom level of the photo
|
|
|
|
|
|
|
|
This sets 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.).
|
|
|
|
]]
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
[[Get the zoom level of the photo
|
|
|
|
|
|
|
|
This returns the current zoom level of the zoomable object.
|
|
|
|
Note that if you set the fill mode to other than
|
|
|
|
#EFL_UI_ZOOM_MODE_MANUAL (which is the default), the
|
|
|
|
zoom level may be changed at any time by the zoomable object
|
|
|
|
itself to account for photo size and zoomable viewport size.
|
|
|
|
]]
|
|
|
|
}
|
|
|
|
values {
|
|
|
|
zoom: double; [[The zoom level to set]]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@property zoom_mode {
|
|
|
|
set {
|
|
|
|
[[Set the zoom mode
|
|
|
|
|
|
|
|
This sets the zoom mode to manual or one of several automatic
|
|
|
|
levels. Manual (EFL_UI_ZOOM_MODE_MANUAL) means that zoom
|
2018-02-14 18:14:52 -08:00
|
|
|
is set manually by @.zoom_level.set and will stay at that level until
|
2017-05-17 19:28:47 -07:00
|
|
|
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 properties.
|
|
|
|
|
|
|
|
#EFL_UI_ZOOM_MODE_AUTO_FIT) will adjust zoom so the photo
|
|
|
|
fits EXACTLY inside the scroll frame with no pixels outside this
|
|
|
|
region. #EFL_UI_ZOOM_MODE_AUTO_FILL will be similar but
|
|
|
|
ensure no pixels within the frame are left unfilled.
|
|
|
|
]]
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
[[Get the zoom mode
|
|
|
|
|
|
|
|
This gets the current zoom mode of the zoomable object.
|
|
|
|
]]
|
|
|
|
}
|
|
|
|
values {
|
2017-05-17 22:55:31 -07:00
|
|
|
mode: Efl.Ui.Zoom.Mode; [[The zoom mode.]]
|
2017-05-17 19:28:47 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2014-03-13 10:24:06 -07:00
|
|
|
events {
|
efl: Add missing event types
Summary:
All events must have a type now, otherwise bindings don't know how to handle
the event_info field.
Most of the missing event types were actually "void" (no event_info present).
Some struct definitions had to be moved to eo instead of h files, so they
are available to bindings. Some have not, and are marked with FIXME.
Some namespaces have been fixed (like Efl_Event_Cb -> Efl.Event_Cb).
In general, there are hundreds of changed files, but mostly to add a type which
was not present before, so there's no harm done.
Also, A lot of FIXMEs have been added which should be, like, fixed.
For example, some events can send different types of event_info, which is
very inconvenient (and error prone).
Test Plan: make with c# bindings works, make check and make examples work too.
Reviewers: cedric, q66, lauromoura
Subscribers: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6169
2018-05-11 08:20:40 -07:00
|
|
|
zoom,start: void; [[Called when zooming started]]
|
|
|
|
zoom,stop: void; [[Called when zooming stopped]]
|
|
|
|
zoom,change: void; [[Called when zooming changed]]
|
2014-03-13 10:24:06 -07:00
|
|
|
}
|
|
|
|
}
|