efl/legacy/elementary/src/lib/elm_flip.eo

298 lines
11 KiB
Plaintext
Raw Normal View History

enum Elm.Flip.Mode
{
2015-06-11 08:39:33 -07:00
[[]]
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
{
2015-06-11 08:39:33 -07:00
[[]]
none,
rotate,
cube,
page
}
enum Elm.Flip.Direction
{
2015-06-11 08:39:33 -07:00
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)
2014-03-23 02:14:48 -07:00
{
eo_prefix: elm_obj_flip;
2015-05-07 09:32:53 -07:00
methods {
@property interaction {
2014-03-23 02:14:48 -07:00
set {
/*@
@brief 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 elm_flip_interaction_direction_enabled_set()
and elm_flip_interaction_direction_hitsize_set()
The four available mode of interaction are:
@li #ELM_FLIP_INTERACTION_NONE - No interaction is allowed
@li #ELM_FLIP_INTERACTION_ROTATE - Interaction will cause rotate animation
@li #ELM_FLIP_INTERACTION_CUBE - Interaction will cause cube animation
@li #ELM_FLIP_INTERACTION_PAGE - Interaction will cause page animation
2014-03-23 02:14:48 -07:00
@note #ELM_FLIP_INTERACTION_ROTATE won't cause
#ELM_FLIP_ROTATE_XZ_CENTER_AXIS or #ELM_FLIP_ROTATE_YZ_CENTER_AXIS to
2014-03-23 02:14:48 -07:00
happen, those can only be achieved with elm_flip_go();
@ingroup Flip */
}
get {
/*@
@brief Get the interactive flip mode
@return The interactive flip mode
Returns the interactive flip mode set by elm_flip_interaction_set()
@ingroup Flip */
}
values {
mode: Elm.Flip.Interaction; /*@ The interactive flip mode to use */
2014-03-23 02:14:48 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property front_visible {
2014-03-23 02:14:48 -07:00
get {
/*@
@brief Get flip front visibility state
@return true if front front is showing, false if the back is
2014-03-23 02:14:48 -07:00
showing.
@ingroup Flip */
return: bool;
2014-03-23 02:14:48 -07:00
}
}
interaction_direction_hitsize_set {
/*@
@brief 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 that the $dir parameter is not actually related to the direction of
2014-03-23 02:14:48 -07:00
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.
2014-03-23 02:14:48 -07:00
@see elm_flip_interaction_set()
@ingroup Flip */
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 */
2014-03-23 02:14:48 -07:00
}
}
interaction_direction_hitsize_get {
/*@
@brief Get the amount of the flip that is sensitive to interactive flip
@return The size set for that direction
Returns the amount of sensitive area set by
elm_flip_interaction_direction_hitsize_set().
@ingroup Flip */
return: double;
2014-03-23 02:14:48 -07:00
params {
@in dir: Elm.Flip.Direction; /*@ The direction to check */
2014-03-23 02:14:48 -07:00
}
}
interaction_direction_enabled_set {
/*@
@brief 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
$elm_flip_interaction_direction_hitsize_set(). By default, a minimum
2014-03-23 02:14:48 -07:00
hit area will be created on the opposite edge of the flip.
@see elm_flip_interaction_set()
@ingroup Flip */
params {
@in dir: Elm.Flip.Direction; /*@ The direction to change */
@in enabled: bool; /*@ If that direction is enabled or not */
2014-03-23 02:14:48 -07:00
}
}
interaction_direction_enabled_get {
/*@
@brief Get the enabled state of that flip direction
@return If that direction is enabled or not
Get the enabled state set by elm_flip_interaction_direction_enabled_set()
@see elm_flip_interaction_set()
@ingroup Flip */
return: bool;
2014-03-23 02:14:48 -07:00
params {
@in dir: Elm.Flip.Direction; /*@ The direction to check */
2014-03-23 02:14:48 -07:00
}
}
go {
/*@
@brief Runs the flip animation
Flips the front and back contents using the $mode animation. This
2014-03-23 02:14:48 -07:00
effectively hides the currently visible content and shows the hidden one.
There a number of possible animations to use for the flipping:
@li #ELM_FLIP_ROTATE_X_CENTER_AXIS - Rotate the currently visible content
2014-03-23 02:14:48 -07:00
around a horizontal axis in the middle of its height, the other content
is shown as the other side of the flip.
@li #ELM_FLIP_ROTATE_Y_CENTER_AXIS - Rotate the currently visible content
2014-03-23 02:14:48 -07:00
around a vertical axis in the middle of its width, the other content is
shown as the other side of the flip.
@li #ELM_FLIP_ROTATE_XZ_CENTER_AXIS - Rotate the currently visible content
2014-03-23 02:14:48 -07:00
around a diagonal axis in the middle of its width, the other content is
shown as the other side of the flip.
@li #ELM_FLIP_ROTATE_YZ_CENTER_AXIS - Rotate the currently visible content
2014-03-23 02:14:48 -07:00
around a diagonal axis in the middle of its height, the other content is
shown as the other side of the flip.
@li #ELM_FLIP_CUBE_LEFT - Rotate the currently visible content to the left
2014-03-23 02:14:48 -07:00
as if the flip was a cube, the other content is show as the right face of
the cube.
@li #ELM_FLIP_CUBE_RIGHT - Rotate the currently visible content to the
2014-03-23 02:14:48 -07:00
right as if the flip was a cube, the other content is show as the left
face of the cube.
@li #ELM_FLIP_CUBE_UP - Rotate the currently visible content up as if the
2014-03-23 02:14:48 -07:00
flip was a cube, the other content is show as the bottom face of the cube.
@li #ELM_FLIP_CUBE_DOWN - Rotate the currently visible content down as if
2014-03-23 02:14:48 -07:00
the flip was a cube, the other content is show as the upper face of the
cube.
@li #ELM_FLIP_PAGE_LEFT - Move the currently visible content to the left as
2014-03-23 02:14:48 -07:00
if the flip was a book, the other content is shown as the page below that.
@li #ELM_FLIP_PAGE_RIGHT - Move the currently visible content to the right
2014-03-23 02:14:48 -07:00
as if the flip was a book, the other content is shown as the page below
that.
@li #ELM_FLIP_PAGE_UP - Move the currently visible content up as if the
2014-03-23 02:14:48 -07:00
flip was a book, the other content is shown as the page below that.
@li #ELM_FLIP_PAGE_DOWN - Move the currently visible content down as if the
2014-03-23 02:14:48 -07:00
flip was a book, the other content is shown as the page below that.
@image html elm_flip.png
@image latex elm_flip.eps width=\textwidth
@see elm_flip_go_to()
@ingroup Flip */
params {
@in mode: Elm.Flip.Mode; /*@ The mode type */
2014-03-23 02:14:48 -07:00
}
}
go_to {
/*@
@brief Runs the flip animation to front or back.
Flips the front and back contents using the $mode animation. This
2014-03-23 02:14:48 -07:00
effectively hides the currently visible content and shows the hidden one.
There a number of possible animations to use for the flipping:
@li #ELM_FLIP_ROTATE_X_CENTER_AXIS - Rotate the currently visible content
2014-03-23 02:14:48 -07:00
around a horizontal axis in the middle of its height, the other content
is shown as the other side of the flip.
@li #ELM_FLIP_ROTATE_Y_CENTER_AXIS - Rotate the currently visible content
2014-03-23 02:14:48 -07:00
around a vertical axis in the middle of its width, the other content is
shown as the other side of the flip.
@li #ELM_FLIP_ROTATE_XZ_CENTER_AXIS - Rotate the currently visible content
2014-03-23 02:14:48 -07:00
around a diagonal axis in the middle of its width, the other content is
shown as the other side of the flip.
@li #ELM_FLIP_ROTATE_YZ_CENTER_AXIS - Rotate the currently visible content
2014-03-23 02:14:48 -07:00
around a diagonal axis in the middle of its height, the other content is
shown as the other side of the flip.
@li #ELM_FLIP_CUBE_LEFT - Rotate the currently visible content to the left
2014-03-23 02:14:48 -07:00
as if the flip was a cube, the other content is show as the right face of
the cube.
@li #ELM_FLIP_CUBE_RIGHT - Rotate the currently visible content to the
2014-03-23 02:14:48 -07:00
right as if the flip was a cube, the other content is show as the left
face of the cube.
@li #ELM_FLIP_CUBE_UP - Rotate the currently visible content up as if the
2014-03-23 02:14:48 -07:00
flip was a cube, the other content is show as the bottom face of the cube.
@li #ELM_FLIP_CUBE_DOWN - Rotate the currently visible content down as if
2014-03-23 02:14:48 -07:00
the flip was a cube, the other content is show as the upper face of the
cube.
@li #ELM_FLIP_PAGE_LEFT - Move the currently visible content to the left as
2014-03-23 02:14:48 -07:00
if the flip was a book, the other content is shown as the page below that.
@li #ELM_FLIP_PAGE_RIGHT - Move the currently visible content to the right
2014-03-23 02:14:48 -07:00
as if the flip was a book, the other content is shown as the page below
that.
@li #ELM_FLIP_PAGE_UP - Move the currently visible content up as if the
2014-03-23 02:14:48 -07:00
flip was a book, the other content is shown as the page below that.
@li #ELM_FLIP_PAGE_DOWN - Move the currently visible content down as if the
2014-03-23 02:14:48 -07:00
flip was a book, the other content is shown as the page below that.
@image html elm_flip.png
@image latex elm_flip.eps width=\textwidth
@since 1.7
@ingroup Flip */
params {
@in front: bool; /*@ if $true, makes front visible, otherwise makes back. */
@in mode: Elm.Flip.Mode; /*@ The mode type */
2014-03-23 02:14:48 -07:00
}
}
}
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;
2014-03-23 02:14:48 -07:00
}
events {
animate,begin;
animate,done;
}
}