Enumerations

enum  Elm_Flip_Direction {
  ELM_FLIP_DIRECTION_UP,
  ELM_FLIP_DIRECTION_DOWN,
  ELM_FLIP_DIRECTION_LEFT,
  ELM_FLIP_DIRECTION_RIGHT
}

Functions

Evas_Object * elm_flip_add (Evas_Object *parent)
 Add a new flip to the parent.
Eina_Bool elm_flip_front_visible_get (const Evas_Object *obj)
 Get flip front visibility state.
void elm_flip_perspective_set (Evas_Object *obj, Evas_Coord foc, Evas_Coord x, Evas_Coord y)
 Set flip perspective.
void elm_flip_go (Evas_Object *obj, Elm_Flip_Mode mode)
 Runs the flip animation.
void elm_flip_go_to (Evas_Object *obj, Eina_Bool front, Elm_Flip_Mode mode)
 Runs the flip animation to front or back.
void elm_flip_interaction_set (Evas_Object *obj, Elm_Flip_Interaction mode)
 Set the interactive flip mode.
Elm_Flip_Interaction elm_flip_interaction_get (const Evas_Object *obj)
 Get the interactive flip mode.
void elm_flip_interaction_direction_enabled_set (Evas_Object *obj, Elm_Flip_Direction dir, Eina_Bool enabled)
 Set which directions of the flip respond to interactive flip.
Eina_Bool elm_flip_interaction_direction_enabled_get (Evas_Object *obj, Elm_Flip_Direction dir)
 Get the enabled state of that flip direction.
void elm_flip_interaction_direction_hitsize_set (Evas_Object *obj, Elm_Flip_Direction dir, double hitsize)
 Set the amount of the flip that is sensitive to interactive flip.
double elm_flip_interaction_direction_hitsize_get (Evas_Object *obj, Elm_Flip_Direction dir)
 Get the amount of the flip that is sensitive to interactive flip.

Detailed Description

flip_inheritance_tree.png
preview-00.png

This widget holds 2 content objects(Evas_Object): one on the front and one on the back. It allows you to flip from front to back and vice-versa using various animations.

If either the front or back contents are not set the flip will treat that as transparent. So if you wore to set the front content but not the back, and then call elm_flip_go() you would see whatever is below the flip.

For a list of supported animations see elm_flip_go().

Signals that you can add callbacks for are: "animate,begin" - when a flip animation was started "animate,done" - when a flip animation is finished

Default content parts of the flip widget that you can use for are:

  • "front" - A front content of the flip
  • "back" - A back content of the flip

This widget inherits from The Elementary Container Class, so that the functions meant to act on it will work for mapbuf objects:

Flip example show how to use most of the API.


Enumeration Type Documentation

Enumerator:
ELM_FLIP_DIRECTION_UP 

Allows interaction with the top of the widget.

ELM_FLIP_DIRECTION_DOWN 

Allows interaction with the bottom of the widget.

ELM_FLIP_DIRECTION_LEFT 

Allows interaction with the left portion of the widget.

ELM_FLIP_DIRECTION_RIGHT 

Allows interaction with the right portion of the widget.


Function Documentation

Evas_Object* elm_flip_add ( Evas_Object *  parent)

Add a new flip to the parent.

Parameters:
parentThe parent object
Returns:
The new object or NULL if it cannot be created
Eina_Bool elm_flip_front_visible_get ( const Evas_Object *  obj)

Get flip front visibility state.

Parameters:
objThe flip object
Returns:
EINA_TRUE if front front is showing, EINA_FALSE if the back is showing.
void elm_flip_go ( Evas_Object *  obj,
Elm_Flip_Mode  mode 
)

Runs the flip animation.

Parameters:
objThe flip object
modeThe mode type

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:

  • 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 shown 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 as 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.
  • 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.
elm_flip.png
See also:
elm_flip_go_to()
void elm_flip_go_to ( Evas_Object *  obj,
Eina_Bool  front,
Elm_Flip_Mode  mode 
)

