forked from enlightenment/efl
parent
251f7fa2b2
commit
53cfa9d89b
|
@ -1204,6 +1204,55 @@
|
||||||
* @example flipselector_example.c
|
* @example flipselector_example.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @page tutorial_flip Flip example
|
||||||
|
* @dontinclude flip_example_01.c
|
||||||
|
*
|
||||||
|
* This example will show a flip with two rectangles on it(one blue, one
|
||||||
|
* green). Our example will allow the user to choose the animation the flip
|
||||||
|
* uses and to interact with it. To allow the user to choose the interaction
|
||||||
|
* mode we use radio buttons, we will however not explain them, if you would
|
||||||
|
* like to know more about radio buttons see @ref radio.
|
||||||
|
*
|
||||||
|
* We start our example with the usual setup and then create the 2 rectangles
|
||||||
|
* we will use in our flip:
|
||||||
|
* @until show(rect2)
|
||||||
|
*
|
||||||
|
* The next thing to do is to create our flip and set it's front and back
|
||||||
|
* content:
|
||||||
|
* @until show
|
||||||
|
*
|
||||||
|
* The next thing we do is set the interaction mode(which the user can later
|
||||||
|
* change) to the page animation:
|
||||||
|
* @until PAGE
|
||||||
|
*
|
||||||
|
* Setting a interaction mode however is not sufficient, we also need to
|
||||||
|
* choose which directions we allow interaction from, for this example we
|
||||||
|
* will use all of them:
|
||||||
|
* @until RIGHT
|
||||||
|
*
|
||||||
|
* We are also going to set the hitsize to the entire flip(in all directions)
|
||||||
|
* to make our flip very easy to interact with:
|
||||||
|
* @until RIGHT
|
||||||
|
*
|
||||||
|
* After that we create our radio buttons and start the main loop:
|
||||||
|
* @until ELM_MAIN()
|
||||||
|
*
|
||||||
|
* When the user clicks a radio button a function that changes the
|
||||||
|
* interaction mode and animates the flip is called:
|
||||||
|
* @until }
|
||||||
|
* @note The elm_flip_go() call here serves no purpose other than to
|
||||||
|
* ilustrate that it's possible to animate the flip programmatically.
|
||||||
|
*
|
||||||
|
* Our example will look like this:
|
||||||
|
* @image html screenshots/flip_example_01.png
|
||||||
|
* @image latex screenshots/flip_example_01.eps
|
||||||
|
* @note Since this is an animated example the screenshot doesn't do it
|
||||||
|
* justice, it is a good idea to compile it and see the animations.
|
||||||
|
*
|
||||||
|
* @example flip_example_01.c
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @page bg_example_01_c bg_example_01.c
|
* @page bg_example_01_c bg_example_01.c
|
||||||
* @include bg_example_01.c
|
* @include bg_example_01.c
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
After Width: | Height: | Size: 8.0 KiB |
|
@ -43,6 +43,7 @@ SRCS = \
|
||||||
bg_example_02.c \
|
bg_example_02.c \
|
||||||
bg_example_03.c \
|
bg_example_03.c \
|
||||||
box_example_02.c \
|
box_example_02.c \
|
||||||
|
flip_example_01.c \
|
||||||
general_funcs_example.c \
|
general_funcs_example.c \
|
||||||
label_example_01.c \
|
label_example_01.c \
|
||||||
theme_example_01.c \
|
theme_example_01.c \
|
||||||
|
@ -83,6 +84,7 @@ pkglib_PROGRAMS += \
|
||||||
bg_example_02 \
|
bg_example_02 \
|
||||||
bg_example_03 \
|
bg_example_03 \
|
||||||
box_example_02 \
|
box_example_02 \
|
||||||
|
flip_example_01 \
|
||||||
general_funcs_example \
|
general_funcs_example \
|
||||||
label_example_01 \
|
label_example_01 \
|
||||||
theme_example_01 \
|
theme_example_01 \
|
||||||
|
@ -105,6 +107,7 @@ SCREENSHOTS = \
|
||||||
animator_example_01:animator_example_01.png:0.2 \
|
animator_example_01:animator_example_01.png:0.2 \
|
||||||
animator_example_01:animator_example_02.png:0.5 \
|
animator_example_01:animator_example_02.png:0.5 \
|
||||||
animator_example_01:animator_example_03.png:0.9 \
|
animator_example_01:animator_example_03.png:0.9 \
|
||||||
|
flip_example_01:flip_example_01.png:0.0 \
|
||||||
frame_example_01:frame_example_01.png:0.0 \
|
frame_example_01:frame_example_01.png:0.0 \
|
||||||
label_example_01:label_example_01.png:0.0 \
|
label_example_01:label_example_01.png:0.0 \
|
||||||
theme_example_01:theme_example_01.png:0.0 \
|
theme_example_01:theme_example_01.png:0.0 \
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
//Compile with:
|
||||||
|
//gcc -g `pkg-config --cflags --libs elementary` flip_example_01.c -o flip_example_01
|
||||||
|
|
||||||
|
#include <Elementary.h>
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
# include "elementary_config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static void _change_interaction(void *data, Evas_Object *obj, void *event_info);
|
||||||
|
|
||||||
|
EAPI int
|
||||||
|
elm_main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
Evas_Object *win, *bg, *rect, *rect2, *flip, *radio, *radio2, *radio3;
|
||||||
|
|
||||||
|
win = elm_win_add(NULL, "flip", ELM_WIN_BASIC);
|
||||||
|
elm_win_title_set(win, "Flip");
|
||||||
|
elm_win_autodel_set(win, EINA_TRUE);
|
||||||
|
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
|
||||||
|
|
||||||
|
bg = elm_bg_add(win);
|
||||||
|
elm_win_resize_object_add(win, bg);
|
||||||
|
evas_object_show(bg);
|
||||||
|
|
||||||
|
rect = evas_object_rectangle_add(evas_object_evas_get(win));
|
||||||
|
evas_object_resize(rect, 150, 150);
|
||||||
|
evas_object_color_set(rect, 0, 0, 255, 255);
|
||||||
|
evas_object_show(rect);
|
||||||
|
|
||||||
|
rect2 = evas_object_rectangle_add(evas_object_evas_get(win));
|
||||||
|
evas_object_color_set(rect2, 0, 255, 0, 255);
|
||||||
|
evas_object_show(rect2);
|
||||||
|
|
||||||
|
flip = elm_flip_add(win);
|
||||||
|
elm_flip_content_front_set(flip, rect);
|
||||||
|
elm_flip_content_back_set(flip, rect2);
|
||||||
|
evas_object_resize(flip, 150, 150);
|
||||||
|
evas_object_move(flip, 10, 10);
|
||||||
|
evas_object_show(flip);
|
||||||
|
|
||||||
|
elm_flip_interaction_set(flip, ELM_FLIP_INTERACTION_PAGE);
|
||||||
|
elm_flip_interacton_direction_enabled_set(flip, ELM_FLIP_DIRECTION_UP, EINA_TRUE);
|
||||||
|
elm_flip_interacton_direction_enabled_set(flip, ELM_FLIP_DIRECTION_DOWN, EINA_TRUE);
|
||||||
|
elm_flip_interacton_direction_enabled_set(flip, ELM_FLIP_DIRECTION_LEFT, EINA_TRUE);
|
||||||
|
elm_flip_interacton_direction_enabled_set(flip, ELM_FLIP_DIRECTION_RIGHT, EINA_TRUE);
|
||||||
|
elm_flip_interacton_direction_hitsize_set(flip, ELM_FLIP_DIRECTION_UP, 1);
|
||||||
|
elm_flip_interacton_direction_hitsize_set(flip, ELM_FLIP_DIRECTION_DOWN, 1);
|
||||||
|
elm_flip_interacton_direction_hitsize_set(flip, ELM_FLIP_DIRECTION_LEFT, 1);
|
||||||
|
elm_flip_interacton_direction_hitsize_set(flip, ELM_FLIP_DIRECTION_RIGHT, 1);
|
||||||
|
|
||||||
|
radio = elm_radio_add(win);
|
||||||
|
elm_object_text_set(radio, "page");
|
||||||
|
elm_radio_value_set(radio, ELM_FLIP_INTERACTION_PAGE);
|
||||||
|
elm_radio_state_value_set(radio, ELM_FLIP_INTERACTION_PAGE);
|
||||||
|
evas_object_resize(radio, 55, 30);
|
||||||
|
evas_object_move(radio, 10, 160);
|
||||||
|
evas_object_show(radio);
|
||||||
|
evas_object_smart_callback_add(radio, "changed", _change_interaction, flip);
|
||||||
|
|
||||||
|
radio2 = elm_radio_add(win);
|
||||||
|
elm_object_text_set(radio2, "cube");
|
||||||
|
elm_radio_state_value_set(radio2, ELM_FLIP_INTERACTION_CUBE);
|
||||||
|
elm_radio_group_add(radio2, radio);
|
||||||
|
evas_object_resize(radio2, 55, 30);
|
||||||
|
evas_object_move(radio2, 75, 160);
|
||||||
|
evas_object_show(radio2);
|
||||||
|
evas_object_smart_callback_add(radio2, "changed", _change_interaction, flip);
|
||||||
|
|
||||||
|
radio3 = elm_radio_add(win);
|
||||||
|
elm_object_text_set(radio3, "rotate");
|
||||||
|
elm_radio_state_value_set(radio3, ELM_FLIP_INTERACTION_ROTATE);
|
||||||
|
elm_radio_group_add(radio3, radio);
|
||||||
|
evas_object_resize(radio3, 55, 30);
|
||||||
|
evas_object_move(radio3, 140, 160);
|
||||||
|
evas_object_show(radio3);
|
||||||
|
evas_object_smart_callback_add(radio3, "changed", _change_interaction, flip);
|
||||||
|
|
||||||
|
evas_object_resize(win, 200, 200);
|
||||||
|
evas_object_show(win);
|
||||||
|
|
||||||
|
elm_run();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
ELM_MAIN()
|
||||||
|
|
||||||
|
static void
|
||||||
|
_change_interaction(void *data, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
elm_flip_interaction_set(data, elm_radio_state_value_get(obj));
|
||||||
|
elm_flip_go(data, ELM_FLIP_ROTATE_XZ_CENTER_AXIS);
|
||||||
|
}
|
|
@ -5990,7 +5990,27 @@ extern "C" {
|
||||||
EAPI void elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
|
EAPI void elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
|
||||||
EAPI Eina_Bool elm_panes_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
EAPI Eina_Bool elm_panes_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
/* flip */
|
/**
|
||||||
|
* @defgroup Flip Flip
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @ref tutorial_flip show how to use most of the API.
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
typedef enum _Elm_Flip_Mode
|
typedef enum _Elm_Flip_Mode
|
||||||
{
|
{
|
||||||
ELM_FLIP_ROTATE_Y_CENTER_AXIS,
|
ELM_FLIP_ROTATE_Y_CENTER_AXIS,
|
||||||
|
@ -6015,31 +6035,226 @@ extern "C" {
|
||||||
} Elm_Flip_Interaction;
|
} Elm_Flip_Interaction;
|
||||||
typedef enum _Elm_Flip_Direction
|
typedef enum _Elm_Flip_Direction
|
||||||
{
|
{
|
||||||
ELM_FLIP_DIRECTION_UP,
|
ELM_FLIP_DIRECTION_UP, /**< Allows interaction with the top of the widget */
|
||||||
ELM_FLIP_DIRECTION_DOWN,
|
ELM_FLIP_DIRECTION_DOWN, /**< Allows interaction with the bottom of the widget */
|
||||||
ELM_FLIP_DIRECTION_LEFT,
|
ELM_FLIP_DIRECTION_LEFT, /**< Allows interaction with the left portion of the widget */
|
||||||
ELM_FLIP_DIRECTION_RIGHT
|
ELM_FLIP_DIRECTION_RIGHT /**< Allows interaction with the right portion of the widget */
|
||||||
} Elm_Flip_Direction;
|
} Elm_Flip_Direction;
|
||||||
|
/**
|
||||||
|
* @brief Add a new flip to the parent
|
||||||
|
*
|
||||||
|
* @param parent The parent object
|
||||||
|
* @return The new object or NULL if it cannot be created
|
||||||
|
*/
|
||||||
EAPI Evas_Object *elm_flip_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
|
EAPI Evas_Object *elm_flip_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
|
||||||
|
/**
|
||||||
|
* @brief Set the front content of the flip widget.
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @param content The new front content object
|
||||||
|
*
|
||||||
|
* Once the content object is set, a previously set one will be deleted.
|
||||||
|
* If you want to keep that old content object, use the
|
||||||
|
* elm_flip_content_front_unset() function.
|
||||||
|
*/
|
||||||
EAPI void elm_flip_content_front_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
|
EAPI void elm_flip_content_front_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
|
||||||
|
/**
|
||||||
|
* @brief Set the back content of the flip widget.
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @param content The new back content object
|
||||||
|
*
|
||||||
|
* Once the content object is set, a previously set one will be deleted.
|
||||||
|
* If you want to keep that old content object, use the
|
||||||
|
* elm_flip_content_back_unset() function.
|
||||||
|
*/
|
||||||
EAPI void elm_flip_content_back_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
|
EAPI void elm_flip_content_back_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
|
||||||
|
/**
|
||||||
|
* @brief Get the front content used for the flip
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @return The front content object that is being used
|
||||||
|
*
|
||||||
|
* Return the front content object which is set for this widget.
|
||||||
|
*/
|
||||||
EAPI Evas_Object *elm_flip_content_front_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
EAPI Evas_Object *elm_flip_content_front_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||||
|
/**
|
||||||
|
* @brief Get the back content used for the flip
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @return The back content object that is being used
|
||||||
|
*
|
||||||
|
* Return the back content object which is set for this widget.
|
||||||
|
*/
|
||||||
EAPI Evas_Object *elm_flip_content_back_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
EAPI Evas_Object *elm_flip_content_back_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||||
|
/**
|
||||||
|
* @brief Unset the front content used for the flip
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @return The front content object that was being used
|
||||||
|
*
|
||||||
|
* Unparent and return the front content object which was set for this widget.
|
||||||
|
*/
|
||||||
EAPI Evas_Object *elm_flip_content_front_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
|
EAPI Evas_Object *elm_flip_content_front_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||||
|
/**
|
||||||
|
* @brief Unset the back content used for the flip
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @return The back content object that was being used
|
||||||
|
*
|
||||||
|
* Unparent and return the back content object which was set for this widget.
|
||||||
|
*/
|
||||||
EAPI Evas_Object *elm_flip_content_back_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
|
EAPI Evas_Object *elm_flip_content_back_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||||
|
/**
|
||||||
|
* @brief Get flip front visibility state
|
||||||
|
*
|
||||||
|
* @param obj The flip objct
|
||||||
|
* @return EINA_TRUE if front front is showing, EINA_FALSE if the back is
|
||||||
|
* showing.
|
||||||
|
*/
|
||||||
EAPI Eina_Bool elm_flip_front_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
EAPI Eina_Bool elm_flip_front_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||||
|
/**
|
||||||
|
* @brief Set flip perspective
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @param foc The coordinate to set the focus on
|
||||||
|
* @param x The X coordinate
|
||||||
|
* @param y The Y coordinate
|
||||||
|
*
|
||||||
|
* @warning This function currently does nothing.
|
||||||
|
*/
|
||||||
EAPI void elm_flip_perspective_set(Evas_Object *obj, Evas_Coord foc, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
|
EAPI void elm_flip_perspective_set(Evas_Object *obj, Evas_Coord foc, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
|
||||||
|
/**
|
||||||
|
* @brief Runs the flip animation
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @param mode The mode type
|
||||||
|
*
|
||||||
|
* Flips the front and back contents using the @p mode animation. This
|
||||||
|
* efectively 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
|
||||||
|
* 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
|
||||||
|
* 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
|
||||||
|
* 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
|
||||||
|
* 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
|
||||||
|
* 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
|
||||||
|
* 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
|
||||||
|
* 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
|
||||||
|
* 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
|
||||||
|
* 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
|
||||||
|
* 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
|
||||||
|
* 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
|
||||||
|
* flip was a book, the other content is shown as the page below that.
|
||||||
|
*/
|
||||||
EAPI void elm_flip_go(Evas_Object *obj, Elm_Flip_Mode mode) EINA_ARG_NONNULL(1);
|
EAPI void elm_flip_go(Evas_Object *obj, Elm_Flip_Mode mode) EINA_ARG_NONNULL(1);
|
||||||
|
/**
|
||||||
|
* @brief Set the interactive flip mode
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @param mode The 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_interacton_direction_enabled_set()
|
||||||
|
* and elm_flip_interacton_direction_hitsize_set()
|
||||||
|
*
|
||||||
|
* The four avilable 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
|
||||||
|
*
|
||||||
|
* @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 acheived with elm_flip_go();
|
||||||
|
*/
|
||||||
EAPI void elm_flip_interaction_set(Evas_Object *obj, Elm_Flip_Interaction mode);
|
EAPI void elm_flip_interaction_set(Evas_Object *obj, Elm_Flip_Interaction mode);
|
||||||
|
/**
|
||||||
|
* @brief Get the interactive flip mode
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @return The interactive flip mode
|
||||||
|
*
|
||||||
|
* Returns the interactive flip mode set by elm_flip_interaction_set()
|
||||||
|
*/
|
||||||
EAPI Elm_Flip_Interaction elm_flip_interaction_get(const Evas_Object *obj);
|
EAPI Elm_Flip_Interaction elm_flip_interaction_get(const Evas_Object *obj);
|
||||||
|
/**
|
||||||
|
* @brief Set which directions of the flip respond to interactive flip
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @param dir The direction to change
|
||||||
|
* @param enabled If 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 elm_flip_interaction_set()
|
||||||
|
*/
|
||||||
EAPI void elm_flip_interacton_direction_enabled_set(Evas_Object *obj, Elm_Flip_Direction dir, Eina_Bool enabled);
|
EAPI void elm_flip_interacton_direction_enabled_set(Evas_Object *obj, Elm_Flip_Direction dir, Eina_Bool enabled);
|
||||||
|
/**
|
||||||
|
* @brief Get the enabled state of that flip direction
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @param dir The direction to check
|
||||||
|
* @return If that direction is enabled or not
|
||||||
|
*
|
||||||
|
* Gets the enabled state set by elm_flip_interacton_direction_enabled_set()
|
||||||
|
*
|
||||||
|
* @see elm_flip_interaction_set()
|
||||||
|
*/
|
||||||
EAPI Eina_Bool elm_flip_interacton_direction_enabled_get(Evas_Object *obj, Elm_Flip_Direction dir);
|
EAPI Eina_Bool elm_flip_interacton_direction_enabled_get(Evas_Object *obj, Elm_Flip_Direction dir);
|
||||||
|
/**
|
||||||
|
* @brief Set the amount of the flip that is sensitive to interactive flip
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @param dir The direction to modify
|
||||||
|
* @param hitsize The 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 elm_flip_interaction_set()
|
||||||
|
*/
|
||||||
EAPI void elm_flip_interacton_direction_hitsize_set(Evas_Object *obj, Elm_Flip_Direction dir, double hitsize);
|
EAPI void elm_flip_interacton_direction_hitsize_set(Evas_Object *obj, Elm_Flip_Direction dir, double hitsize);
|
||||||
|
/**
|
||||||
|
* @brief Get the amount of the flip that is sensitive to interactive flip
|
||||||
|
*
|
||||||
|
* @param obj The flip object
|
||||||
|
* @param dir The direction to check
|
||||||
|
* @return The size set for that direction
|
||||||
|
*
|
||||||
|
* Returns the amount os sensitive area set by
|
||||||
|
* elm_flip_interacton_direction_hitsize_set().
|
||||||
|
*/
|
||||||
EAPI double elm_flip_interacton_direction_hitsize_get(Evas_Object *obj, Elm_Flip_Direction dir);
|
EAPI double elm_flip_interacton_direction_hitsize_get(Evas_Object *obj, Elm_Flip_Direction dir);
|
||||||
/* smart callbacks called:
|
/**
|
||||||
* "animate,begin" - when a flip animation was started
|
* @}
|
||||||
* "animate,done" - when a flip animation is finished
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* scrolledentry */
|
/* scrolledentry */
|
||||||
|
|
|
@ -1,31 +1,6 @@
|
||||||
#include <Elementary.h>
|
#include <Elementary.h>
|
||||||
#include "elm_priv.h"
|
#include "elm_priv.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* @defgroup Flip Flip
|
|
||||||
*
|
|
||||||
* This holds 2 content objects: one on the front and one on the back. It
|
|
||||||
* allows you to flip from front to back and vice-versa using various effects.
|
|
||||||
*
|
|
||||||
* Supported flip types:
|
|
||||||
* ELM_FLIP_ROTATE_Y_CENTER_AXIS
|
|
||||||
* ELM_FLIP_ROTATE_X_CENTER_AXIS
|
|
||||||
* ELM_FLIP_ROTATE_XZ_CENTER_AXIS
|
|
||||||
* ELM_FLIP_ROTATE_YZ_CENTER_AXIS
|
|
||||||
* ELM_FLIP_CUBE_LEFT
|
|
||||||
* ELM_FLIP_CUBE_RIGHT
|
|
||||||
* ELM_FLIP_CUBE_UP
|
|
||||||
* ELM_FLIP_CUBE_DOWN
|
|
||||||
* ELM_FLIP_PAGE_LEFT
|
|
||||||
* ELM_FLIP_PAGE_RIGHT
|
|
||||||
* ELM_FLIP_PAGE_UP
|
|
||||||
* ELM_FLIP_PAGE_DOWN
|
|
||||||
*
|
|
||||||
* Signals that you can add callbacks for are:
|
|
||||||
*
|
|
||||||
* "animate,done" - when a flip animation is finished
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef struct _Widget_Data Widget_Data;
|
typedef struct _Widget_Data Widget_Data;
|
||||||
typedef struct _Slice Slice;
|
typedef struct _Slice Slice;
|
||||||
typedef struct _Vertex2 Vertex2;
|
typedef struct _Vertex2 Vertex2;
|
||||||
|
@ -1598,14 +1573,6 @@ _move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *even
|
||||||
wd->job = ecore_job_add(_update_job, wd);
|
wd->job = ecore_job_add(_update_job, wd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Add a new flip to the parent
|
|
||||||
*
|
|
||||||
* @param parent The parent object
|
|
||||||
* @return The new object or NULL if it cannot be created
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI Evas_Object *
|
EAPI Evas_Object *
|
||||||
elm_flip_add(Evas_Object *parent)
|
elm_flip_add(Evas_Object *parent)
|
||||||
{
|
{
|
||||||
|
@ -1669,18 +1636,6 @@ elm_flip_add(Evas_Object *parent)
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the front content of the flip widget.
|
|
||||||
*
|
|
||||||
* Once the content object is set, a previously set one will be deleted.
|
|
||||||
* If you want to keep that old content object, use the
|
|
||||||
* elm_flip_content_front_unset() function.
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @param content The new front content object
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_flip_content_front_set(Evas_Object *obj, Evas_Object *content)
|
elm_flip_content_front_set(Evas_Object *obj, Evas_Object *content)
|
||||||
{
|
{
|
||||||
|
@ -1711,18 +1666,6 @@ elm_flip_content_front_set(Evas_Object *obj, Evas_Object *content)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the back content of the flip widget.
|
|
||||||
*
|
|
||||||
* Once the content object is set, a previously set one will be deleted.
|
|
||||||
* If you want to keep that old content object, use the
|
|
||||||
* elm_flip_content_back_unset() function.
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @param content The new back content object
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_flip_content_back_set(Evas_Object *obj, Evas_Object *content)
|
elm_flip_content_back_set(Evas_Object *obj, Evas_Object *content)
|
||||||
{
|
{
|
||||||
|
@ -1753,16 +1696,6 @@ elm_flip_content_back_set(Evas_Object *obj, Evas_Object *content)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the front content used for the flip
|
|
||||||
*
|
|
||||||
* Return the front content object which is set for this widget.
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @return The front content object that is being used
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI Evas_Object *
|
EAPI Evas_Object *
|
||||||
elm_flip_content_front_get(const Evas_Object *obj)
|
elm_flip_content_front_get(const Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
@ -1772,16 +1705,6 @@ elm_flip_content_front_get(const Evas_Object *obj)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the back content used for the flip
|
|
||||||
*
|
|
||||||
* Return the back content object which is set for this widget.
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @return The back content object that is being used
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI Evas_Object *
|
EAPI Evas_Object *
|
||||||
elm_flip_content_back_get(const Evas_Object *obj)
|
elm_flip_content_back_get(const Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
@ -1790,16 +1713,6 @@ elm_flip_content_back_get(const Evas_Object *obj)
|
||||||
return wd->back.content;
|
return wd->back.content;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Unset the front content used for the flip
|
|
||||||
*
|
|
||||||
* Unparent and return the front content object which was set for this widget.
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @return The front content object that was being used
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI Evas_Object *
|
EAPI Evas_Object *
|
||||||
elm_flip_content_front_unset(Evas_Object *obj)
|
elm_flip_content_front_unset(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
@ -1815,16 +1728,6 @@ elm_flip_content_front_unset(Evas_Object *obj)
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Unset the back content used for the flip
|
|
||||||
*
|
|
||||||
* Unparent and return the back content object which was set for this widget.
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @return The back content object that was being used
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI Evas_Object *
|
EAPI Evas_Object *
|
||||||
elm_flip_content_back_unset(Evas_Object *obj)
|
elm_flip_content_back_unset(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
@ -1840,14 +1743,6 @@ elm_flip_content_back_unset(Evas_Object *obj)
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get flip front visibility state
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @return If front front is showing or not currently
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
elm_flip_front_get(const Evas_Object *obj)
|
elm_flip_front_get(const Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
@ -1857,18 +1752,6 @@ elm_flip_front_get(const Evas_Object *obj)
|
||||||
return wd->state;
|
return wd->state;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Set flip perspective
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @param foc The coordinate to set the focus on
|
|
||||||
* @param x The X coordinate
|
|
||||||
* @param y The Y coordinate
|
|
||||||
*
|
|
||||||
* NOTE: This function currently does nothing.
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_flip_perspective_set(Evas_Object *obj, Evas_Coord foc __UNUSED__, Evas_Coord x __UNUSED__, Evas_Coord y __UNUSED__)
|
elm_flip_perspective_set(Evas_Object *obj, Evas_Coord foc __UNUSED__, Evas_Coord x __UNUSED__, Evas_Coord y __UNUSED__)
|
||||||
{
|
{
|
||||||
|
@ -1879,14 +1762,6 @@ elm_flip_perspective_set(Evas_Object *obj, Evas_Coord foc __UNUSED__, Evas_Coord
|
||||||
|
|
||||||
// FIXME: add ambient and lighting control
|
// FIXME: add ambient and lighting control
|
||||||
|
|
||||||
/**
|
|
||||||
* Runs the flip animation
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @param mode The mode type
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_flip_go(Evas_Object *obj, Elm_Flip_Mode mode)
|
elm_flip_go(Evas_Object *obj, Elm_Flip_Mode mode)
|
||||||
{
|
{
|
||||||
|
@ -1917,21 +1792,6 @@ elm_flip_go(Evas_Object *obj, Elm_Flip_Mode mode)
|
||||||
evas_object_smart_callback_call(obj, SIG_ANIMATE_BEGIN, NULL);
|
evas_object_smart_callback_call(obj, SIG_ANIMATE_BEGIN, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the interactive flip mode
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @param mode The 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_interacton_direction_enabled_set()
|
|
||||||
* and elm_flip_interacton_direction_hitsize_set()
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_flip_interaction_set(Evas_Object *obj, Elm_Flip_Interaction mode)
|
elm_flip_interaction_set(Evas_Object *obj, Elm_Flip_Interaction mode)
|
||||||
{
|
{
|
||||||
|
@ -1971,16 +1831,6 @@ elm_flip_interaction_set(Evas_Object *obj, Elm_Flip_Interaction mode)
|
||||||
_configure(obj);
|
_configure(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the interactive flip mode
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @return The interactive flip mode
|
|
||||||
*
|
|
||||||
* Returns the interactive flip mode set by elm_flip_interaction_set()
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI Elm_Flip_Interaction
|
EAPI Elm_Flip_Interaction
|
||||||
elm_flip_interaction_get(const Evas_Object *obj)
|
elm_flip_interaction_get(const Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
@ -1990,18 +1840,6 @@ elm_flip_interaction_get(const Evas_Object *obj)
|
||||||
return wd->intmode;
|
return wd->intmode;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Set which directions of the flip respond to interactive flip
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @param dir The direction to change
|
|
||||||
* @param enabled If 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.
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_flip_interacton_direction_enabled_set(Evas_Object *obj, Elm_Flip_Direction dir, Eina_Bool enabled)
|
elm_flip_interacton_direction_enabled_set(Evas_Object *obj, Elm_Flip_Direction dir, Eina_Bool enabled)
|
||||||
{
|
{
|
||||||
|
@ -2039,17 +1877,6 @@ elm_flip_interacton_direction_enabled_set(Evas_Object *obj, Elm_Flip_Direction d
|
||||||
_configure(obj);
|
_configure(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the enabled state of that flip direction
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @param dir The direction to check
|
|
||||||
* @return If that direction is enabled or not
|
|
||||||
*
|
|
||||||
* Gets the enabled state set by elm_flip_interacton_direction_enabled_set()
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
elm_flip_interacton_direction_enabled_get(Evas_Object *obj, Elm_Flip_Direction dir)
|
elm_flip_interacton_direction_enabled_get(Evas_Object *obj, Elm_Flip_Direction dir)
|
||||||
{
|
{
|
||||||
|
@ -2065,15 +1892,6 @@ elm_flip_interacton_direction_enabled_get(Evas_Object *obj, Elm_Flip_Direction d
|
||||||
return wd->dir_enabled[i];
|
return wd->dir_enabled[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the amount of the flip that is sensitive to interactive flip
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @param dir The direction to modify
|
|
||||||
* @param hitsize The amount of that dimension (0.0 to 1.0) to use
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_flip_interacton_direction_hitsize_set(Evas_Object *obj, Elm_Flip_Direction dir, double hitsize)
|
elm_flip_interacton_direction_hitsize_set(Evas_Object *obj, Elm_Flip_Direction dir, double hitsize)
|
||||||
{
|
{
|
||||||
|
@ -2094,17 +1912,6 @@ elm_flip_interacton_direction_hitsize_set(Evas_Object *obj, Elm_Flip_Direction d
|
||||||
_configure(obj);
|
_configure(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the amount of the flip that is sensitive to interactive flip
|
|
||||||
*
|
|
||||||
* @param obj The flip object
|
|
||||||
* @param dir The direction to check
|
|
||||||
* @return The size set for that direction
|
|
||||||
*
|
|
||||||
* Returns the amount os sensitive area set by elm_flip_interacton_direction_hitsize_set().
|
|
||||||
*
|
|
||||||
* @ingroup Flip
|
|
||||||
*/
|
|
||||||
EAPI double
|
EAPI double
|
||||||
elm_flip_interacton_direction_hitsize_get(Evas_Object *obj, Elm_Flip_Direction dir)
|
elm_flip_interacton_direction_hitsize_get(Evas_Object *obj, Elm_Flip_Direction dir)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue