251 lines
11 KiB
Plaintext
251 lines
11 KiB
Plaintext
enum Elm.Flip.Mode
|
|
{
|
|
[[]]
|
|
legacy: elm_flip;
|
|
rotate_y_center_axis,
|
|
rotate_x_center_axis,
|
|
rotate_xz_center_axis,
|
|
rotate_yz_center_axis,
|
|
cube_left,
|
|
cube_right,
|
|
cube_up,
|
|
cube_down,
|
|
page_left,
|
|
page_right,
|
|
page_up,
|
|
page_down
|
|
}
|
|
|
|
enum Elm.Flip.Interaction
|
|
{
|
|
[[]]
|
|
none,
|
|
rotate,
|
|
cube,
|
|
page
|
|
}
|
|
|
|
enum Elm.Flip.Direction
|
|
{
|
|
up = 0, [[Allows interaction with the top of the widget]]
|
|
down, [[Allows interaction with the bottom of the widget]]
|
|
left, [[Allows interaction with the left portion of the widget]]
|
|
right [[Allows interaction with the right portion of the widget]]
|
|
}
|
|
|
|
class Elm.Flip (Elm.Container)
|
|
{
|
|
eo_prefix: elm_obj_flip;
|
|
methods {
|
|
@property interaction {
|
|
set {
|
|
[[Set the interactive flip mode.
|
|
|
|
This sets if the flip should be interactive (allow user to
|
|
click and drag a side of the flip to reveal the back page
|
|
and cause it to flip). By default a flip is not interactive.
|
|
You may also need to set which sides of the flip are "active"
|
|
for flipping and how much space they use (a minimum of a
|
|
finger size) with \@ref @.interaction_direction_enabled_set
|
|
and @.interaction_direction_hitsize_set.
|
|
|
|
The four available mode of interaction are
|
|
#ELM_FLIP_INTERACTION_NONE, #ELM_FLIP_INTERACTION_ROTATE,
|
|
#ELM_FLIP_INTERACTION_CUBE and #ELM_FLIP_INTERACTION_PAGE.
|
|
|
|
Note: #ELM_FLIP_INTERACTION_ROTATE won't cause
|
|
#ELM_FLIP_ROTATE_XZ_CENTER_AXIS or #ELM_FLIP_ROTATE_YZ_CENTER_AXIS
|
|
to happen, those can only be achieved with @.go.
|
|
]]
|
|
}
|
|
get {
|
|
[[Get the interactive flip mode.]]
|
|
}
|
|
values {
|
|
mode: Elm.Flip.Interaction; [[The interactive flip mode to use.]]
|
|
}
|
|
}
|
|
@property front_visible {
|
|
get {
|
|
[[Get flip front visibility state.]]
|
|
return: bool; [[$true if front front is showing, $false if
|
|
the back is showing.]]
|
|
}
|
|
}
|
|
interaction_direction_hitsize_set {
|
|
[[Set the amount of the flip that is sensitive to interactive flip.
|
|
|
|
Set the amount of the flip that is sensitive to interactive flip,
|
|
with 0 representing no area in the flip and 1 representing the
|
|
entire flip. There is however a consideration to be made in that
|
|
the area will never be smaller than the finger size set (as set
|
|
in your Elementary configuration), and dragging must always start
|
|
from the opposite half of the flip (eg. right half of the flip
|
|
when dragging to the left).
|
|
|
|
Note: The $dir parameter is not actually related to the direction
|
|
of the drag, it only refers to the area in the flip where
|
|
interaction can occur (top, bottom, left, right).
|
|
|
|
Negative values of $hitsize will disable this hit area.
|
|
|
|
See also @.interaction.set.
|
|
]]
|
|
params {
|
|
@in dir: Elm.Flip.Direction; [[The hit area to set.]]
|
|
@in hitsize: double; [[The amount of that dimension (0.0 to 1.0) to use.]]
|
|
}
|
|
}
|
|
interaction_direction_hitsize_get {
|
|
[[Get the amount of the flip that is sensitive to interactive flip.]]
|
|
return: double; [[The size set for that direction.]]
|
|
params {
|
|
@in dir: Elm.Flip.Direction; [[The direction to check.]]
|
|
}
|
|
}
|
|
interaction_direction_enabled_set {
|
|
[[Set which directions of the flip respond to interactive flip
|
|
|
|
By default all directions are disabled, so you may want to
|
|
enable the desired directions for flipping if you need
|
|
interactive flipping. You must call this function once for
|
|
each direction that should be enabled.
|
|
|
|
You can also set the appropriate hit area size by calling
|
|
@.interaction_direction_hitsize_set. By default, a minimum
|
|
hit area will be created on the opposite edge of the flip.
|
|
]]
|
|
params {
|
|
@in dir: Elm.Flip.Direction; [[The direction to change.]]
|
|
@in enabled: bool; [[If that direction is enabled or not.]]
|
|
}
|
|
}
|
|
interaction_direction_enabled_get {
|
|
[[Get the enabled state of that flip direction.]]
|
|
return: bool; [[If that direction is enabled or not.]]
|
|
params {
|
|
@in dir: Elm.Flip.Direction; [[The direction to check.]]
|
|
}
|
|
}
|
|
go {
|
|
[[Runs the flip animation.
|
|
|
|
Flips the front and back contents using the $mode animation.
|
|
This effectively hides the currently visible content and shows
|
|
the hidden one.
|
|
|
|
There a number of possible animations to use for the flipping,
|
|
these being #ELM_FLIP_ROTATE_X_CENTER_AXIS (rotate the currently
|
|
visible content around a horizontal axis in the middle of its
|
|
height, the other content is shown as the other side of the flip),
|
|
#ELM_FLIP_ROTATE_Y_CENTER_AXIS (rotate the currently visible
|
|
content around a vertical axis in the middle of its width, the
|
|
other content is shown as the other side of the flip),
|
|
#ELM_FLIP_ROTATE_XZ_CENTER_AXIS (rotate the currently visible
|
|
content around a diagonal axis in the middle of its width, the
|
|
other content is shown as the other side of the flip),
|
|
#ELM_FLIP_ROTATE_YZ_CENTER_AXIS (rotate the currently visible
|
|
content around a diagonal axis in the middle of its height, the
|
|
other content is hown as the other side of the flip).
|
|
#ELM_FLIP_CUBE_LEFT (rotate the currently visible content to the
|
|
left as if the flip was a cube, the other content is show as the
|
|
right face of the cube), #ELM_FLIP_CUBE_RIGHT (rotate the
|
|
currently visible content to the right as if the flip was a
|
|
cube, the other content is show as the left face of the cube),
|
|
#ELM_FLIP_CUBE_UP (rotate the currently visible content up as if
|
|
the flip was a cube, the other content is show as the bottom face
|
|
of the cube), #ELM_FLIP_CUBE_DOWN (rotate the currently visible
|
|
content down as if the flip was a cube, the other content is show
|
|
as the upper face of the cube), #ELM_FLIP_PAGE_LEFT (move the
|
|
currently visible content to the left as if the flip was a book,
|
|
the other content is shown as the page below that),
|
|
#ELM_FLIP_PAGE_RIGHT (move the currently visible content to the
|
|
right s if the flip was a book, the other content is shown as the
|
|
page below that), #ELM_FLIP_PAGE_UP (move the currently visible
|
|
content up as if the flip was a book, the other content is shown
|
|
as the page below that) and #ELM_FLIP_PAGE_DOWN (move the
|
|
currently visible content down as if the flip was a book, the
|
|
other content is shown as the page below that).
|
|
]]
|
|
/* FIXME-doc
|
|
* @image html elm_flip.png
|
|
* @image latex elm_flip.eps width=\textwidth
|
|
*/
|
|
params {
|
|
@in mode: Elm.Flip.Mode; [[The mode type.]]
|
|
}
|
|
}
|
|
go_to {
|
|
[[Runs the flip animation to front or back.
|
|
|
|
Flips the front and back contents using the $mode animation.
|
|
This effectively hides the currently visible content and shows
|
|
he hidden one.
|
|
|
|
There a number of possible animations to use for the flipping,
|
|
these being #ELM_FLIP_ROTATE_X_CENTER_AXIS (rotate the currently
|
|
visible content around a horizontal axis in the middle of its
|
|
height, the other content is shown as the other side of the flip),
|
|
#ELM_FLIP_ROTATE_Y_CENTER_AXIS (rotate the currently visible
|
|
content around a vertical axis in the middle of its width, the
|
|
other content is shown as the other side of the flip),
|
|
#ELM_FLIP_ROTATE_XZ_CENTER_AXIS (rotate the currently visible
|
|
content around a diagonal axis in the middle of its width, the
|
|
other content is shown as the other side of the flip),
|
|
#ELM_FLIP_ROTATE_YZ_CENTER_AXIS (rotate the currently visible
|
|
content around a diagonal axis in the middle of its height, the
|
|
other content is hown as the other side of the flip).
|
|
#ELM_FLIP_CUBE_LEFT (rotate the currently visible content to the
|
|
left as if the flip was a cube, the other content is show as the
|
|
right face of the cube), #ELM_FLIP_CUBE_RIGHT (rotate the
|
|
currently visible content to the right as if the flip was a
|
|
cube, the other content is show as the left face of the cube),
|
|
#ELM_FLIP_CUBE_UP (rotate the currently visible content up as if
|
|
the flip was a cube, the other content is show as the bottom face
|
|
of the cube), #ELM_FLIP_CUBE_DOWN (rotate the currently visible
|
|
content down as if the flip was a cube, the other content is show
|
|
as the upper face of the cube), #ELM_FLIP_PAGE_LEFT (move the
|
|
currently visible content to the left as if the flip was a book,
|
|
the other content is shown as the page below that),
|
|
#ELM_FLIP_PAGE_RIGHT (move the currently visible content to the
|
|
right s if the flip was a book, the other content is shown as the
|
|
page below that), #ELM_FLIP_PAGE_UP (move the currently visible
|
|
content up as if the flip was a book, the other content is shown
|
|
as the page below that) and #ELM_FLIP_PAGE_DOWN (move the
|
|
currently visible content down as if the flip was a book, the
|
|
other content is shown as the page below that).
|
|
]]
|
|
/* FIXME-doc
|
|
* @image html elm_flip.png
|
|
* @image latex elm_flip.eps width=\textwidth
|
|
*/
|
|
params {
|
|
@in front: bool; [[If $true, makes front visible, otherwise
|
|
makes back.]]
|
|
@in mode: Elm.Flip.Mode; [[The mode type.]]
|
|
}
|
|
}
|
|
}
|
|
implements {
|
|
class.constructor;
|
|
Eo.Base.constructor;
|
|
Evas.Object_Smart.add;
|
|
Evas.Object_Smart.del;
|
|
Elm.Widget.focus_direction;
|
|
Elm.Widget.sub_object_add;
|
|
Elm.Widget.theme_apply;
|
|
Elm.Widget.focus_direction_manager_is;
|
|
Elm.Widget.focus_next_manager_is;
|
|
Elm.Widget.focus_next;
|
|
Elm.Widget.sub_object_del;
|
|
Elm.Container.content_get;
|
|
Elm.Container.content_set;
|
|
Elm.Container.content_unset;
|
|
}
|
|
events {
|
|
animate,begin;
|
|
animate,done;
|
|
}
|
|
|
|
}
|