Runs the flip animation to front or back.

Parameters:
objThe flip object
frontif EINA_TRUE, makes front visible, otherwise makes back.
modeThe mode type

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:

  • 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 shown 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 as 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.
  • 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.
elm_flip.png
Since:
1.7
Eina_Bool elm_flip_interaction_direction_enabled_get ( Evas_Object *  obj,
Elm_Flip_Direction  dir 
)

Get the enabled state of that flip direction.

Parameters:
objThe flip object
dirThe direction to check
Returns:
If that direction is enabled or not

Gets the enabled state set by elm_flip_interaction_direction_enabled_set()

See also:
elm_flip_interaction_set()

References ELM_FLIP_DIRECTION_DOWN, ELM_FLIP_DIRECTION_LEFT, ELM_FLIP_DIRECTION_RIGHT, and ELM_FLIP_DIRECTION_UP.

void elm_flip_interaction_direction_enabled_set ( Evas_Object *  obj,
Elm_Flip_Direction  dir,
Eina_Bool  enabled 
)

Set which directions of the flip respond to interactive flip.

Parameters:
objThe flip object
dirThe direction to change
enabledIf that direction is enabled or not

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.

See also:
elm_flip_interaction_set()

References ELM_FLIP_DIRECTION_DOWN, ELM_FLIP_DIRECTION_LEFT, ELM_FLIP_DIRECTION_RIGHT, and ELM_FLIP_DIRECTION_UP.

double elm_flip_interaction_direction_hitsize_get ( Evas_Object *  obj,
Elm_Flip_Direction  dir 
)

Get the amount of the flip that is sensitive to interactive flip.

Parameters:
objThe flip object
dirThe direction to check
Returns:
The size set for that direction

Returns the amount of sensitive area set by elm_flip_interaction_direction_hitsize_set().

References ELM_FLIP_DIRECTION_DOWN, ELM_FLIP_DIRECTION_LEFT, ELM_FLIP_DIRECTION_RIGHT, and ELM_FLIP_DIRECTION_UP.

void elm_flip_interaction_direction_hitsize_set ( Evas_Object *  obj,
Elm_Flip_Direction  dir,
double  hitsize 
)

Set the amount of the flip that is sensitive to interactive flip.

Parameters:
objThe flip object
dirThe direction to modify
hitsizeThe amount of that dimension (0.0 to 1.0) to use

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).

See also:
elm_flip_interaction_set()

References ELM_FLIP_DIRECTION_DOWN, ELM_FLIP_DIRECTION_LEFT, ELM_FLIP_DIRECTION_RIGHT, and ELM_FLIP_DIRECTION_UP.

Elm_Flip_Interaction elm_flip_interaction_get ( const Evas_Object *  obj)

Get the interactive flip mode.

Parameters:
objThe flip object
Returns:
The interactive flip mode

Returns the interactive flip mode set by elm_flip_interaction_set()

void elm_flip_interaction_set ( Evas_Object *  obj,
Elm_Flip_Interaction  mode 
)

Set the interactive flip mode.

Parameters:
objThe flip object
modeThe interactive flip mode to use

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:

  • ELM_FLIP_INTERACTION_NONE - No interaction is allowed
  • ELM_FLIP_INTERACTION_ROTATE - Interaction will cause rotate animation
  • ELM_FLIP_INTERACTION_CUBE - Interaction will cause cube animation
  • ELM_FLIP_INTERACTION_PAGE - Interaction will cause page animation
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 elm_flip_go();
void elm_flip_perspective_set ( Evas_Object *  obj,
Evas_Coord  foc,
Evas_Coord  x,
Evas_Coord  y 
)

Set flip perspective.

Parameters:
objThe flip object
focThe coordinate to set the focus on
xThe X coordinate
yThe Y coordinate
Warning:
This function currently does nothing.