forked from enlightenment/efl
parent
9d2fb4b4b5
commit
7908a77ad8
|
@ -11,22 +11,22 @@
|
|||
*
|
||||
* The selection can be toggle by just clicking on the day.
|
||||
*
|
||||
* Dayselector also provides the functionality to check whether a day is
|
||||
* Dayselector also provides the functionality to check whether a day is
|
||||
* selected or not.
|
||||
*
|
||||
* First day of the week is taken from config settings by default. It can be
|
||||
* First day of the week is taken from config settings by default. It can be
|
||||
* altered by using the API elm_dayselector_week_start_set() API.
|
||||
*
|
||||
* APIs are provided for setting the duration of weekend
|
||||
* APIs are provided for setting the duration of weekend
|
||||
* elm_dayselector_weekend_start_set() and elm_dayselector_weekend_length_set()
|
||||
* does this job.
|
||||
*
|
||||
* Two styles of weekdays and weekends are supported in Dayselector.
|
||||
* Application can emit signals on individual check objects for setting the
|
||||
* Application can emit signals on individual check objects for setting the
|
||||
* weekday, weekend styles.
|
||||
*
|
||||
* Once the weekend start day or weekend length changes, all the weekday &
|
||||
* weekend styles will be reset to default style. It's the application's
|
||||
* Once the weekend start day or weekend length changes, all the weekday &
|
||||
* weekend styles will be reset to default style. It's the application's
|
||||
* responsibility to set the styles again by sending corresponding signals.
|
||||
*
|
||||
* Supported elm_object_item common APIs.
|
||||
|
|
|
@ -1195,8 +1195,8 @@ _view_init(Evas_Object *obj)
|
|||
if (size_str) button_min_height = (Evas_Coord)atoi(size_str);
|
||||
|
||||
wd->end_type = MULTIBUTTONENTRY_CLOSED_IMAGE;
|
||||
evas_object_size_hint_min_set(wd->end,
|
||||
button_min_width * _elm_config->scale,
|
||||
evas_object_size_hint_min_set(wd->end,
|
||||
button_min_width * _elm_config->scale,
|
||||
button_min_height * _elm_config->scale);
|
||||
elm_widget_sub_object_add(obj, wd->end);
|
||||
}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
/**
|
||||
* @defgroup Multibuttonentry Multibuttonentry
|
||||
*
|
||||
* A Multibuttonentry is a widget to allow a user enter text and manage it as a number
|
||||
* of buttons. Each text button is inserted by pressing the "return" key.
|
||||
* If there is no space in the current row, a new button is added to the next row.
|
||||
* A Multibuttonentry is a widget to allow a user enter text and manage it as a number
|
||||
* of buttons. Each text button is inserted by pressing the "return" key.
|
||||
* If there is no space in the current row, a new button is added to the next row.
|
||||
* When a text button is pressed, it will become focused.
|
||||
* Backspace removes the focus.
|
||||
* When the Multibuttonentry loses focus items longer than one line are shrunk
|
||||
* When the Multibuttonentry loses focus items longer than one line are shrunk
|
||||
* to one line.
|
||||
*
|
||||
* Typical use case of multibuttonentry is, composing emails/messages to a group
|
||||
|
@ -54,7 +54,7 @@
|
|||
*
|
||||
* @param obj The parent object
|
||||
* @param item_label The label corresponding to the added item.
|
||||
* @param item_data data specific to this item.
|
||||
* @param item_data data specific to this item.
|
||||
* @param data data specific to the multibuttonentry.
|
||||
*
|
||||
* @return EINA_TRUE
|
||||
|
@ -105,7 +105,7 @@ EAPI Eina_Bool elm_multibuttonentry_expanded_get(const Evas_Obj
|
|||
*
|
||||
* @param obj The multibuttonentry object
|
||||
* @param expanded the value of expanded state.
|
||||
* Set this to EINA_TRUE for expanded state.
|
||||
* Set this to EINA_TRUE for expanded state.
|
||||
* Set this to EINA_FALSE for single line state.
|
||||
*
|
||||
* @ingroup Multibuttonentry
|
||||
|
|
|
@ -1000,7 +1000,7 @@ _item_style_set(Elm_Naviframe_Item *navi_it, const char *item_style)
|
|||
if (navi_it->title_next_btn)
|
||||
elm_object_signal_emit(VIEW(navi_it), "elm,state,next_btn,show", "elm");
|
||||
|
||||
// why does this forcibly enable title? isnt that separate to style?
|
||||
// why does this forcibly enable title? isnt that separate to style?
|
||||
// navi_it->title_visible = EINA_TRUE;
|
||||
_sizing_eval(WIDGET(navi_it));
|
||||
|
||||
|
|
|
@ -14,14 +14,14 @@
|
|||
* Since each item could keep the different styles, users could keep the
|
||||
* same look & feel for the pages or different styles for the items in it's
|
||||
* application.
|
||||
*
|
||||
*
|
||||
* Default content parts of the naviframe that you can use content hooks for
|
||||
* are:
|
||||
* @li "default" - The main content of the current page
|
||||
* @li "icon" - An icon in the title area of the current page
|
||||
* @li "prev_btn" - A button of the current page to go to the previous page
|
||||
* @li "next_btn" - A button of the current page to go to the next page
|
||||
*
|
||||
*
|
||||
* Default text parts of the naviframe that you can use for are:
|
||||
* @li "default" - Title label in the title area of the current page
|
||||
* @li "subtitle" - Sub-title label in the title area of the current page
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
* Supported elm_object common APIs.
|
||||
* @li elm_object_part_text_set
|
||||
* @li elm_object_part_text_get
|
||||
*
|
||||
*
|
||||
* See an example of actionslider usage @ref actionslider_example_page "here"
|
||||
* @{
|
||||
*/
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
* @author Hyunsil Park <hyunsil.park@samsung.com>
|
||||
* @author Goun Lee <gouni.lee@samsung.com>
|
||||
* @author Mikael Sans <sans.mikael@gmail.com>
|
||||
*
|
||||
*
|
||||
* Please contact <enlightenment-devel@lists.sourceforge.net> to get in
|
||||
* contact with the developers and maintainers.
|
||||
*/
|
||||
|
|
|
@ -8,9 +8,10 @@ struct _Widget_Data
|
|||
Evas_Object *base, *rect, *img, *overlay;
|
||||
const char *file, *group;
|
||||
Elm_Bg_Option option;
|
||||
struct {
|
||||
Evas_Coord w, h;
|
||||
} load_opts;
|
||||
struct
|
||||
{
|
||||
Evas_Coord w, h;
|
||||
} load_opts;
|
||||
};
|
||||
|
||||
static const char *widtype = NULL;
|
||||
|
|
|
@ -30,7 +30,7 @@ static const Evas_Smart_Cb_Description _signals[] =
|
|||
{NULL, NULL}
|
||||
};
|
||||
|
||||
static const char *corner_string[] =
|
||||
static const char *corner_string[] =
|
||||
{
|
||||
"top_left",
|
||||
"top_right",
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
/**
|
||||
* Defines the corner values for a bubble.
|
||||
*
|
||||
* The corner will be used to determine where the arrow of the
|
||||
* The corner will be used to determine where the arrow of the
|
||||
* bubble points to.
|
||||
*/
|
||||
typedef enum
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
* continuous look across its options.
|
||||
* @li hoversel_vertical_entry: Another internal for @ref Hoversel.
|
||||
* @li naviframe: Internally used by @ref Naviframe for its back button.
|
||||
* @li colorselector: Internally used by @ref Colorselector
|
||||
* @li colorselector: Internally used by @ref Colorselector
|
||||
* for its left and right buttons.
|
||||
*
|
||||
* Default content parts of the button widget that you can use for are:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* This is a Calendar widget. Calender widget helps applications to flexibly
|
||||
* display a calender with day of the week, day, year and month. Applications will be
|
||||
* able to choose a specific date that will be reported in the smart_callbacks for
|
||||
* the calendar widget. The APIs of calendar widget let the applications perform
|
||||
* the calendar widget. The APIs of calendar widget let the applications perform
|
||||
* other functions like,
|
||||
* placing marks on specific dates
|
||||
* Setting the bounds for the calendar (minimum and maximum years)
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
* @li elm_object_signal_callback_del
|
||||
*
|
||||
* @ref tutorial_check should give you a firm grasp of how to use this widget.
|
||||
*
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ EAPI void elm_colorselector_color_get(const Evas_Object *obj, int *r, int *g, in
|
|||
*
|
||||
* @param obj Colorselector object
|
||||
* @param mode Elm_Colorselector_Mode
|
||||
*
|
||||
*
|
||||
* Colorselector supports three modes palette only, selector only and both.
|
||||
*
|
||||
* @ingroup Colorselector
|
||||
|
@ -106,7 +106,7 @@ EAPI void elm_colorselector_mode_set(Evas_Object *obj, Elm_Colorselector_Mode mo
|
|||
*
|
||||
* @param obj Colorselector object
|
||||
* @return mode The current mode of colorselector
|
||||
*
|
||||
*
|
||||
* @ingroup Colorselector
|
||||
*/
|
||||
EAPI Elm_Colorselector_Mode elm_colorselector_mode_get(const Evas_Object *obj);
|
||||
|
@ -119,7 +119,7 @@ EAPI Elm_Colorselector_Mode elm_colorselector_mode_get(const Evas_Object *obj);
|
|||
* @param g integer pointer for g-value of color
|
||||
* @param b integer pointer for b-value of color
|
||||
* @param a integer pointer for a-value of color
|
||||
*
|
||||
*
|
||||
* @ingroup Colorselector
|
||||
*/
|
||||
EAPI void elm_colorselector_palette_item_color_get(const Elm_Object_Item *it, int *r, int *g, int *b, int *a);
|
||||
|
@ -180,7 +180,7 @@ EAPI void elm_colorselector_palette_name_set(Evas_Object *obj, const char *palet
|
|||
* @param obj The Colorselector object
|
||||
* @return Name of palette
|
||||
*
|
||||
* Returns the currently set palette name using which colors will be
|
||||
* Returns the currently set palette name using which colors will be
|
||||
* saved/loaded in to config.
|
||||
*
|
||||
* @ingroup Colorselector
|
||||
|
|
|
@ -1763,7 +1763,7 @@ elm_config_cache_font_cache_size_get(void)
|
|||
return _elm_config->font_cache;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
EAPI void
|
||||
elm_config_cache_font_cache_size_set(int size)
|
||||
{
|
||||
if (_elm_config->font_cache == size) return;
|
||||
|
|
|
@ -43,7 +43,7 @@ EAPI void elm_config_reload(void);
|
|||
/**
|
||||
* Flush all config settings then apply those settings to all applications
|
||||
* using elementary on the current display.
|
||||
*
|
||||
*
|
||||
* @ingroup Config
|
||||
*/
|
||||
EAPI void elm_config_all_flush(void);
|
||||
|
@ -428,7 +428,7 @@ EAPI double elm_config_tooltip_delay_get(void);
|
|||
/**
|
||||
* Set the duration after which tooltip will be shown.
|
||||
*
|
||||
* @return EINA_TRUE if value is set.
|
||||
* @return EINA_TRUE if value is set.
|
||||
*/
|
||||
EAPI void elm_config_tooltip_delay_set(double delay);
|
||||
|
||||
|
@ -494,7 +494,7 @@ EAPI void elm_config_scale_set(double scale);
|
|||
* This gets the "show last" setting of password mode which might be
|
||||
* enabled or disabled.
|
||||
*
|
||||
* @return @c EINA_TRUE, if the "show last" setting is enabled,
|
||||
* @return @c EINA_TRUE, if the "show last" setting is enabled,
|
||||
* @c EINA_FALSE if it's disabled.
|
||||
*
|
||||
* @ingroup Password_last_show
|
||||
|
@ -880,7 +880,7 @@ EAPI Eina_Bool elm_config_focus_highlight_enabled_get(void);
|
|||
* Set the enable status of the focus highlight
|
||||
*
|
||||
* @param enable Enable highlight if EINA_TRUE, disable otherwise
|
||||
*
|
||||
*
|
||||
* Set whether to show or not the highlight on focused objects
|
||||
*
|
||||
* Note that it will take effect only to Elementary windows created after
|
||||
|
@ -896,10 +896,10 @@ EAPI void elm_config_focus_highlight_enabled_set(Eina_Bool enabl
|
|||
* Get the enable status of the highlight animation
|
||||
*
|
||||
* @return The focus highlight mode set
|
||||
*
|
||||
*
|
||||
* Get whether the focus highlight, if enabled, will animate its switch from
|
||||
* one object to the next
|
||||
*
|
||||
*
|
||||
* @ingroup Focus
|
||||
*/
|
||||
EAPI Eina_Bool elm_config_focus_highlight_animate_get(void);
|
||||
|
@ -908,10 +908,10 @@ EAPI Eina_Bool elm_config_focus_highlight_animate_get(void);
|
|||
* Set the enable status of the highlight animation
|
||||
*
|
||||
* @param animate Enable animation if EINA_TRUE, disable otherwise
|
||||
*
|
||||
*
|
||||
* Set whether the focus highlight, if enabled, will animate its switch from
|
||||
* one object to the next
|
||||
*
|
||||
*
|
||||
* Note that it will take effect only to Elementary windows created after
|
||||
* this is called.
|
||||
*
|
||||
|
|
|
@ -53,11 +53,12 @@ struct _Widget_Data
|
|||
Elm_Input_Panel_Return_Key_Type input_panel_return_key_type;
|
||||
void *input_panel_imdata;
|
||||
int input_panel_imdata_len;
|
||||
struct {
|
||||
struct
|
||||
{
|
||||
Evas_Object *hover_parent;
|
||||
Evas_Object *pop, *hover;
|
||||
const char *hover_style;
|
||||
} anchor_hover;
|
||||
} anchor_hover;
|
||||
Eina_Bool changed : 1;
|
||||
Eina_Bool single_line : 1;
|
||||
Eina_Bool password : 1;
|
||||
|
@ -1180,7 +1181,7 @@ _remove_item_tags(const char *str)
|
|||
while (EINA_TRUE)
|
||||
{
|
||||
const char *temp = eina_strbuf_string_get(buf);
|
||||
|
||||
|
||||
char *startTag = NULL;
|
||||
char *endTag = NULL;
|
||||
|
||||
|
@ -1209,7 +1210,7 @@ _elm_entry_entry_paste(Evas_Object *obj, const char *entry)
|
|||
{
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
char *str = NULL;
|
||||
|
||||
|
||||
if (wd->cnp_mode == ELM_CNP_MODE_NO_IMAGE)
|
||||
{
|
||||
str = _remove_item_tags(entry);
|
||||
|
|
|
@ -244,7 +244,7 @@
|
|||
* @typedef Elm_Text_Format
|
||||
*
|
||||
* Text Format types.
|
||||
*
|
||||
*
|
||||
* @see elm_entry_file_set()
|
||||
*/
|
||||
typedef enum
|
||||
|
@ -258,7 +258,7 @@ typedef enum
|
|||
* @typedef Elm_Wrap_Type
|
||||
*
|
||||
* Line wrapping types.
|
||||
*
|
||||
*
|
||||
* @see elm_entry_line_wrap_set()
|
||||
*/
|
||||
typedef enum
|
||||
|
@ -275,7 +275,7 @@ typedef enum
|
|||
* @typedef Elm_Input_Panel_Layout
|
||||
*
|
||||
* Input panel (virtual keyboard) layout types.
|
||||
*
|
||||
*
|
||||
* @see elm_entry_input_panel_layout_set()
|
||||
*/
|
||||
typedef enum
|
||||
|
@ -299,7 +299,7 @@ typedef enum
|
|||
* @typedef Elm_Input_Panel_Lang
|
||||
*
|
||||
* Input panel (virtual keyboard) language modes.
|
||||
*
|
||||
*
|
||||
* @see elm_entry_input_panel_language_set()
|
||||
*/
|
||||
typedef enum
|
||||
|
@ -313,7 +313,7 @@ typedef enum
|
|||
* @typedef Elm_Autocapital_Type
|
||||
*
|
||||
* Autocapitalization Types.
|
||||
*
|
||||
*
|
||||
* @see elm_entry_autocapital_type_set()
|
||||
*/
|
||||
typedef enum
|
||||
|
@ -329,7 +329,7 @@ typedef enum
|
|||
* @typedef Elm_Input_Panel_Return_Key_Type
|
||||
*
|
||||
* "Return" Key types on the input panel (virtual keyboard).
|
||||
*
|
||||
*
|
||||
* @see elm_entry_input_panel_return_key_type_set()
|
||||
*/
|
||||
typedef enum
|
||||
|
@ -972,7 +972,7 @@ EAPI void elm_entry_item_provider_remove(Evas_Object *obj, Elm_Ent
|
|||
* Append the given callback to the list. This functions will be called
|
||||
* whenever any text is inserted into the entry, with the text to be inserted
|
||||
* as a parameter. The type of given text is always markup.
|
||||
* The callback function is free to alter the text in any way it wants, but
|
||||
* The callback function is free to alter the text in any way it wants, but
|
||||
* it must remember to free the given pointer and update it.
|
||||
* If the new text is to be discarded, the function can free it and set its
|
||||
* text parameter to NULL. This will also prevent any following filters from
|
||||
|
@ -1235,7 +1235,7 @@ EAPI void elm_entry_input_panel_hide(Evas_Object *obj);
|
|||
/**
|
||||
* Set the language mode of the input panel.
|
||||
*
|
||||
* This API can be used if you want to show the alphabet keyboard mode.
|
||||
* This API can be used if you want to show the alphabet keyboard mode.
|
||||
*
|
||||
* @param obj The entry object
|
||||
* @param lang language to be set to the input panel.
|
||||
|
@ -1268,7 +1268,7 @@ EAPI void elm_entry_input_panel_imdata_set(Evas_Object *obj, c
|
|||
/**
|
||||
* Get the specific data of the current input panel.
|
||||
*
|
||||
* See @ref elm_entry_input_panel_imdata_set for more details.
|
||||
* See @ref elm_entry_input_panel_imdata_set for more details.
|
||||
*
|
||||
* @param obj The entry object
|
||||
* @param data The specific data to be got from the input panel
|
||||
|
@ -1301,7 +1301,7 @@ EAPI Elm_Input_Panel_Return_Key_Type elm_entry_input_panel_return_key_type_get(c
|
|||
*
|
||||
* @param obj The entry object
|
||||
* @param disabled The state to put in in: @c EINA_TRUE for
|
||||
* disabled, @c EINA_FALSE for enabled
|
||||
* disabled, @c EINA_FALSE for enabled
|
||||
*/
|
||||
EAPI void elm_entry_input_panel_return_key_disabled_set(Evas_Object *obj, Eina_Bool disabled);
|
||||
|
||||
|
@ -1326,7 +1326,7 @@ EAPI Eina_Bool elm_entry_input_panel_return_key_disabled_get(const
|
|||
EAPI void elm_entry_input_panel_return_key_autoenabled_set(Evas_Object *obj, Eina_Bool enabled);
|
||||
|
||||
/**
|
||||
* Reset the input method context of the entry if needed.
|
||||
* Reset the input method context of the entry if needed.
|
||||
*
|
||||
* This can be necessary in the case where modifying the buffer would confuse on-going input method behavior
|
||||
* @param obj The entry object
|
||||
|
|
|
@ -30,9 +30,10 @@ struct _Widget_Data
|
|||
Elm_Flip_Mode mode;
|
||||
Evas_Object *clip;
|
||||
Evas_Object *event[4];
|
||||
struct {
|
||||
Evas_Object *content, *clip;
|
||||
} front, back;
|
||||
struct
|
||||
{
|
||||
Evas_Object *content, *clip;
|
||||
} front, back;
|
||||
Ecore_Job *job;
|
||||
Evas_Coord down_x, down_y, x, y, ox, oy, w, h;
|
||||
Elm_Flip_Interaction intmode;
|
||||
|
|
|
@ -19,14 +19,14 @@
|
|||
* "animate,done" - when a flip animation is finished
|
||||
*
|
||||
* Default content parts of the flip widget that you can use for are:
|
||||
* @li "front" - A front content of the flip
|
||||
* @li "back" - A back content of the flip
|
||||
* @li "front" - A front content of the flip
|
||||
* @li "back" - A back content of the flip
|
||||
*
|
||||
* Supported elm_object common APIs.
|
||||
* @li elm_object_part_content_set
|
||||
* @li elm_object_part_content_get
|
||||
* @li elm_object_part_content_unset
|
||||
*
|
||||
*
|
||||
* @ref tutorial_flip show how to use most of the API.
|
||||
*
|
||||
* @{
|
||||
|
|
|
@ -504,7 +504,7 @@ EAPI Eina_Bool elm_genlist_multi_select_get(const Evas_Objec
|
|||
* fixed (restricted to a minimum of) to the list width when calculating its
|
||||
* size in order to allow the height to be calculated based on it. This allows,
|
||||
* for instance, text block to wrap lines if the Edje part is configured with
|
||||
* "text.min: 0 1".
|
||||
* "text.min: 0 1".
|
||||
* @note ELM_LIST_COMPRESS will make list resize slower as it will have to
|
||||
* recalculate every item height again whenever the list width
|
||||
* changes!
|
||||
|
@ -897,7 +897,7 @@ EAPI void elm_genlist_item_show(Elm_Object_Item *it, El
|
|||
* @ref Elm_Genlist_Item_Scrollto_Type
|
||||
*
|
||||
* This causes genlist to jump to the given item @p it and show it (by
|
||||
* animatedly scrolling), if it is not fully visible.
|
||||
* animatedly scrolling), if it is not fully visible.
|
||||
* This may use animation and take a some time to do so.
|
||||
*
|
||||
* @see elm_genlist_item_show()
|
||||
|
@ -943,7 +943,7 @@ EAPI void elm_genlist_item_item_class_update(Elm_Object
|
|||
*
|
||||
* @param it The genlist item
|
||||
*
|
||||
* This returns the Genlist_Item_Class for the given item. It can be used to
|
||||
* This returns the Genlist_Item_Class for the given item. It can be used to
|
||||
* examine the function pointers and item_style.
|
||||
*
|
||||
* @ingroup Genlist
|
||||
|
@ -1659,7 +1659,7 @@ EAPI void elm_genlist_reorder_mode_set(Evas_Object *obj
|
|||
EAPI Eina_Bool elm_genlist_reorder_mode_get(const Evas_Object *obj);
|
||||
|
||||
/**
|
||||
* Get the Item's Type
|
||||
* Get the Item's Type
|
||||
*
|
||||
* @param it The genlist item
|
||||
* @return The item type.
|
||||
|
|
|
@ -1570,9 +1570,9 @@ _n_long_tap_test(Evas_Object *obj, Pointer_Event *pe,
|
|||
* @ingroup Elm_Gesture_Layer
|
||||
*/
|
||||
static void
|
||||
_set_momentum(Elm_Gesture_Momentum_Info *momentum,
|
||||
_set_momentum(Elm_Gesture_Momentum_Info *momentum,
|
||||
Evas_Coord xx1, Evas_Coord yy1,
|
||||
Evas_Coord xx2, Evas_Coord yy2,
|
||||
Evas_Coord xx2, Evas_Coord yy2,
|
||||
unsigned int t1x, unsigned int t1y, unsigned int t2)
|
||||
{
|
||||
Evas_Coord velx = 0, vely = 0, vel;
|
||||
|
@ -2791,7 +2791,7 @@ _get_rotate_properties(Rotate_Type *st,
|
|||
&st->info.x, &st->info.y) / 2;
|
||||
|
||||
*angle = get_angle(xx1, yy1, xx2, yy2);
|
||||
|
||||
|
||||
if (angle == &st->info.angle)
|
||||
{ /* Fingers are moving, compute momentum */
|
||||
unsigned int tm_start =
|
||||
|
|
|
@ -39,11 +39,11 @@
|
|||
* @verbatim
|
||||
* AUTOMAKE_OPTIONS = 1.4 foreign
|
||||
* MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.h.in configure depcomp install-sh missing
|
||||
*
|
||||
*
|
||||
* INCLUDES = -I$(top_srcdir)
|
||||
*
|
||||
*
|
||||
* bin_PROGRAMS = myapp
|
||||
*
|
||||
*
|
||||
* myapp_SOURCES = main.c
|
||||
* myapp_LDADD = @ELEMENTARY_LIBS@
|
||||
* myapp_CFLAGS = @ELEMENTARY_CFLAGS@
|
||||
|
@ -136,24 +136,24 @@
|
|||
*
|
||||
* @code
|
||||
* #include <Elementary.h>
|
||||
*
|
||||
*
|
||||
* static void
|
||||
* on_done(void *data, Evas_Object *obj, void *event_info)
|
||||
* {
|
||||
* // quit the mainloop (elm_run function will return)
|
||||
* elm_exit();
|
||||
* }
|
||||
*
|
||||
*
|
||||
* EAPI_MAIN int
|
||||
* elm_main(int argc, char **argv)
|
||||
* {
|
||||
* Evas_Object *win, *box, *lab, *btn;
|
||||
*
|
||||
*
|
||||
* // new window - do the usual and give it a name (hello) and title (Hello)
|
||||
* win = elm_win_util_standard_add("hello", "Hello");
|
||||
* // when the user clicks "close" on a window there is a request to delete
|
||||
* evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
|
||||
*
|
||||
*
|
||||
* // add a box object - default is vertical. a box holds children in a row,
|
||||
* // either horizontally or vertically. nothing more.
|
||||
* box = elm_box_add(win);
|
||||
|
@ -163,7 +163,7 @@
|
|||
* // size as well as gets resized if window is resized)
|
||||
* elm_win_resize_object_add(win, box);
|
||||
* evas_object_show(box);
|
||||
*
|
||||
*
|
||||
* // add a label widget, set the text and put it in the pad frame
|
||||
* lab = elm_label_add(win);
|
||||
* // set default text of the label
|
||||
|
@ -171,7 +171,7 @@
|
|||
* // pack the label at the end of the box
|
||||
* elm_box_pack_end(box, lab);
|
||||
* evas_object_show(lab);
|
||||
*
|
||||
*
|
||||
* // add an ok button
|
||||
* btn = elm_button_add(win);
|
||||
* // set default text of button to "OK"
|
||||
|
@ -181,10 +181,10 @@
|
|||
* evas_object_show(btn);
|
||||
* // call on_done when button is clicked
|
||||
* evas_object_smart_callback_add(btn, "clicked", on_done, NULL);
|
||||
*
|
||||
*
|
||||
* // now we are done, show the window
|
||||
* evas_object_show(win);
|
||||
*
|
||||
*
|
||||
* // run the mainloop and process events and callbacks
|
||||
* elm_run();
|
||||
* elm_shutdown();
|
||||
|
|
|
@ -16,7 +16,7 @@ typedef void (*Elm_GLView_Func_Cb)(Evas_Object *obj);
|
|||
|
||||
typedef enum _Elm_GLView_Mode
|
||||
{
|
||||
ELM_GLVIEW_NONE = 0,
|
||||
ELM_GLVIEW_NONE = 0,
|
||||
ELM_GLVIEW_ALPHA = (1<<1), /**< Alpha channel enabled rendering mode */
|
||||
ELM_GLVIEW_DEPTH = (1<<2), /**< Depth buffer enabled rendering mode */
|
||||
ELM_GLVIEW_STENCIL = (1<<3), /**< Stencil buffer enabled rendering mode */
|
||||
|
@ -24,7 +24,7 @@ typedef enum _Elm_GLView_Mode
|
|||
} Elm_GLView_Mode;
|
||||
|
||||
/**
|
||||
* Defines a policy for the glview resizing.
|
||||
* Defines a policy for the glview resizing.
|
||||
*
|
||||
* The resizing policy tells glview what to do with the underlying
|
||||
* surface when resize happens. ELM_GLVIEW_RESIZE_POLICY_RECREATE
|
||||
|
@ -42,12 +42,12 @@ typedef enum
|
|||
} Elm_GLView_Resize_Policy;
|
||||
|
||||
/**
|
||||
* Defines a policy for gl rendering.
|
||||
* Defines a policy for gl rendering.
|
||||
*
|
||||
* The rendering policy tells glview where to run the gl rendering code.
|
||||
* ELM_GLVIEW_RENDER_POLICY_ON_DEMAND tells glview to call the rendering
|
||||
* calls on demand, which means that the rendering code gets called
|
||||
* only when it is visible.
|
||||
* only when it is visible.
|
||||
*
|
||||
* @note Default is ELM_GLVIEW_RENDER_POLICY_ON_DEMAND
|
||||
*/
|
||||
|
@ -113,7 +113,7 @@ EAPI Evas_GL_API *elm_glview_gl_api_get(const Evas_Object *obj);
|
|||
*
|
||||
* Direct is a hint for the elm_glview to render directly to the window
|
||||
* given that the right conditions are met. Otherwise it falls back
|
||||
* to rendering to an offscreen buffer before it gets composited to the
|
||||
* to rendering to an offscreen buffer before it gets composited to the
|
||||
* window.
|
||||
*
|
||||
* @ingroup GLView
|
||||
|
@ -126,10 +126,10 @@ EAPI Eina_Bool elm_glview_mode_set(Evas_Object *obj, Elm_GLView_Mode mode);
|
|||
* @param obj The glview object.
|
||||
* @param policy The scaling policy.
|
||||
*
|
||||
* By default, the resize policy is set to ELM_GLVIEW_RESIZE_POLICY_RECREATE.
|
||||
* When resize is called it destroys the previous surface and recreates the
|
||||
* newly specified size. If the policy is set to
|
||||
* ELM_GLVIEW_RESIZE_POLICY_SCALE, however, glview only scales the image
|
||||
* By default, the resize policy is set to ELM_GLVIEW_RESIZE_POLICY_RECREATE.
|
||||
* When resize is called it destroys the previous surface and recreates the
|
||||
* newly specified size. If the policy is set to
|
||||
* ELM_GLVIEW_RESIZE_POLICY_SCALE, however, glview only scales the image
|
||||
* object and not the underlying GL Surface.
|
||||
*
|
||||
* @ingroup GLView
|
||||
|
@ -143,7 +143,7 @@ EAPI Eina_Bool elm_glview_resize_policy_set(Evas_Object *obj, Elm_GLView_Resi
|
|||
* @param policy The render policy.
|
||||
*
|
||||
* By default, the render policy is set to ELM_GLVIEW_RENDER_POLICY_ON_DEMAND.
|
||||
* This policy is set such that during the render loop, glview is only
|
||||
* This policy is set such that during the render loop, glview is only
|
||||
* redrawn if it needs to be redrawn. (i.e. when it is visible) If the policy
|
||||
* is set to ELM_GLVIEWW_RENDER_POLICY_ALWAYS, it redraws regardless of
|
||||
* whether it is visible or needs redrawing.
|
||||
|
@ -158,7 +158,7 @@ EAPI Eina_Bool elm_glview_render_policy_set(Evas_Object *obj, Elm_GLView_Rend
|
|||
* @param obj The glview object.
|
||||
* @param func The init function to be registered.
|
||||
*
|
||||
* The registered init function gets called once during the render loop.
|
||||
* The registered init function gets called once during the render loop.
|
||||
* This function allows glview to hide all the rendering context/surface
|
||||
* details and have the user just call GL calls that they desire
|
||||
* for initialization GL calls.
|
||||
|
@ -188,7 +188,7 @@ EAPI void elm_glview_del_func_set(Evas_Object *obj, Elm_GLView_Func_Cb f
|
|||
* @param obj The glview object.
|
||||
* @param func The resize function to be registered.
|
||||
*
|
||||
* The resize function gets called during the render loop.
|
||||
* The resize function gets called during the render loop.
|
||||
* This function allows glview to hide all the rendering context/surface
|
||||
* details and have the user just call GL calls that they desire
|
||||
* when resize happens.
|
||||
|
@ -201,9 +201,9 @@ EAPI void elm_glview_resize_func_set(Evas_Object *obj, Elm_GLView_Func_C
|
|||
* Set the render function that runs in the main loop.
|
||||
*
|
||||
* The render function gets called in the main loop but whether it runs
|
||||
* depends on the rendering policy and whether elm_glview_changed_set()
|
||||
* depends on the rendering policy and whether elm_glview_changed_set()
|
||||
* gets called.
|
||||
*
|
||||
*
|
||||
* @param obj The glview object.
|
||||
* @param func The render function to be registered.
|
||||
*
|
||||
|
|
|
@ -17,27 +17,30 @@ struct _Widget_Data
|
|||
Elm_Icon_Lookup_Order lookup_order;
|
||||
|
||||
#ifdef HAVE_ELEMENTARY_ETHUMB
|
||||
struct {
|
||||
struct {
|
||||
const char *path;
|
||||
const char *key;
|
||||
} file, thumb;
|
||||
struct
|
||||
{
|
||||
struct
|
||||
{
|
||||
const char *path;
|
||||
const char *key;
|
||||
} file, thumb;
|
||||
|
||||
Ecore_Event_Handler *eeh;
|
||||
Ecore_Event_Handler *eeh;
|
||||
|
||||
Ethumb_Thumb_Format format;
|
||||
Ethumb_Thumb_Format format;
|
||||
|
||||
Ethumb_Client_Async *request;
|
||||
Ethumb_Client_Async *request;
|
||||
|
||||
Eina_Bool retry : 1;
|
||||
} thumb;
|
||||
Eina_Bool retry : 1;
|
||||
} thumb;
|
||||
#endif
|
||||
|
||||
#ifdef ELM_EFREET
|
||||
struct {
|
||||
struct
|
||||
{
|
||||
int requested_size;
|
||||
Eina_Bool use : 1;
|
||||
} freedesktop;
|
||||
} freedesktop;
|
||||
#endif
|
||||
int in_eval;
|
||||
Eina_Bool scale_up : 1;
|
||||
|
|
|
@ -662,7 +662,7 @@ elm_index_autohide_disabled_set(Evas_Object *obj, Eina_Bool disabled)
|
|||
else
|
||||
edje_object_signal_emit(wd->base, "elm,state,inactive", "elm");
|
||||
|
||||
//FIXME: Should be update indicator based on the indicator visiblility
|
||||
//FIXME: Should be update indicator based on the indicator visiblility
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
|
@ -701,7 +701,7 @@ elm_index_item_selected_set(Elm_Object_Item *it, Eina_Bool selected)
|
|||
Widget_Data *wd = elm_widget_data_get(WIDGET(it));
|
||||
if (!wd) return;
|
||||
|
||||
//FIXME: Should be update indicator based on the autohidden status & indicator visiblility
|
||||
//FIXME: Should be update indicator based on the autohidden status & indicator visiblility
|
||||
|
||||
if (selected)
|
||||
{
|
||||
|
|
|
@ -148,7 +148,7 @@ EAPI Elm_Object_Item *elm_index_selected_item_get(const Evas_Object *obj, i
|
|||
* @param letter Letter under which the item should be indexed
|
||||
* @param func The function to call when the item is selected.
|
||||
* @param data The item data to set for the index's item
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
*
|
||||
* Despite the most common usage of the @p letter argument is for
|
||||
* single char strings, one could use arbitrary strings as index
|
||||
|
@ -168,7 +168,7 @@ EAPI Elm_Object_Item *elm_index_item_append(Evas_Object *obj, const char *l
|
|||
* @param letter Letter under which the item should be indexed
|
||||
* @param func The function to call when the item is selected.
|
||||
* @param data The item data to set for the index's item
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
*
|
||||
* Despite the most common usage of the @p letter argument is for
|
||||
* single char strings, one could use arbitrary strings as index
|
||||
|
@ -189,7 +189,7 @@ EAPI Elm_Object_Item *elm_index_item_prepend(Evas_Object *obj, const char *
|
|||
* @param letter Letter under which the item should be indexed
|
||||
* @param func The function to call when the item is clicked.
|
||||
* @param data The item data to set for the index's item
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
*
|
||||
* Despite the most common usage of the @p letter argument is for
|
||||
* single char strings, one could use arbitrary strings as index
|
||||
|
@ -213,7 +213,7 @@ EAPI Elm_Object_Item *elm_index_item_insert_after(Evas_Object *obj, Elm_Obj
|
|||
* @param letter Letter under which the item should be indexed
|
||||
* @param func The function to call when the item is clicked.
|
||||
* @param data The item data to set for the index's item
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
*
|
||||
* Despite the most common usage of the @p letter argument is for
|
||||
* single char strings, one could use arbitrary strings as index
|
||||
|
@ -251,7 +251,7 @@ EAPI Elm_Object_Item *elm_index_item_insert_before(Evas_Object *obj, Elm_Ob
|
|||
* because all references to it will be lost. If this function is
|
||||
* not provided (@c NULL is given), index items will be @b
|
||||
* duplicated, if @p cmp_func returns @c 0.
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
*
|
||||
* Despite the most common usage of the @p letter argument is for
|
||||
* single char strings, one could use arbitrary strings as index
|
||||
|
|
|
@ -3,29 +3,29 @@
|
|||
* @image html elementary.png
|
||||
* @version 0.8.0
|
||||
* @date 2008-2012
|
||||
*
|
||||
*
|
||||
* @section intro What is Elementary?
|
||||
*
|
||||
*
|
||||
* This is a VERY SIMPLE toolkit. It is not meant for writing extensive desktop
|
||||
* applications (yet). Small simple ones with simple needs.
|
||||
*
|
||||
*
|
||||
* It is meant to make the programmers work almost brainless but give them lots
|
||||
* of flexibility.
|
||||
*
|
||||
*
|
||||
* @li @ref Start - Go here to quickly get started with writing Apps
|
||||
*
|
||||
*
|
||||
* @section organization Organization
|
||||
*
|
||||
*
|
||||
* One can divide Elementary into three main groups:
|
||||
* @li @ref infralist - These are modules that deal with Elementary as a whole.
|
||||
* @li @ref widgetslist - These are the widgets you'll compose your UI out of.
|
||||
* @li @ref containerslist - These are the containers which hold the widgets.
|
||||
*
|
||||
*
|
||||
* @section license License
|
||||
*
|
||||
*
|
||||
* LGPL v2 (see COPYING in the base of Elementary's source). This applies to
|
||||
* all files in the source tree.
|
||||
*
|
||||
*
|
||||
* @section ack Acknowledgements
|
||||
* There is a lot that goes into making a widget set, and they don't happen out of
|
||||
* nothing. It's like trying to make everyone everywhere happy, regardless of age,
|
||||
|
|
|
@ -19,27 +19,32 @@ struct _Subinfo
|
|||
{
|
||||
const char *part;
|
||||
Evas_Object *obj;
|
||||
enum {
|
||||
SWALLOW,
|
||||
BOX_APPEND,
|
||||
BOX_PREPEND,
|
||||
BOX_INSERT_BEFORE,
|
||||
BOX_INSERT_AT,
|
||||
TABLE_PACK,
|
||||
TEXT
|
||||
} type;
|
||||
union {
|
||||
union {
|
||||
const Evas_Object *reference;
|
||||
unsigned int pos;
|
||||
} box;
|
||||
struct {
|
||||
unsigned short col, row, colspan, rowspan;
|
||||
} table;
|
||||
struct {
|
||||
const char *text;
|
||||
} text;
|
||||
} p;
|
||||
enum
|
||||
{
|
||||
SWALLOW,
|
||||
BOX_APPEND,
|
||||
BOX_PREPEND,
|
||||
BOX_INSERT_BEFORE,
|
||||
BOX_INSERT_AT,
|
||||
TABLE_PACK,
|
||||
TEXT
|
||||
} type;
|
||||
union
|
||||
{
|
||||
union
|
||||
{
|
||||
const Evas_Object *reference;
|
||||
unsigned int pos;
|
||||
} box;
|
||||
struct
|
||||
{
|
||||
unsigned short col, row, colspan, rowspan;
|
||||
} table;
|
||||
struct
|
||||
{
|
||||
const char *text;
|
||||
} text;
|
||||
} p;
|
||||
};
|
||||
|
||||
struct _Part_Cursor
|
||||
|
|
|
@ -18,9 +18,10 @@ struct _Widget_Data
|
|||
Elm_Object_Select_Mode select_mode;
|
||||
int walking;
|
||||
int movements;
|
||||
struct {
|
||||
struct
|
||||
{
|
||||
Evas_Coord x, y;
|
||||
} history[SWIPE_MOVES];
|
||||
} history[SWIPE_MOVES];
|
||||
Eina_Bool scr_minw : 1;
|
||||
Eina_Bool scr_minh : 1;
|
||||
Eina_Bool swipe : 1;
|
||||
|
|
|
@ -14,11 +14,12 @@ struct _Elm_Menu_Item
|
|||
Evas_Smart_Cb func;
|
||||
unsigned int idx;
|
||||
|
||||
struct {
|
||||
Evas_Object *hv, *bx, *location;
|
||||
Eina_List *items;
|
||||
Eina_Bool open : 1;
|
||||
} submenu;
|
||||
struct
|
||||
{
|
||||
Evas_Object *hv, *bx, *location;
|
||||
Eina_List *items;
|
||||
Eina_Bool open : 1;
|
||||
} submenu;
|
||||
|
||||
Eina_Bool separator : 1;
|
||||
Eina_Bool selected : 1;
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
* @li elm_object_item_part_content_set
|
||||
* @li elm_object_item_part_content_get
|
||||
* @li elm_object_item_disabled_set
|
||||
* @li elm_object_item_disabled_get
|
||||
* @li elm_object_item_disabled_get
|
||||
*
|
||||
* @see @ref tutorial_menu
|
||||
* @{
|
||||
|
|
|
@ -448,7 +448,7 @@ EAPI Eina_Bool elm_object_item_cursor_engine_only_get(const E
|
|||
*
|
||||
* A smart callback function must have the Elm_Object_Item_Smart_Cb prototype
|
||||
* definition. The first parameter (@p data) in this definition will be a user
|
||||
* specific data. The second parameter @p it is a handle to the object item on
|
||||
* specific data. The second parameter @p it is a handle to the object item on
|
||||
* which event occurred. The third parameter, @p event_info, is a pointer to
|
||||
* data which is totally dependent on the elementary object item's
|
||||
* implementation and semantic for the given event.
|
||||
|
|
|
@ -14,19 +14,21 @@ struct _Widget_Data
|
|||
Ecore_Timer *longtimer;
|
||||
|
||||
#ifdef HAVE_ELEMENTARY_ETHUMB
|
||||
struct {
|
||||
int id;
|
||||
struct
|
||||
{
|
||||
int id;
|
||||
|
||||
struct {
|
||||
const char *path;
|
||||
const char *key;
|
||||
} file, thumb;
|
||||
struct
|
||||
{
|
||||
const char *path;
|
||||
const char *key;
|
||||
} file, thumb;
|
||||
|
||||
Ethumb_Exists *exists;
|
||||
Ethumb_Exists *exists;
|
||||
|
||||
Ecore_Event_Handler *eeh;
|
||||
Ecore_Event_Handler *eeh;
|
||||
|
||||
Ethumb_Thumb_Format format;
|
||||
Ethumb_Thumb_Format format;
|
||||
|
||||
Eina_Bool retry : 1;
|
||||
} thumb;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
* "clicked" - This is called when a user has clicked the photo
|
||||
* "drag,start" - dragging the image out of the photo object
|
||||
* "drag,end" - Drop the dragged item
|
||||
* "drag,end" - Drop the dragged item
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/**
|
||||
* @defgroup Plug Plug
|
||||
*
|
||||
* An object that allows one to show an image which other process created.
|
||||
* An object that allows one to show an image which other process created.
|
||||
* It can be used anywhere like any other elementary widget.
|
||||
*
|
||||
*/
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
*
|
||||
* A radio object contains an indicator, an optional Label and an optional
|
||||
* icon object. While it's possible to have a group of only one radio they,
|
||||
* are normally used in groups of 2 or more.
|
||||
* are normally used in groups of 2 or more.
|
||||
*
|
||||
* elm_radio objects are grouped in a slightly different, compared to other
|
||||
* UI toolkits. There is no seperate group name/id to remember or manage.
|
||||
* The members represent the group, there are the group. To make a group,
|
||||
* use elm_radio_group_add() and pass existing radio object and the new radio
|
||||
* object.
|
||||
* use elm_radio_group_add() and pass existing radio object and the new radio
|
||||
* object.
|
||||
*
|
||||
* The radio object(s) will select from one of a set
|
||||
* of integer values, so any value they are configuring needs to be mapped to
|
||||
|
|
|
@ -340,7 +340,7 @@ EINA_DEPRECATED EAPI void elm_scroll_bounce_friction_all_set(double fric
|
|||
* @param friction the page scroll friction
|
||||
*
|
||||
* @see elm_thumbscroll_page_scroll_friction_get()
|
||||
* @deprecated Use elm_scroll_page_scroll_friction_set() and
|
||||
* @deprecated Use elm_scroll_page_scroll_friction_set() and
|
||||
* elm_config_all_flush()
|
||||
* @ingroup Scrolling
|
||||
*/
|
||||
|
@ -5591,7 +5591,7 @@ EINA_DEPRECATED EAPI Eina_Bool elm_index_active_get(const Evas_Objec
|
|||
* @param letter Letter under which the item should be indexed
|
||||
* @param item The item data to set for the index's item
|
||||
* @param relative The index item to be the predecessor of this new one
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
*
|
||||
* Despite the most common usage of the @p letter argument is for
|
||||
* single char strings, one could use arbitrary strings as index
|
||||
|
@ -5615,7 +5615,7 @@ EINA_DEPRECATED EAPI Elm_Object_Item *elm_index_item_append_relative(Evas_O
|
|||
* @param letter Letter under which the item should be indexed
|
||||
* @param item The item data to set for the index's item
|
||||
* @param relative The index item to be the successor of this new one
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
* @return A handle to the item added or @c NULL, on errors
|
||||
*
|
||||
* Despite the most common usage of the @p letter argument is for
|
||||
* single char strings, one could use arbitrary strings as index
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
* @li elm_object_item_part_text_get
|
||||
* @li elm_object_item_part_content_set
|
||||
* @li elm_object_item_part_content_get
|
||||
*
|
||||
*
|
||||
* Here is an example on its usage:
|
||||
* @li @ref segment_control_example
|
||||
*
|
||||
|
|
|
@ -494,7 +494,7 @@ _spacer_move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, voi
|
|||
if (wd->spacer_down)
|
||||
{
|
||||
Evas_Coord d = 0;
|
||||
|
||||
|
||||
evas_object_geometry_get(wd->spacer, &x, &y, &w, &h);
|
||||
if (wd->horizontal) d = abs(ev->cur.canvas.x - x - wd->downx);
|
||||
else d = abs(ev->cur.canvas.y - y - wd->downy);
|
||||
|
@ -507,7 +507,7 @@ _spacer_move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, voi
|
|||
}
|
||||
ev->event_flags &= ~EVAS_EVENT_FLAG_ON_HOLD;
|
||||
}
|
||||
|
||||
|
||||
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
|
||||
{
|
||||
if (wd->spacer_down) wd->spacer_down = EINA_FALSE;
|
||||
|
@ -615,7 +615,7 @@ _elm_slider_label_get(const Evas_Object *obj, const char *part)
|
|||
if (!wd) return NULL;
|
||||
if (!wd->labels) return NULL;
|
||||
|
||||
if (!part)
|
||||
if (!part)
|
||||
return eina_hash_find(wd->labels, "elm.text");
|
||||
return eina_hash_find(wd->labels, part);
|
||||
}
|
||||
|
|
|
@ -33,10 +33,11 @@ struct _Widget_Data
|
|||
double timeout;
|
||||
Eina_Bool loop:1;
|
||||
|
||||
struct {
|
||||
struct
|
||||
{
|
||||
const char *current;
|
||||
Eina_List *list; //list of const char *
|
||||
} layout;
|
||||
} layout;
|
||||
};
|
||||
|
||||
static const char *widtype = NULL;
|
||||
|
|
|
@ -211,7 +211,7 @@ _write_label(Evas_Object *obj)
|
|||
Elm_Spinner_Special_Value *sv;
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
char buf[1024];
|
||||
|
||||
|
||||
if (!wd) return;
|
||||
EINA_LIST_FOREACH(wd->special_values, l, sv)
|
||||
{
|
||||
|
@ -235,11 +235,11 @@ static Eina_Bool
|
|||
_value_set(Evas_Object *obj, double new_val)
|
||||
{
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
|
||||
|
||||
if (!wd) return EINA_FALSE;
|
||||
|
||||
if (wd->round > 0)
|
||||
new_val = wd->base +
|
||||
new_val = wd->base +
|
||||
(double)((((int)(new_val - wd->base)) / wd->round) * wd->round);
|
||||
|
||||
if (wd->wrap)
|
||||
|
|
|
@ -355,20 +355,20 @@ EAPI double elm_spinner_interval_get(const Evas_Object *obj);
|
|||
* @param base The base value
|
||||
*
|
||||
* Rounding works as follows:
|
||||
*
|
||||
*
|
||||
* rounded_val = base + (double)(((value - base) / round) * round)
|
||||
*
|
||||
*
|
||||
* Where rounded_val, value and base are doubles, and round is an integer.
|
||||
*
|
||||
*
|
||||
* This means that things will be rounded to increments (or decrements) of
|
||||
* "round" starting from value @p base. The default base for rounding is 0.
|
||||
*
|
||||
*
|
||||
* Example: round = 3, base = 2
|
||||
* Values: 3, 6, 9, 12, 15, ...
|
||||
*
|
||||
*
|
||||
* Example: round = 2, base = 5.5
|
||||
* Values: 5.5, 7.5, 9.5, 11.5, ...
|
||||
*
|
||||
*
|
||||
* @see elm_spinner_round_get()
|
||||
* @see elm_spinner_base_get() too.
|
||||
*
|
||||
|
@ -383,7 +383,7 @@ EAPI void elm_spinner_base_set(Evas_Object *obj, double base);
|
|||
* @return The base rounding value
|
||||
*
|
||||
* This returns the base for rounding.
|
||||
*
|
||||
*
|
||||
* @see elm_spinner_round_set() too.
|
||||
* @see elm_spinner_base_set() too.
|
||||
*
|
||||
|
@ -398,7 +398,7 @@ EAPI double elm_spinner_base_get(const Evas_Object *obj);
|
|||
* @param rnd The rounding value
|
||||
*
|
||||
* Sets the rounding value used for value rounding in the spinner.
|
||||
*
|
||||
*
|
||||
* @see elm_spinner_round_get()
|
||||
* @see elm_spinner_base_set()
|
||||
*
|
||||
|
@ -413,7 +413,7 @@ EAPI void elm_spinner_round_set(Evas_Object *obj, int rnd);
|
|||
* @return The rounding value
|
||||
*
|
||||
* This returns the round value for rounding.
|
||||
*
|
||||
*
|
||||
* @see elm_spinner_round_set() too.
|
||||
* @see elm_spinner_base_set() too.
|
||||
*
|
||||
|
|
|
@ -13,29 +13,34 @@ struct _Elm_Store
|
|||
{
|
||||
EINA_MAGIC;
|
||||
void (*free)(Elm_Store *store);
|
||||
struct {
|
||||
void (*free)(Elm_Store_Item *item);
|
||||
} item;
|
||||
struct
|
||||
{
|
||||
void (*free)(Elm_Store_Item *item);
|
||||
} item;
|
||||
Evas_Object *genlist;
|
||||
Ecore_Thread *list_th;
|
||||
Eina_Inlist *items;
|
||||
Eina_List *realized;
|
||||
int realized_count;
|
||||
int cache_max;
|
||||
struct {
|
||||
struct {
|
||||
Elm_Store_Item_List_Cb func;
|
||||
void *data;
|
||||
} list;
|
||||
struct {
|
||||
Elm_Store_Item_Fetch_Cb func;
|
||||
void *data;
|
||||
} fetch;
|
||||
struct {
|
||||
Elm_Store_Item_Unfetch_Cb func;
|
||||
void *data;
|
||||
} unfetch;
|
||||
} cb;
|
||||
struct
|
||||
{
|
||||
struct
|
||||
{
|
||||
Elm_Store_Item_List_Cb func;
|
||||
void *data;
|
||||
} list;
|
||||
struct
|
||||
{
|
||||
Elm_Store_Item_Fetch_Cb func;
|
||||
void *data;
|
||||
} fetch;
|
||||
struct
|
||||
{
|
||||
Elm_Store_Item_Unfetch_Cb func;
|
||||
void *data;
|
||||
} unfetch;
|
||||
} cb;
|
||||
Eina_Bool sorted : 1;
|
||||
Eina_Bool fetch_thread : 1;
|
||||
};
|
||||
|
@ -97,7 +102,7 @@ _store_cache_trim(Elm_Store *st)
|
|||
eina_lock_take(&sti->lock);
|
||||
}
|
||||
sti->fetched = EINA_FALSE;
|
||||
//// let fetch/unfetch do the locking
|
||||
//// let fetch/unfetch do the locking
|
||||
// eina_lock_release(&sti->lock);
|
||||
if (st->cb.unfetch.func)
|
||||
st->cb.unfetch.func(st->cb.unfetch.data, sti);
|
||||
|
@ -159,7 +164,7 @@ _store_filesystem_fetch_do(void *data, Ecore_Thread *th __UNUSED__)
|
|||
}
|
||||
if (!sti->fetched)
|
||||
{
|
||||
//// let fetch/unfetch do the locking
|
||||
//// let fetch/unfetch do the locking
|
||||
// eina_lock_release(&sti->lock);
|
||||
if (sti->store->cb.fetch.func)
|
||||
sti->store->cb.fetch.func(sti->store->cb.fetch.data, sti);
|
||||
|
@ -697,7 +702,7 @@ EAPI void
|
|||
elm_store_item_data_set(Elm_Store_Item *sti, void *data)
|
||||
{
|
||||
if (!EINA_MAGIC_CHECK(sti, ELM_STORE_ITEM_MAGIC)) return;
|
||||
//// let fetch/unfetch do the locking
|
||||
//// let fetch/unfetch do the locking
|
||||
// eina_lock_take(&sti->lock);
|
||||
sti->data = data;
|
||||
// eina_lock_release(&sti->lock);
|
||||
|
@ -708,7 +713,7 @@ elm_store_item_data_get(Elm_Store_Item *sti)
|
|||
{
|
||||
if (!EINA_MAGIC_CHECK(sti, ELM_STORE_ITEM_MAGIC)) return NULL;
|
||||
void *d;
|
||||
//// let fetch/unfetch do the locking
|
||||
//// let fetch/unfetch do the locking
|
||||
// eina_lock_take(&sti->lock);
|
||||
d = sti->data;
|
||||
// eina_lock_release(&sti->lock);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* @defgroup Store Elementary Store
|
||||
*
|
||||
*
|
||||
* Store is an abstracting API that is intended to farm off fetching of data
|
||||
* to threads running asynchronously from the mainloop that actually fetch
|
||||
* data needed for a genlist (or possibly future other widgets) so scrolling
|
||||
|
@ -10,18 +10,18 @@
|
|||
* genlist know later when its ready. Store actually does this and implements
|
||||
* the infrastructure of this, leaving the actual fetch and convert up to
|
||||
* functions provided by the user).
|
||||
*
|
||||
*
|
||||
* It is possible for store to run inline without a thread, but this is
|
||||
* highly inadvisable. you can disable this with:
|
||||
*
|
||||
*
|
||||
* elm_store_fetch_thread_set(store, EINA_FALSE);
|
||||
*
|
||||
*
|
||||
* Store works first by creating a store, setting up functions to list items
|
||||
* and fetch items. Currently the only store type supported is the
|
||||
* filesystem store, which will list the files inside a directory (not
|
||||
* recursively) and then hand each file it finds (the file path) to the
|
||||
* list function for evaluation.
|
||||
*
|
||||
*
|
||||
* The list function may look at filename, may open the file or do
|
||||
* anything it likes to determine something about the file. Either it
|
||||
* filters it out (returns EINA_FALSE) and it is discarded or it
|
||||
|
@ -37,7 +37,7 @@
|
|||
* and what type is there (it's a label of some sort, an icon, or with a
|
||||
* custom mapping function that figures it out itself and creates the
|
||||
* content needed for the genlist item).
|
||||
*
|
||||
*
|
||||
* Store then uses this sort id to build (over time) a sorted list of items
|
||||
* that then map 1:1 to genlist items. When these items are visible and
|
||||
* need content, Store calls the fetch function per item, which is responsible
|
||||
|
@ -45,12 +45,12 @@
|
|||
* so it can map this to some item content. This function also runs in a
|
||||
* thread, and thus can do blocking IO work to later return the data. Sorting
|
||||
* is optional and can be enabled or disabled too.
|
||||
*
|
||||
*
|
||||
* When items are no longer needed, store will cal the unfetch function to
|
||||
* free data in memory about that item that is no longer needed. This function
|
||||
* is called in the mainloop and is expected to take minimal or almost no time
|
||||
* to simply free up memory resources.
|
||||
*
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
|
@ -140,27 +140,27 @@ struct _Elm_Store_Item_Info_Filesystem
|
|||
|
||||
/**
|
||||
* Create a new store object
|
||||
*
|
||||
*
|
||||
* This creates a new store object to then configure so it works.
|
||||
*
|
||||
*
|
||||
* @return A new store object, or NULL if creation fails
|
||||
*/
|
||||
EAPI Elm_Store *elm_store_filesystem_new(void);
|
||||
/**
|
||||
* Free the store object and all items it manages
|
||||
*
|
||||
*
|
||||
* This frees the given @p st store and all the items it manages. It will
|
||||
* clear the List that it populated, but otherwise leave it alone. It will
|
||||
* cancel background threads (and may have to wait for them to complete a
|
||||
* pending operation to do this).
|
||||
*
|
||||
*
|
||||
* @param st The store to free
|
||||
*/
|
||||
EAPI void elm_store_free(Elm_Store *st);
|
||||
|
||||
/**
|
||||
* Set the path to the directory to scan for a filesystem store
|
||||
*
|
||||
*
|
||||
* This sets the directory (@p dir) to scan and begins scanning in the
|
||||
* the background in threads (or not if threading is disabled with
|
||||
* elm_store_fetch_thread_set()). Note that Listing is always done in a thread
|
||||
|
@ -168,7 +168,7 @@ EAPI void elm_store_free(Elm_Store *st);
|
|||
* called after fetch, list and unfetch functions are set, as well as target
|
||||
* genlist etc. You also should not change the directory once set. If you
|
||||
* need a new directory scanned, create a new store.
|
||||
*
|
||||
*
|
||||
* @param st The store to modify
|
||||
* @param dir A string giving the path to the directory to scan
|
||||
*/
|
||||
|
@ -176,23 +176,23 @@ EAPI void elm_store_filesystem_directory_set(Elm_Store *st, c
|
|||
|
||||
/**
|
||||
* Get the directory set on a filesystem store
|
||||
*
|
||||
*
|
||||
* This gets the directory set by elm_store_filesystem_directory_set(). This
|
||||
* string returned will be valid until elm_store_filesystem_directory_set()
|
||||
* changes it or until the store is freed with elm_store_free().
|
||||
*
|
||||
*
|
||||
* @return A string with the path set, or NULL if none set.
|
||||
*/
|
||||
EAPI const char *elm_store_filesystem_directory_get(const Elm_Store *st);
|
||||
|
||||
/**
|
||||
/**
|
||||
* Get the path of a specific store item
|
||||
*
|
||||
*
|
||||
* This returns the full path of a store item. This string is valid only
|
||||
* during the list function set by elm_store_list_func_set() or during the
|
||||
* fetch function set by elm_store_fetch_func_set() or during the unfetch
|
||||
* function set by elm_store_unfetch_func_set().
|
||||
*
|
||||
*
|
||||
* @param sti The store item to get the path from
|
||||
* @return A full path in a string or NULL if none available
|
||||
*/
|
||||
|
@ -200,11 +200,11 @@ EAPI const char *elm_store_item_filesystem_path_get(const Elm_Store_
|
|||
|
||||
/**
|
||||
* Set the target genlist to fill in from the store
|
||||
*
|
||||
*
|
||||
* This tells the store the target genlist to use to fill in content from
|
||||
* the store. Once a store starts "going" via elm_store_filesystem_directory_set()
|
||||
* The target should never be changed again.
|
||||
*
|
||||
*
|
||||
* @param st The store to do the filling.
|
||||
* @param obj The genlist object to fill in and control the content of from the store.
|
||||
*/
|
||||
|
@ -212,11 +212,11 @@ EAPI void elm_store_target_genlist_set(Elm_Store *st, Evas_Ob
|
|||
|
||||
/**
|
||||
* Set the maximum number of items that are not visible to keep cached
|
||||
*
|
||||
*
|
||||
* Store may keep some items around for caching purposes that cannot be seen,
|
||||
* so this controls the maximum number. The default is 128, but may change
|
||||
* at any point in time in the future.
|
||||
*
|
||||
*
|
||||
* @param st The store to modify
|
||||
* @param max The number of items to keep (should be greater than or equal to 0)
|
||||
*/
|
||||
|
@ -224,9 +224,9 @@ EAPI void elm_store_cache_set(Elm_Store *st, int max);
|
|||
|
||||
/**
|
||||
* Get the maximum number if items to cache
|
||||
*
|
||||
*
|
||||
* This returns the number of items at most to cache.
|
||||
*
|
||||
*
|
||||
* @param st The store to query
|
||||
* @return The maximum number of items to cache (>= 0)
|
||||
* @see elm_store_cache_set()
|
||||
|
@ -235,12 +235,12 @@ EAPI int elm_store_cache_get(const Elm_Store *st);
|
|||
|
||||
/**
|
||||
* Set the function used to deal with listing of items
|
||||
*
|
||||
*
|
||||
* This function is called per item that is found so it can examine the item
|
||||
* and discard it (return EINA_FALSE to discard, or EINA_TRUE to accept), and
|
||||
* work out some sorting ID (that may be filename or anything else based on
|
||||
* content). This function is always called from a thread.
|
||||
*
|
||||
*
|
||||
* @param st The store to set the function of
|
||||
* @param func The function to be called
|
||||
* @param data the data pointer to be passed to the @p func function when called
|
||||
|
@ -249,7 +249,7 @@ EAPI void elm_store_list_func_set(Elm_Store *st, Elm_Store_It
|
|||
|
||||
/**
|
||||
* Set the function used to deal with fetching of items
|
||||
*
|
||||
*
|
||||
* This function is called per item that needs data to be fetched when it
|
||||
* becomes visible and such data is needed. This function is normally run
|
||||
* from a thread (unless elm_store_fetch_thread_set() disables this). The
|
||||
|
@ -257,7 +257,7 @@ EAPI void elm_store_list_func_set(Elm_Store *st, Elm_Store_It
|
|||
* allocated for this item with fields and then rely on the mapping setup
|
||||
* to tell Store how to take a field in the structure and apply it to a
|
||||
* genlist item.
|
||||
*
|
||||
*
|
||||
* @param st The store to set the function of
|
||||
* @param func The function to be called
|
||||
* @param data the data pointer to be passed to the @p func function when called
|
||||
|
@ -266,11 +266,11 @@ EAPI void elm_store_fetch_func_set(Elm_Store *st, Elm_Store_I
|
|||
|
||||
/**
|
||||
* Set the function used to free the structure allocated for the item
|
||||
*
|
||||
*
|
||||
* This function is called per item when it is not needed in memory anymore
|
||||
* and should free the structure allocated in and filled in the function set
|
||||
* by elm_store_fetch_func_set().
|
||||
*
|
||||
*
|
||||
* @param st The store to set the function of
|
||||
* @param func The function to be called
|
||||
* @param data the data pointer to be passed to the @p func function when called
|
||||
|
@ -279,7 +279,7 @@ EAPI void elm_store_unfetch_func_set(Elm_Store *st, Elm_Store
|
|||
|
||||
/**
|
||||
* Enable or disable fetching in a thread for Store
|
||||
*
|
||||
*
|
||||
* @param st The store to modify
|
||||
* @param use_thread EINA_TRUE to use a thread to fetch, EINA_FALSE don't use a thread.
|
||||
*/
|
||||
|
@ -287,7 +287,7 @@ EAPI void elm_store_fetch_thread_set(Elm_Store *st, Eina_Bool
|
|||
|
||||
/**
|
||||
* Get the thread enabled fetching option for Store
|
||||
*
|
||||
*
|
||||
* @return The state set currently for the store.
|
||||
* @see elm_store_fetch_thread_set()
|
||||
*/
|
||||
|
@ -295,13 +295,13 @@ EAPI Eina_Bool elm_store_fetch_thread_get(const Elm_Store *st);
|
|||
|
||||
/**
|
||||
* Set if items are to be sorted or not.
|
||||
*
|
||||
*
|
||||
* By default items are not sorted, but read "in order" as they are found. If
|
||||
* you want to sort, your list function set by elm_store_list_func_set() must
|
||||
* provide a sort ID to sort by, and then Store will take care of sorting when
|
||||
* it inserts items. You should set this up before you begin listing items
|
||||
* in the store and then never change it again.
|
||||
*
|
||||
*
|
||||
* @param st The store to modify
|
||||
* @param sorted EINA_TRUE if we are to sort, EINA_FALSE if not.
|
||||
*/
|
||||
|
@ -309,9 +309,9 @@ EAPI void elm_store_sorted_set(Elm_Store *st, Eina_Bool sorte
|
|||
|
||||
/**
|
||||
* Get the sorting flag
|
||||
*
|
||||
*
|
||||
* Get the sorted flag as set by elm_store_sorted_set().
|
||||
*
|
||||
*
|
||||
* @param st The store to query
|
||||
* @return EINA_TRUE if sorted, EINA_FALSE if not.
|
||||
*/
|
||||
|
@ -319,12 +319,12 @@ EAPI Eina_Bool elm_store_sorted_get(const Elm_Store *st);
|
|||
|
||||
/**
|
||||
* Set the item data holding item fields to map to item values in genlist
|
||||
*
|
||||
*
|
||||
* Once you decode an item, allocate a structure for it and fill the structure,
|
||||
* you should set the item data with this function (eg in the fetch function).
|
||||
* This item pointer is the base offset to use when mapping fields to item
|
||||
* values. Once you unfetch, store will handle NULLing the data pointer for you.
|
||||
*
|
||||
*
|
||||
* @param sti The store item to set the data pointer of
|
||||
* @param data The data pointer to set.
|
||||
*/
|
||||
|
@ -332,9 +332,9 @@ EAPI void elm_store_item_data_set(Elm_Store_Item *sti, void *
|
|||
|
||||
/**
|
||||
* Get the item data
|
||||
*
|
||||
*
|
||||
* This gets the data pointer set by elm_store_item_data_set().
|
||||
*
|
||||
*
|
||||
* @param sti The store item to query
|
||||
* @return The data pointer set on the item
|
||||
*/
|
||||
|
@ -342,9 +342,9 @@ EAPI void *elm_store_item_data_get(Elm_Store_Item *sti);
|
|||
|
||||
/**
|
||||
* Fetch the store than a store item belongs to
|
||||
*
|
||||
*
|
||||
* This fetches the store object that owns the store item.
|
||||
*
|
||||
*
|
||||
* @param sti The store item to query
|
||||
* @return The store the item belongs to
|
||||
*/
|
||||
|
@ -352,7 +352,7 @@ EAPI const Elm_Store *elm_store_item_store_get(const Elm_Store_Item *sti)
|
|||
|
||||
/**
|
||||
* Fetch the genlist item that this store item controls
|
||||
*
|
||||
*
|
||||
* @param sti The store item to query
|
||||
* @return The genlist object item handle controlled by this store item
|
||||
*/
|
||||
|
|
|
@ -36,10 +36,11 @@ struct _Elm_Toolbar_Item
|
|||
Evas_Object *object;
|
||||
Evas_Object *o_menu;
|
||||
Evas_Smart_Cb func;
|
||||
struct {
|
||||
int priority;
|
||||
Eina_Bool visible : 1;
|
||||
} prio;
|
||||
struct
|
||||
{
|
||||
int priority;
|
||||
Eina_Bool visible : 1;
|
||||
} prio;
|
||||
Eina_Bool selected : 1;
|
||||
Eina_Bool separator : 1;
|
||||
Eina_Bool menu : 1;
|
||||
|
|
|
@ -29,7 +29,7 @@ typedef Evas_Object *(*Elm_Tooltip_Item_Content_Cb)(void *data, Evas_Object *obj
|
|||
EAPI void elm_object_tooltip_show(Evas_Object *obj);
|
||||
EAPI void elm_object_tooltip_hide(Evas_Object *obj);
|
||||
|
||||
/**
|
||||
/**
|
||||
* Set the text to be displayed inside the tooltip.
|
||||
*
|
||||
* @param obj The tooltip object.
|
||||
|
|
|
@ -31,22 +31,25 @@ struct _Elm_Transit
|
|||
Elm_Transit *prev_chain_transit;
|
||||
Eina_List *next_chain_transits;
|
||||
Elm_Transit_Tween_Mode tween_mode;
|
||||
struct {
|
||||
Elm_Transit_Del_Cb func;
|
||||
void *arg;
|
||||
} del_data;
|
||||
struct {
|
||||
double delayed;
|
||||
double paused;
|
||||
double duration;
|
||||
double begin;
|
||||
double current;
|
||||
} time;
|
||||
struct {
|
||||
int count;
|
||||
int current;
|
||||
Eina_Bool reverse;
|
||||
} repeat;
|
||||
struct
|
||||
{
|
||||
Elm_Transit_Del_Cb func;
|
||||
void *arg;
|
||||
} del_data;
|
||||
struct
|
||||
{
|
||||
double delayed;
|
||||
double paused;
|
||||
double duration;
|
||||
double begin;
|
||||
double current;
|
||||
} time;
|
||||
struct
|
||||
{
|
||||
int count;
|
||||
int current;
|
||||
Eina_Bool reverse;
|
||||
} repeat;
|
||||
double progress;
|
||||
unsigned int effects_pending_del;
|
||||
int walking;
|
||||
|
|
|
@ -156,7 +156,7 @@ EAPI Elm_Transit *elm_transit_add(void);
|
|||
/**
|
||||
* Stops the animation and delete the @p transit object.
|
||||
*
|
||||
* Call this function if you want to stop the animation before the
|
||||
* Call this function if you want to stop the animation before the
|
||||
* transit time. Make sure the @p transit object is still alive with
|
||||
* elm_transit_del_cb_set() function.
|
||||
* All added effects will be deleted, calling its respective data_free_cb
|
||||
|
@ -173,7 +173,7 @@ EAPI void elm_transit_del(Elm_Transit *transit);
|
|||
/**
|
||||
* Add a new effect to the transit.
|
||||
*
|
||||
* @note The cb function and the data are the key to the effect.
|
||||
* @note The cb function and the data are the key to the effect.
|
||||
* If you try to add an existing effect, nothing is done.
|
||||
* @note After the first addition of an effect to @p transit, if its
|
||||
* effect list become empty again, the @p transit will be killed by
|
||||
|
@ -199,8 +199,8 @@ EAPI void elm_transit_del(Elm_Transit *transit);
|
|||
* @p data.
|
||||
*
|
||||
* @ingroup Transit
|
||||
* @warning The transit will free the context data at the and of the
|
||||
* transition with the data_free_cb function.
|
||||
* @warning The transit will free the context data at the and of the
|
||||
* transition with the data_free_cb function.
|
||||
* Do not share the context data in between different transit objects.
|
||||
*/
|
||||
EAPI void elm_transit_effect_add(Elm_Transit *transit, Elm_Transit_Effect_Transition_Cb transition_cb, Elm_Transit_Effect *effect, Elm_Transit_Effect_End_Cb end_cb);
|
||||
|
@ -232,7 +232,7 @@ EAPI void elm_transit_effect_del(Elm_Transit *transit, Elm_Tra
|
|||
* object list become empty again, the @p transit will be killed by
|
||||
* elm_transit_del(transit) function.
|
||||
* @note If the @p obj belongs to another transit, the @p obj will be
|
||||
* removed from it and it will only belong to the other @p transit.
|
||||
* removed from it and it will only belong to the other @p transit.
|
||||
* If the old transit stays without objects, it will die.
|
||||
* @note When you add an object into the @p transit, its state from
|
||||
* evas_object_pass_events_get(obj) is saved, and it is applied when the
|
||||
|
|
|
@ -5,15 +5,15 @@
|
|||
* @{
|
||||
*
|
||||
* Elementary comes with two object that help design application that need
|
||||
* to display video.
|
||||
* to display video.
|
||||
*
|
||||
* The first one, Elm_Video, display a video by using Emotion.
|
||||
* It embeds the video inside an Edje object, so you can do some
|
||||
* animation depending on the video state change. It also implements a
|
||||
* resource management policy to remove this burden from the application.
|
||||
*
|
||||
* The second one,
|
||||
* Elm_Player is a video player that need to be linked with an Elm_Video.
|
||||
* The second one,
|
||||
* Elm_Player is a video player that need to be linked with an Elm_Video.
|
||||
* It take care of updating its content according to Emotion event and provide a
|
||||
* way to theme itself. It also automatically raises the priority of the
|
||||
* linked Elm_Video so it will use the video decoder, if available. It also
|
||||
|
@ -67,12 +67,12 @@ EAPI Evas_Object *elm_video_add(Evas_Object *parent);
|
|||
* @brief Define the file or URI that will be the video source.
|
||||
*
|
||||
* @param video The video object to define the file or URI for the video
|
||||
* of the Elm_Video object.
|
||||
* of the Elm_Video object.
|
||||
*
|
||||
* @param filename The file or URI to target.
|
||||
* Local files can be specified using file:// or by using full file paths.
|
||||
* URI could be remote source of video, like http:// or local source like
|
||||
* WebCam (v4l2://). (You can use Emotion API to request and list
|
||||
* URI could be remote source of video, like http:// or local source like
|
||||
* WebCam (v4l2://). (You can use Emotion API to request and list
|
||||
* the available Webcam on your system).
|
||||
*
|
||||
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
|
||||
|
@ -194,7 +194,7 @@ EAPI double elm_video_audio_level_get(const Evas_Object *video);
|
|||
EAPI void elm_video_audio_level_set(Evas_Object *video, double volume);
|
||||
|
||||
/**
|
||||
* @brief Get the current position (in seconds) being played in the
|
||||
* @brief Get the current position (in seconds) being played in the
|
||||
* Elm_Video object.
|
||||
*
|
||||
* @param video The video object.
|
||||
|
@ -205,7 +205,7 @@ EAPI void elm_video_audio_level_set(Evas_Object *video, double v
|
|||
EAPI double elm_video_play_position_get(const Evas_Object *video);
|
||||
|
||||
/**
|
||||
* @brief Set the current position (in seconds) to be played in the
|
||||
* @brief Set the current position (in seconds) to be played in the
|
||||
* Elm_Video object.
|
||||
*
|
||||
* @param video The video object.
|
||||
|
@ -240,7 +240,7 @@ EAPI void elm_video_remember_position_set(Evas_Object *video, Ei
|
|||
* @brief Set whether the object can remember the last played position.
|
||||
*
|
||||
* @param video The video object.
|
||||
* @return whether the object remembers the last played position (EINA_TRUE)
|
||||
* @return whether the object remembers the last played position (EINA_TRUE)
|
||||
* or not.
|
||||
*
|
||||
* @note This API only serves as indication. System support is required.
|
||||
|
|
|
@ -18,13 +18,14 @@ typedef struct _View_Smart_Data View_Smart_Data;
|
|||
struct _View_Smart_Data
|
||||
{
|
||||
Ewk_View_Smart_Data base;
|
||||
struct {
|
||||
Evas_Event_Mouse_Down event;
|
||||
Evas_Coord x, y;
|
||||
unsigned int move_count;
|
||||
Ecore_Timer *longpress_timer;
|
||||
Ecore_Animator *pan_anim;
|
||||
} mouse;
|
||||
struct
|
||||
{
|
||||
Evas_Event_Mouse_Down event;
|
||||
Evas_Coord x, y;
|
||||
unsigned int move_count;
|
||||
Ecore_Timer *longpress_timer;
|
||||
Ecore_Animator *pan_anim;
|
||||
} mouse;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -34,34 +35,38 @@ struct _Widget_Data
|
|||
Evas_Object *self;
|
||||
#ifdef HAVE_ELEMENTARY_WEB
|
||||
Evas_Object *ewk_view;
|
||||
struct {
|
||||
Elm_Web_Window_Open window_create;
|
||||
void *window_create_data;
|
||||
Elm_Web_Dialog_Alert alert;
|
||||
void *alert_data;
|
||||
Elm_Web_Dialog_Confirm confirm;
|
||||
void *confirm_data;
|
||||
Elm_Web_Dialog_Prompt prompt;
|
||||
void *prompt_data;
|
||||
Elm_Web_Dialog_File_Selector file_selector;
|
||||
void *file_selector_data;
|
||||
Elm_Web_Console_Message console_message;
|
||||
void *console_message_data;
|
||||
} hook;
|
||||
struct
|
||||
{
|
||||
Elm_Web_Window_Open window_create;
|
||||
void *window_create_data;
|
||||
Elm_Web_Dialog_Alert alert;
|
||||
void *alert_data;
|
||||
Elm_Web_Dialog_Confirm confirm;
|
||||
void *confirm_data;
|
||||
Elm_Web_Dialog_Prompt prompt;
|
||||
void *prompt_data;
|
||||
Elm_Web_Dialog_File_Selector file_selector;
|
||||
void *file_selector_data;
|
||||
Elm_Web_Console_Message console_message;
|
||||
void *console_message_data;
|
||||
} hook;
|
||||
Elm_Win_Keyboard_Mode input_method;
|
||||
struct {
|
||||
struct
|
||||
{
|
||||
Elm_Web_Zoom_Mode mode;
|
||||
float current;
|
||||
float min, max;
|
||||
Eina_Bool no_anim;
|
||||
Ecore_Timer *timer;
|
||||
} zoom;
|
||||
struct {
|
||||
struct {
|
||||
} zoom;
|
||||
struct
|
||||
{
|
||||
struct
|
||||
{
|
||||
int x, y;
|
||||
} start, end;
|
||||
} start, end;
|
||||
Ecore_Animator *animator;
|
||||
} bring_in;
|
||||
} bring_in;
|
||||
Eina_Bool tab_propagate : 1;
|
||||
Eina_Bool inwin_mode : 1;
|
||||
#else
|
||||
|
@ -1221,7 +1226,7 @@ elm_web_console_message_hook_set(Evas_Object *obj, Elm_Web_Console_Message func,
|
|||
#endif
|
||||
}
|
||||
|
||||
EAPI void
|
||||
EAPI void
|
||||
elm_web_useragent_set(Evas_Object *obj, const char *user_agent)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype);
|
||||
|
@ -1234,7 +1239,7 @@ elm_web_useragent_set(Evas_Object *obj, const char *user_agent)
|
|||
#endif
|
||||
}
|
||||
|
||||
EAPI const char*
|
||||
EAPI const char*
|
||||
elm_web_useragent_get(const Evas_Object *obj)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
|
||||
|
@ -1899,7 +1904,7 @@ elm_web_window_features_property_get(const Elm_Web_Window_Features *wf, Elm_Web_
|
|||
}
|
||||
|
||||
/* What to do with these ?
|
||||
|
||||
|
||||
(void)wf;
|
||||
(void)toolbar_visible;
|
||||
(void)statusbar_visible;
|
||||
|
@ -1924,7 +1929,7 @@ elm_web_window_features_region_get(const Elm_Web_Window_Features *wf, Evas_Coord
|
|||
|
||||
if (!wf || !x || !y || !w || !h) return;
|
||||
/* What to do with these ?
|
||||
|
||||
|
||||
(void)wf;
|
||||
(void)x;
|
||||
(void)y;
|
||||
|
|
|
@ -367,7 +367,7 @@ EAPI Evas_Object *elm_web_add(Evas_Object *parent);
|
|||
|
||||
/**
|
||||
* Change useragent of a elm_web object
|
||||
*
|
||||
*
|
||||
* @param obj The object
|
||||
* @param user_agent String for useragent
|
||||
*
|
||||
|
|
|
@ -2129,10 +2129,10 @@ elm_widget_show_region_set(Evas_Object *obj,
|
|||
Evas_Coord px, py, cx, cy;
|
||||
|
||||
API_ENTRY return;
|
||||
|
||||
|
||||
evas_smart_objects_calculate(evas_object_evas_get(obj));
|
||||
|
||||
if (!forceshow && (x == sd->rx) && (y == sd->ry) &&
|
||||
|
||||
if (!forceshow && (x == sd->rx) && (y == sd->ry) &&
|
||||
(w == sd->rw) && (h == sd->rh)) return;
|
||||
sd->rx = x;
|
||||
sd->ry = y;
|
||||
|
@ -2677,13 +2677,13 @@ _widget_name_find(const Evas_Object *obj, const char *name, int recurse)
|
|||
Evas_Object *child;
|
||||
const char *s;
|
||||
INTERNAL_ENTRY NULL;
|
||||
|
||||
|
||||
if (!_elm_widget_is(obj)) return NULL;
|
||||
if (sd->resize_obj)
|
||||
{
|
||||
s = evas_object_name_get(sd->resize_obj);
|
||||
if ((s) && (!strcmp(s, name))) return sd->resize_obj;
|
||||
if ((recurse != 0) &&
|
||||
if ((recurse != 0) &&
|
||||
((child = _widget_name_find(sd->resize_obj, name, recurse - 1))))
|
||||
return child;
|
||||
}
|
||||
|
@ -2691,7 +2691,7 @@ _widget_name_find(const Evas_Object *obj, const char *name, int recurse)
|
|||
{
|
||||
s = evas_object_name_get(child);
|
||||
if ((s) && (!strcmp(s, name))) return child;
|
||||
if ((recurse != 0) &&
|
||||
if ((recurse != 0) &&
|
||||
((child = _widget_name_find(child, name, recurse - 1))))
|
||||
return child;
|
||||
}
|
||||
|
@ -2699,7 +2699,7 @@ _widget_name_find(const Evas_Object *obj, const char *name, int recurse)
|
|||
{
|
||||
s = evas_object_name_get(sd->hover_obj);
|
||||
if ((s) && (!strcmp(s, name))) return sd->hover_obj;
|
||||
if ((recurse != 0) &&
|
||||
if ((recurse != 0) &&
|
||||
((child = _widget_name_find(sd->hover_obj, name, recurse - 1))))
|
||||
return child;
|
||||
}
|
||||
|
|
|
@ -20,48 +20,52 @@ struct _Elm_Win
|
|||
Elm_Win_Keyboard_Mode kbdmode;
|
||||
Elm_Win_Indicator_Mode indmode;
|
||||
Elm_Win_Indicator_Opacity_Mode ind_o_mode;
|
||||
struct {
|
||||
const char *info;
|
||||
Ecore_Timer *timer;
|
||||
int repeat_count;
|
||||
int shot_counter;
|
||||
} shot;
|
||||
struct
|
||||
{
|
||||
const char *info;
|
||||
Ecore_Timer *timer;
|
||||
int repeat_count;
|
||||
int shot_counter;
|
||||
} shot;
|
||||
int resize_location;
|
||||
int *autodel_clear, rot;
|
||||
int show_count;
|
||||
struct {
|
||||
int x, y;
|
||||
} screen;
|
||||
struct
|
||||
struct
|
||||
{
|
||||
int x, y;
|
||||
} screen;
|
||||
struct
|
||||
{
|
||||
Ecore_Evas *ee;
|
||||
Evas *evas;
|
||||
Evas_Object *obj, *hot_obj;
|
||||
int hot_x, hot_y;
|
||||
} pointer;
|
||||
struct {
|
||||
Evas_Object *top;
|
||||
struct
|
||||
{
|
||||
Evas_Object *top;
|
||||
|
||||
struct {
|
||||
Evas_Object *target;
|
||||
Eina_Bool visible : 1;
|
||||
Eina_Bool handled : 1;
|
||||
} cur, prev;
|
||||
struct
|
||||
{
|
||||
Evas_Object *target;
|
||||
Eina_Bool visible : 1;
|
||||
Eina_Bool handled : 1;
|
||||
} cur, prev;
|
||||
|
||||
const char *style;
|
||||
Ecore_Job *reconf_job;
|
||||
const char *style;
|
||||
Ecore_Job *reconf_job;
|
||||
|
||||
Eina_Bool enabled : 1;
|
||||
Eina_Bool changed_theme : 1;
|
||||
Eina_Bool top_animate : 1;
|
||||
Eina_Bool geometry_changed : 1;
|
||||
} focus_highlight;
|
||||
Eina_Bool enabled : 1;
|
||||
Eina_Bool changed_theme : 1;
|
||||
Eina_Bool top_animate : 1;
|
||||
Eina_Bool geometry_changed : 1;
|
||||
} focus_highlight;
|
||||
|
||||
Evas_Object *icon;
|
||||
const char *title;
|
||||
const char *icon_name;
|
||||
const char *role;
|
||||
|
||||
|
||||
double aspect;
|
||||
Eina_Bool urgent : 1;
|
||||
Eina_Bool modal : 1;
|
||||
|
@ -352,7 +356,7 @@ _elm_win_resize(Ecore_Evas *ee)
|
|||
win->deferred_resize_job = ecore_job_add(_elm_win_resize_job, win);
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
_elm_win_mouse_in(Ecore_Evas *ee)
|
||||
{
|
||||
Evas_Object *obj;
|
||||
|
@ -417,7 +421,7 @@ _elm_win_focus_out(Ecore_Evas *ee)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
_elm_win_state_change(Ecore_Evas *ee)
|
||||
{
|
||||
Evas_Object *obj;
|
||||
|
@ -429,7 +433,7 @@ _elm_win_state_change(Ecore_Evas *ee)
|
|||
Eina_Bool ch_maximized = EINA_FALSE;
|
||||
|
||||
if (!(obj = ecore_evas_object_associate_get(ee))) return;
|
||||
|
||||
|
||||
if (!(win = elm_widget_data_get(obj))) return;
|
||||
|
||||
if (win->withdrawn != ecore_evas_withdrawn_get(win->ee))
|
||||
|
@ -676,7 +680,7 @@ _elm_win_obj_callback_del(void *data, Evas *e, Evas_Object *obj, void *event_inf
|
|||
if (win->icon_name) eina_stringshare_del(win->icon_name);
|
||||
if (win->role) eina_stringshare_del(win->role);
|
||||
if (win->icon) evas_object_del(win->icon);
|
||||
|
||||
|
||||
free(win);
|
||||
|
||||
if ((!_elm_win_list) &&
|
||||
|
@ -913,7 +917,7 @@ static void
|
|||
_elm_win_xwin_update(Elm_Win *win)
|
||||
{
|
||||
const char *s;
|
||||
|
||||
|
||||
_elm_win_xwindow_get(win);
|
||||
if (win->parent)
|
||||
{
|
||||
|
@ -938,7 +942,7 @@ _elm_win_xwin_update(Elm_Win *win)
|
|||
|
||||
s = win->role;
|
||||
if (s) ecore_x_icccm_window_role_set(win->xwin, s);
|
||||
|
||||
|
||||
// set window icon
|
||||
if (win->icon)
|
||||
{
|
||||
|
@ -951,16 +955,16 @@ _elm_win_xwin_update(Elm_Win *win)
|
|||
int w = 0, h = 0, stride, x, y;
|
||||
unsigned char *p;
|
||||
unsigned int *p2;
|
||||
|
||||
|
||||
evas_object_image_size_get(win->icon, &w, &h);
|
||||
stride = evas_object_image_stride_get(win->icon);
|
||||
if ((w > 0) && (h > 0) &&
|
||||
if ((w > 0) && (h > 0) &&
|
||||
(stride >= (int)(w * sizeof(unsigned int))))
|
||||
{
|
||||
ic.width = w;
|
||||
ic.height = h;
|
||||
ic.data = malloc(w * h * sizeof(unsigned int));
|
||||
|
||||
|
||||
if (ic.data)
|
||||
{
|
||||
p = (unsigned char *)data;
|
||||
|
@ -973,7 +977,7 @@ _elm_win_xwin_update(Elm_Win *win)
|
|||
p += sizeof(unsigned int);
|
||||
p2++;
|
||||
}
|
||||
p += (stride - (w * sizeof(unsigned int)));
|
||||
p += (stride - (w * sizeof(unsigned int)));
|
||||
}
|
||||
ecore_x_netwm_icons_set(win->xwin, &ic, 1);
|
||||
free(ic.data);
|
||||
|
@ -982,7 +986,7 @@ _elm_win_xwin_update(Elm_Win *win)
|
|||
evas_object_image_data_set(win->icon, data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
switch (win->type)
|
||||
{
|
||||
case ELM_WIN_BASIC:
|
||||
|
@ -1509,7 +1513,7 @@ the_end:
|
|||
win->focus_highlight.prev = win->focus_highlight.cur;
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
_elm_win_frame_add(Elm_Win *win, const char *style)
|
||||
{
|
||||
evas_output_framespace_set(win->evas, 0, 22, 0, 26);
|
||||
|
@ -1520,19 +1524,19 @@ _elm_win_frame_add(Elm_Win *win, const char *style)
|
|||
evas_object_move(win->frame_obj, 0, 0);
|
||||
evas_object_resize(win->frame_obj, 1, 1);
|
||||
|
||||
edje_object_signal_callback_add(win->frame_obj, "elm,action,move,start",
|
||||
edje_object_signal_callback_add(win->frame_obj, "elm,action,move,start",
|
||||
"elm", _elm_win_frame_cb_move_start, win);
|
||||
edje_object_signal_callback_add(win->frame_obj, "elm,action,resize,start",
|
||||
edje_object_signal_callback_add(win->frame_obj, "elm,action,resize,start",
|
||||
"*", _elm_win_frame_cb_resize_start, win);
|
||||
edje_object_signal_callback_add(win->frame_obj, "elm,action,minimize",
|
||||
edje_object_signal_callback_add(win->frame_obj, "elm,action,minimize",
|
||||
"elm", _elm_win_frame_cb_minimize, win);
|
||||
edje_object_signal_callback_add(win->frame_obj, "elm,action,maximize",
|
||||
edje_object_signal_callback_add(win->frame_obj, "elm,action,maximize",
|
||||
"elm", _elm_win_frame_cb_maximize, win);
|
||||
edje_object_signal_callback_add(win->frame_obj, "elm,action,close",
|
||||
edje_object_signal_callback_add(win->frame_obj, "elm,action,close",
|
||||
"elm", _elm_win_frame_cb_close, win);
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
_elm_win_frame_cb_move_start(void *data, Evas_Object *obj __UNUSED__, const char *sig __UNUSED__, const char *source __UNUSED__)
|
||||
{
|
||||
Elm_Win *win;
|
||||
|
@ -1544,7 +1548,7 @@ _elm_win_frame_cb_move_start(void *data, Evas_Object *obj __UNUSED__, const char
|
|||
ecore_evas_move(win->ee, 0, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
_elm_win_frame_cb_resize_start(void *data, Evas_Object *obj __UNUSED__, const char *sig __UNUSED__, const char *source)
|
||||
{
|
||||
Elm_Win *win;
|
||||
|
@ -1578,7 +1582,7 @@ _elm_win_frame_cb_resize_start(void *data, Evas_Object *obj __UNUSED__, const ch
|
|||
ecore_evas_wayland_resize(win->ee, win->resize_location);
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
_elm_win_frame_cb_minimize(void *data, Evas_Object *obj __UNUSED__, const char *sig __UNUSED__, const char *source __UNUSED__)
|
||||
{
|
||||
Elm_Win *win;
|
||||
|
@ -1588,7 +1592,7 @@ _elm_win_frame_cb_minimize(void *data, Evas_Object *obj __UNUSED__, const char *
|
|||
ecore_evas_iconified_set(win->ee, EINA_TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
_elm_win_frame_cb_maximize(void *data, Evas_Object *obj __UNUSED__, const char *sig __UNUSED__, const char *source __UNUSED__)
|
||||
{
|
||||
Elm_Win *win;
|
||||
|
@ -1599,7 +1603,7 @@ _elm_win_frame_cb_maximize(void *data, Evas_Object *obj __UNUSED__, const char *
|
|||
ecore_evas_maximized_set(win->ee, win->maximized);
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
_elm_win_frame_cb_close(void *data, Evas_Object *obj __UNUSED__, const char *sig __UNUSED__, const char *source __UNUSED__)
|
||||
{
|
||||
Elm_Win *win;
|
||||
|
@ -1609,7 +1613,7 @@ _elm_win_frame_cb_close(void *data, Evas_Object *obj __UNUSED__, const char *sig
|
|||
}
|
||||
|
||||
/*
|
||||
static void
|
||||
static void
|
||||
_elm_win_pointer_add(Elm_Win *win, const char *style)
|
||||
{
|
||||
int mw, mh;
|
||||
|
@ -1750,7 +1754,7 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
|
|||
|
||||
win->kbdmode = ELM_WIN_KEYBOARD_UNKNOWN;
|
||||
win->indmode = ELM_WIN_INDICATOR_UNKNOWN;
|
||||
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case ELM_WIN_INLINED_IMAGE:
|
||||
|
@ -1892,7 +1896,7 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
|
|||
{
|
||||
win->ee = ecore_evas_ews_new(0, 0, 1, 1);
|
||||
}
|
||||
else if (ENGINE_COMPARE(ELM_WAYLAND_SHM))
|
||||
else if (ENGINE_COMPARE(ELM_WAYLAND_SHM))
|
||||
{
|
||||
win->ee = ecore_evas_wayland_shm_new(NULL, 0, 0, 0, 1, 1, 0);
|
||||
win->evas = ecore_evas_get(win->ee);
|
||||
|
@ -1900,7 +1904,7 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
|
|||
_elm_win_frame_add(win, "default");
|
||||
// _elm_win_pointer_add(win, "default");
|
||||
}
|
||||
else if (ENGINE_COMPARE(ELM_WAYLAND_EGL))
|
||||
else if (ENGINE_COMPARE(ELM_WAYLAND_EGL))
|
||||
{
|
||||
win->ee = ecore_evas_wayland_egl_new(NULL, 0, 0, 0, 1, 1, 0);
|
||||
win->evas = ecore_evas_get(win->ee);
|
||||
|
@ -1956,7 +1960,7 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
|
|||
evas_object_layer_set(win->win_obj, 50);
|
||||
evas_object_pass_events_set(win->win_obj, EINA_TRUE);
|
||||
|
||||
if (win->frame_obj)
|
||||
if (win->frame_obj)
|
||||
{
|
||||
evas_object_clip_set(win->win_obj, win->frame_obj);
|
||||
evas_object_stack_below(win->frame_obj, win->win_obj);
|
||||
|
|
|
@ -144,9 +144,9 @@ typedef enum
|
|||
Evas_Object. */
|
||||
ELM_WIN_SOCKET_IMAGE,/**< The window is rendered onto an image buffer
|
||||
and can be shown other process's plug image object.
|
||||
No actual window is created for this type,
|
||||
No actual window is created for this type,
|
||||
instead the window and all of its contents will be
|
||||
rendered to an image buffer and can be shown
|
||||
rendered to an image buffer and can be shown
|
||||
other process's plug image object*/
|
||||
} Elm_Win_Type;
|
||||
|
||||
|
@ -179,7 +179,7 @@ typedef enum
|
|||
/**
|
||||
* In some environments, like phones, you may have an indicator that
|
||||
* shows battery status, reception, time etc. This is the indicator.
|
||||
*
|
||||
*
|
||||
* Sometimes you don't want it because you provide the same functionality
|
||||
* inside your app, so this will request that the indicator is hidden in
|
||||
* this circumstance if you use ELM_ILLUME_INDICATOR_HIDE. The default
|
||||
|
@ -355,14 +355,14 @@ EAPI const char *elm_win_role_get(const Evas_Object *obj);
|
|||
|
||||
/**
|
||||
* Set the object to represent the window icon
|
||||
*
|
||||
*
|
||||
* This sets an object that will be used as the icon for the window. The exact
|
||||
* pixel dimensions of the object (not object size) will be used, and the
|
||||
* image pixels will be used as-is when this function is called. If the
|
||||
* image object has been updated, then call this function again to source
|
||||
* the image pixels and put them on the window's icon. This has limitations
|
||||
* as only image objects allowed at this stage. This may be lifted in future.
|
||||
*
|
||||
*
|
||||
* @param obj The window object
|
||||
* @param icon The object to use for an icon
|
||||
*/
|
||||
|
|
|
@ -26,7 +26,8 @@ struct _Smart_Data
|
|||
|
||||
Elm_Smart_Scroller_Policy hbar_flags, vbar_flags;
|
||||
|
||||
struct {
|
||||
struct
|
||||
{
|
||||
Evas_Coord x, y;
|
||||
Evas_Coord sx, sy;
|
||||
Evas_Coord dx, dy;
|
||||
|
@ -36,68 +37,75 @@ struct _Smart_Data
|
|||
Evas_Coord bx0, by0;
|
||||
Evas_Coord b0x, b0y;
|
||||
Evas_Coord b2x, b2y;
|
||||
struct {
|
||||
struct
|
||||
{
|
||||
Evas_Coord x, y;
|
||||
double timestamp, localtimestamp;
|
||||
} history[60];
|
||||
struct {
|
||||
double tadd, dxsum, dysum;
|
||||
double est_timestamp_diff;
|
||||
} hist;
|
||||
double anim_start;
|
||||
double anim_start2;
|
||||
double anim_start3;
|
||||
double onhold_vx, onhold_vy, onhold_tlast, onhold_vxe, onhold_vye;
|
||||
double extra_time;
|
||||
Evas_Coord hold_x, hold_y;
|
||||
Ecore_Animator *hold_animator;
|
||||
Ecore_Animator *onhold_animator;
|
||||
Ecore_Animator *momentum_animator;
|
||||
Ecore_Animator *bounce_x_animator;
|
||||
Ecore_Animator *bounce_y_animator;
|
||||
Evas_Coord locked_x, locked_y;
|
||||
int hdir, vdir;
|
||||
Eina_Bool now : 1;
|
||||
Eina_Bool cancelled : 1;
|
||||
Eina_Bool hold : 1;
|
||||
Eina_Bool hold_parent : 1;
|
||||
Eina_Bool want_dragged : 1;
|
||||
Eina_Bool dragged : 1;
|
||||
Eina_Bool dragged_began : 1;
|
||||
Eina_Bool dir_x : 1;
|
||||
Eina_Bool dir_y : 1;
|
||||
Eina_Bool locked : 1;
|
||||
Eina_Bool bounce_x_hold : 1;
|
||||
Eina_Bool bounce_y_hold : 1;
|
||||
Eina_Bool scroll : 1;
|
||||
Eina_Bool want_reset : 1;
|
||||
} down;
|
||||
} history[60];
|
||||
struct
|
||||
{
|
||||
double tadd, dxsum, dysum;
|
||||
double est_timestamp_diff;
|
||||
} hist;
|
||||
double anim_start;
|
||||
double anim_start2;
|
||||
double anim_start3;
|
||||
double onhold_vx, onhold_vy, onhold_tlast, onhold_vxe, onhold_vye;
|
||||
double extra_time;
|
||||
Evas_Coord hold_x, hold_y;
|
||||
Ecore_Animator *hold_animator;
|
||||
Ecore_Animator *onhold_animator;
|
||||
Ecore_Animator *momentum_animator;
|
||||
Ecore_Animator *bounce_x_animator;
|
||||
Ecore_Animator *bounce_y_animator;
|
||||
Evas_Coord locked_x, locked_y;
|
||||
int hdir, vdir;
|
||||
Eina_Bool now : 1;
|
||||
Eina_Bool cancelled : 1;
|
||||
Eina_Bool hold : 1;
|
||||
Eina_Bool hold_parent : 1;
|
||||
Eina_Bool want_dragged : 1;
|
||||
Eina_Bool dragged : 1;
|
||||
Eina_Bool dragged_began : 1;
|
||||
Eina_Bool dir_x : 1;
|
||||
Eina_Bool dir_y : 1;
|
||||
Eina_Bool locked : 1;
|
||||
Eina_Bool bounce_x_hold : 1;
|
||||
Eina_Bool bounce_y_hold : 1;
|
||||
Eina_Bool scroll : 1;
|
||||
Eina_Bool want_reset : 1;
|
||||
} down;
|
||||
|
||||
struct {
|
||||
Evas_Coord w, h;
|
||||
Eina_Bool resized : 1;
|
||||
} child;
|
||||
struct {
|
||||
Evas_Coord x, y;
|
||||
} step, page;
|
||||
struct
|
||||
{
|
||||
Evas_Coord w, h;
|
||||
Eina_Bool resized : 1;
|
||||
} child;
|
||||
struct
|
||||
{
|
||||
Evas_Coord x, y;
|
||||
} step, page;
|
||||
|
||||
struct {
|
||||
void (*set) (Evas_Object *obj, Evas_Coord x, Evas_Coord y);
|
||||
void (*get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
|
||||
void (*max_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
|
||||
void (*min_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
|
||||
void (*child_size_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
|
||||
void (*gravity_set) (Evas_Object *obj, double x, double y);
|
||||
void (*gravity_get) (Evas_Object *obj, double *x, double *y);
|
||||
} pan_func;
|
||||
struct
|
||||
{
|
||||
void (*set) (Evas_Object *obj, Evas_Coord x, Evas_Coord y);
|
||||
void (*get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
|
||||
void (*max_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
|
||||
void (*min_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
|
||||
void (*child_size_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
|
||||
void (*gravity_set) (Evas_Object *obj, double x, double y);
|
||||
void (*gravity_get) (Evas_Object *obj, double *x, double *y);
|
||||
} pan_func;
|
||||
|
||||
struct {
|
||||
struct {
|
||||
Evas_Coord start, end;
|
||||
double t_start, t_end;
|
||||
Ecore_Animator *animator;
|
||||
} x, y;
|
||||
} scrollto;
|
||||
struct
|
||||
{
|
||||
struct
|
||||
{
|
||||
Evas_Coord start, end;
|
||||
double t_start, t_end;
|
||||
Ecore_Animator *animator;
|
||||
} x, y;
|
||||
} scrollto;
|
||||
|
||||
double pagerel_h, pagerel_v;
|
||||
Evas_Coord pagesize_h, pagesize_v;
|
||||
|
@ -1836,10 +1844,11 @@ _smart_hold_animator(void *data)
|
|||
int i, count = 0;
|
||||
Evas_Coord basex = 0, basey = 0, x, y;
|
||||
double dt, t, tdiff, tnow, twin;
|
||||
struct {
|
||||
struct
|
||||
{
|
||||
Evas_Coord x, y, dx, dy;
|
||||
double t, dt;
|
||||
} pos[60];
|
||||
} pos[60];
|
||||
|
||||
tdiff = sd->down.hist.est_timestamp_diff;
|
||||
tnow = ecore_time_get() - tdiff;
|
||||
|
|
|
@ -43,12 +43,14 @@ struct _Elm_Tooltip
|
|||
Ecore_Timer *hide_timer;
|
||||
Ecore_Job *reconfigure_job;
|
||||
Evas_Coord mouse_x, mouse_y;
|
||||
struct {
|
||||
Evas_Coord x, y, bx, by;
|
||||
} pad;
|
||||
struct {
|
||||
double x, y;
|
||||
} rel_pos;
|
||||
struct
|
||||
{
|
||||
Evas_Coord x, y, bx, by;
|
||||
} pad;
|
||||
struct
|
||||
{
|
||||
double x, y;
|
||||
} rel_pos;
|
||||
double hide_timeout; /* from theme */
|
||||
Eina_Bool visible_lock:1;
|
||||
Eina_Bool changed_style:1;
|
||||
|
|
Loading…
Reference in New Issue