From e4dbdd373066fa325814c8f18586a4539fd7a5e6 Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Thu, 14 Mar 2019 14:35:01 +0900 Subject: [PATCH] Fix for migration missing code (2f007f7a08 ~ 1e750ddfde) #2 Add missing tizen only code. This code is a method and signal that disappears after the eo class has been deleted. Change-Id: Icbee3a531d44f920a1322003822c80ecb0b1e788 --- src/lib/edje/efl_canvas_layout_eo.legacy.c | 132 +++++++++++ src/lib/edje/efl_canvas_layout_eo.legacy.h | 318 +++++++++++++++++++++++++++ src/lib/elementary/efl_ui_widget.c | 138 ++++++------ src/lib/elementary/efl_ui_widget_eo.legacy.c | 72 ++++++ src/lib/elementary/efl_ui_widget_eo.legacy.h | 189 ++++++++++++++++ src/lib/elementary/efl_ui_win.c | 4 +- src/lib/elementary/elm_gengrid_pan_eo.c | 7 + src/lib/elementary/elm_genlist_pan_eo.c | 6 + src/lib/elementary/elm_pan_eo.c | 9 + src/lib/elementary/elm_pan_eo.h | 4 + src/lib/elementary/elm_pan_eo.legacy.c | 8 + src/lib/elementary/elm_pan_eo.legacy.h | 3 + src/lib/elementary/elm_widget.h | 2 +- src/lib/evas/canvas/evas_box_eo.c | 10 +- src/lib/evas/canvas/evas_object_box.c | 13 ++ src/lib/evas/canvas/evas_object_table.c | 13 ++ src/lib/evas/canvas/evas_table_eo.c | 8 +- 17 files changed, 858 insertions(+), 78 deletions(-) diff --git a/src/lib/edje/efl_canvas_layout_eo.legacy.c b/src/lib/edje/efl_canvas_layout_eo.legacy.c index f55e5d5..c0e37f0 100644 --- a/src/lib/edje/efl_canvas_layout_eo.legacy.c +++ b/src/lib/edje/efl_canvas_layout_eo.legacy.c @@ -34,3 +34,135 @@ edje_object_content_remove(Efl_Canvas_Layout *obj, Efl_Gfx_Entity *content) { return efl_canvas_layout_content_remove(obj, content); } + +/*********************************************************************************** + * TIZEN_ONLY_FEATURE: API for handling text properties of Edje * + ***********************************************************************************/ +EAPI Eina_Bool +edje_object_part_text_min_policy_set(Efl_Canvas_Layout *obj, const char *part, const char *state_name, Eina_Bool min_x, Eina_Bool min_y) +{ + return efl_canvas_layout_part_text_min_policy_set(obj, part, state_name, min_x, min_y); +} + +EAPI Eina_Bool +edje_object_part_text_min_policy_get(const Efl_Canvas_Layout *obj, const char *part, const char *state_name, Eina_Bool *min_x, Eina_Bool *min_y) +{ + return efl_canvas_layout_part_text_min_policy_get(obj, part, state_name, min_x, min_y); +} + +EAPI Eina_Bool +edje_object_part_text_valign_set(Efl_Canvas_Layout *obj, const char *part, double valign) +{ + return efl_canvas_layout_part_text_valign_set(obj, part, valign); +} + +EAPI double +edje_object_part_text_valign_get(const Efl_Canvas_Layout *obj, const char *part) +{ + return efl_canvas_layout_part_text_valign_get(obj, part); +} +/******* + * END * + *******/ + +/*********************************************************************************** + * TIZEN_ONLY_FEATURE: ellipsize.marquee, ellipsize.fade for TEXTBLOCK, TEXT part. * + ***********************************************************************************/ +EAPI Eina_Bool +edje_object_part_text_marquee_duration_set(Efl_Canvas_Layout *obj, const char *part, double duration) +{ + return efl_canvas_layout_part_text_marquee_duration_set(obj, part, duration); +} + +EAPI double +edje_object_part_text_marquee_duration_get(const Efl_Canvas_Layout *obj, const char *part) +{ + return efl_canvas_layout_part_text_marquee_duration_get(obj, part); +} + +EAPI Eina_Bool +edje_object_part_text_marquee_speed_set(Efl_Canvas_Layout *obj, const char *part, double speed) +{ + return efl_canvas_layout_part_text_marquee_speed_set(obj, part, speed); +} + +EAPI double +edje_object_part_text_marquee_speed_get(const Efl_Canvas_Layout *obj, const char *part) +{ + return efl_canvas_layout_part_text_marquee_speed_get(obj, part); +} + +EAPI Eina_Bool +edje_object_part_text_marquee_always_set(Efl_Canvas_Layout *obj, const char *part, Eina_Bool always) +{ + return efl_canvas_layout_part_text_marquee_always_set(obj, part, always); +} + +EAPI Eina_Bool +edje_object_part_text_marquee_always_get(const Efl_Canvas_Layout *obj, const char *part) +{ + return efl_canvas_layout_part_text_marquee_always_get(obj, part); +} +/******* + * END * + *******/ + +/*********************************************************************************** + * TIZEN_ONLY_FEATURE: apply Tizen's color_class features. * + ***********************************************************************************/ +EAPI void +edje_object_color_class_parent_set(Efl_Canvas_Layout *obj, Efl_Object *parent) +{ + efl_canvas_layout_color_class_parent_set(obj, parent); +} + +EAPI void +edje_object_color_class_parent_unset(Efl_Canvas_Layout *obj) +{ + efl_canvas_layout_color_class_parent_unset(obj); +} +/******* + * END * + *******/ + +/*********************************************************************************** + * TIZEN_ONLY_FEATURE: API for handling common properties of Edje * + ***********************************************************************************/ +EAPI Eina_Bool +edje_object_part_valign_set(Efl_Canvas_Layout *obj, const char *part, double valign) +{ + return efl_canvas_layout_part_valign_set(obj, part, valign); +} + +EAPI double +edje_object_part_valign_get(const Efl_Canvas_Layout *obj, const char *part) +{ + return efl_canvas_layout_part_valign_get(obj, part); +} + +EAPI void +edje_object_part_text_cursor_coord_get(Efl_Canvas_Layout *obj, const char *part, Edje_Cursor cur, int *x, int *y) +{ + efl_canvas_layout_part_text_cursor_coord_get(obj, part, cur, x, y); +} + +EAPI void +edje_object_part_text_cursor_size_get(Efl_Canvas_Layout *obj, const char *part, Edje_Cursor cur, int *w, int *h) +{ + efl_canvas_layout_part_text_cursor_size_get(obj, part, cur, w, h); +} +/******* + * END * + *******/ + +/********************************************************************************** + * TIZEN_ONLY(20171128): add additional cursor function for improving performance * + **********************************************************************************/ +EAPI void +edje_object_part_text_cursor_on_mouse_geometry_get(const Efl_Canvas_Layout *obj, const char *part, int *x, int *y, int *w, int *h) +{ + efl_canvas_layout_part_text_cursor_on_mouse_geometry_get(obj, part, x, y, w, h); +} +/******* + * END * + *******/ diff --git a/src/lib/edje/efl_canvas_layout_eo.legacy.h b/src/lib/edje/efl_canvas_layout_eo.legacy.h index 0155eb9..7e560a2 100644 --- a/src/lib/edje/efl_canvas_layout_eo.legacy.h +++ b/src/lib/edje/efl_canvas_layout_eo.legacy.h @@ -112,4 +112,322 @@ EAPI Eina_Error edje_object_layout_load_error_get(const Efl_Canvas_Layout *obj); */ EAPI Eina_Bool edje_object_content_remove(Efl_Canvas_Layout *obj, Efl_Gfx_Entity *content); +/*********************************************************************************** +* TIZEN_ONLY_FEATURE: API for handling text properties of Edje * +***********************************************************************************/ +/** + * @brief Sets the object text min calculation policy. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. + * + * @if MOBILE @since_tizen 3.0 @elseif WEARABLE @since_tizen 3.0 @endif + * @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * @param[in] state_name The state name + * @param[in] min_x The min width policy + * @param[in] min_y The min height policy + * + * @return @c true on success, or @c false on error + * + * @ingroup Edje_Object_Group + */ +EAPI Eina_Bool edje_object_part_text_min_policy_set(Efl_Canvas_Layout *obj, const char *part, const char *state_name, Eina_Bool min_x, Eina_Bool min_y); + +/** + * @brief Gets the object text min calculation policy. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. + * + * @if MOBILE @since_tizen 3.0 @elseif WEARABLE @since_tizen 3.0 @endif + * @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * @param[in] state_name The state name + * @param[out] min_x The min width policy + * @param[out] min_y The min height policy + * + * @return @c true on success, or @c false on error + * + * @ingroup Edje_Object_Group + */ +EAPI Eina_Bool edje_object_part_text_min_policy_get(const Efl_Canvas_Layout *obj, const char *part, const char *state_name, Eina_Bool *min_x, Eina_Bool *min_y); + +/** + * @brief Sets the valign for text. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * @param[in] valign The valign 0.0~1.0. -1.0 for respect EDC's align value. + * + * @return @c true, on success or @c false, on error + * + * @ingroup Edje_Object_Group + */ +EAPI Eina_Bool edje_object_part_text_valign_set(Efl_Canvas_Layout *obj, const char *part, double valign); + +/** + * @brief Gets the valign for text. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * + * @return The valign 0.0~1.0. -1.0 for respect EDC's align value. + * + * @ingroup Edje_Object_Group + */ +EAPI double edje_object_part_text_valign_get(const Efl_Canvas_Layout *obj, const char *part); + +/** + * @brief Sets the duration for text's marquee. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * @param[in] duration The duration. 0.0 for respect EDC's duration value. + * + * @return @c true, on success or @c false, on error + * + * @ingroup Edje_Object_Group + */ +/******* +* END * +*******/ + +/*********************************************************************************** +* TIZEN_ONLY_FEATURE: ellipsize.marquee, ellipsize.fade for TEXTBLOCK, TEXT part. * +***********************************************************************************/ +/** + * @brief Sets the duration for text's marquee. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * @param[in] duration The duration. 0.0 for respect EDC's duration value. + * + * @return @c true, on success or @c false, on error + * + * @ingroup Edje_Object_Group + */ +EAPI Eina_Bool edje_object_part_text_marquee_duration_set(Efl_Canvas_Layout *obj, const char *part, double duration); + +/** + * @brief Gets the duration for text's marquee. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * + * @return The duration. 0.0 for respect EDC's duration value. + * + * @ingroup Edje_Object_Group + */ +EAPI double edje_object_part_text_marquee_duration_get(const Efl_Canvas_Layout *obj, const char *part); + +/** + * @brief Sets the speed for text's marquee. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * @param[in] speed The speed. 0.0 for respect EDC's speed value. + * + * @return @c true, on success or @c false, on error + * + * @ingroup Edje_Object_Group + */ +EAPI Eina_Bool edje_object_part_text_marquee_speed_set(Efl_Canvas_Layout *obj, const char *part, double speed); + +/** + * @brief Gets the speed for text's marquee. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * + * @return The speed. 0.0 for respect EDC's speed value. + * + * @ingroup Edje_Object_Group + */ +EAPI double edje_object_part_text_marquee_speed_get(const Efl_Canvas_Layout *obj, const char *part); + +/** + * @brief Sets the always mode for text's marquee. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * @param[in] always The always mode + * + * @return @c true, on success or @c false, on error + * + * @ingroup Edje_Object_Group + */ +EAPI Eina_Bool edje_object_part_text_marquee_always_set(Efl_Canvas_Layout *obj, const char *part, Eina_Bool always); + +/** + * @brief Gets the always mode for text's marquee. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * + * @return The always mode + * + * @ingroup Edje_Object_Group + */ +EAPI Eina_Bool edje_object_part_text_marquee_always_get(const Efl_Canvas_Layout *obj, const char *part); +/******* +* END * +*******/ +/*********************************************************************************** + * TIZEN_ONLY_FEATURE: apply Tizen's color_class features. * + ***********************************************************************************/ +/** + * @brief Sets the parent object for color class. + * + * @if MOBILE @since_tizen 3.0 @elseif WEARABLE @since_tizen 3.0 @endif + * @internal + * + * @param[in] obj The object. + * @param[in] parent The parent object for color class + * + * @ingroup Edje_Object_Group + */ +EAPI void edje_object_color_class_parent_set(Efl_Canvas_Layout *obj, Efl_Object *parent) EINA_ARG_NONNULL(2); + +/** + * @brief Unsets the parent object for color class. + * + * @if MOBILE @since_tizen 3.0 @elseif WEARABLE @since_tizen 3.0 @endif + * @internal + * @param[in] obj The object. + * + * @ingroup Edje_Object_Group + */ +EAPI void edje_object_color_class_parent_unset(Efl_Canvas_Layout *obj); +/******* +* END * +*******/ +/*********************************************************************************** + * TIZEN_ONLY_FEATURE: API for handling common properties of Edje * + ***********************************************************************************/ +/** + * @brief Sets the valign for a common description. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * @param[in] valign The valign 0.0~1.0. -1.0 for respect EDC's align value. + * + * @return @c true, on success or @c false, on error + * + * @ingroup Edje_Object_Group + */ +EAPI Eina_Bool edje_object_part_valign_set(Efl_Canvas_Layout *obj, const char *part, double valign); + +/** + * @brief Gets the valign for a common description. + * + * Do not use this API without understanding whats going on. It is made for + * internal usage. @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * + * @return The valign 0.0~1.0. -1.0 for respect EDC's align value. + * + * @ingroup Edje_Object_Group + */ +EAPI double edje_object_part_valign_get(const Efl_Canvas_Layout *obj, const char *part); + +/******* + * END * + *******/ +/********************************************************************************** + * TIZEN_ONLY(20171128): add additional cursor function for improving performance * + **********************************************************************************/ +/** + * @brief Get a position of the given cursor + * + * @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * @param[in] cur cursor type + * @param[out] x w + * @param[out] y h + * + * @ingroup Edje_Object_Group + */ +EAPI void edje_object_part_text_cursor_coord_get(Efl_Canvas_Layout *obj, const char *part, Edje_Cursor cur, int *x, int *y); + +/** + * @brief Get a size of the given cursor + * + * @internal + * + * @param[in] obj The object. + * @param[in] part The part name + * @param[in] cur cursor type + * @param[out] w w + * @param[out] h h + * + * @ingroup Edje_Object_Group + */ +EAPI void edje_object_part_text_cursor_size_get(Efl_Canvas_Layout *obj, const char *part, Edje_Cursor cur, int *w, int *h); +/******* + * END * + *******/ +/********************************************************************* + * TIZEN_ONLY(20161110): keep cursor position on mouse down and move * + *********************************************************************/ +/** + * @brief Returns the cursor geometry of the part relative to the edje object. + * The cursor geometry is kept in mouse down and move. + * + * @internal @if MOBILE @since_tizen 3.0 @elseif WEARABLE @since_tizen 3.0 + * @endif + * + * @param[in] obj The object. + * @param[in] part The part name + * @param[out] x Cursor X position + * @param[out] y Cursor Y position + * @param[out] w Cursor width + * @param[out] h Cursor height + * + * @ingroup Edje_Object_Group + */ +EAPI void edje_object_part_text_cursor_on_mouse_geometry_get(const Efl_Canvas_Layout *obj, const char *part, int *x, int *y, int *w, int *h); +/******* + * END * + *******/ + + #endif diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c index f945ee4..eac485b 100644 --- a/src/lib/elementary/efl_ui_widget.c +++ b/src/lib/elementary/efl_ui_widget.c @@ -104,7 +104,7 @@ static Eina_List *_lines_split(Eina_List *children); static int _sort_vertically(const void *data1, const void *data2); static int _sort_horizontally(const void *data1, const void *data2); -Eo * plug_type_proxy_get(Eo *obj, Evas_Object *widget); +Eo * plug_type_proxy_get(const Eo *obj, Evas_Object *widget); static Eina_Bool _elm_widget_can_highlight_get_by_class(Eo *obj); static Eina_Bool _accessible_object_on_scroll_is(Eo* obj); @@ -6925,7 +6925,7 @@ _on_ewk_del(void *data, const Efl_Event *desc EINA_UNUSED) //TIZEN_ONLY(20170621) handle atspi proxy connection at runtime Eo * -plug_type_proxy_get(Eo *obj, Evas_Object *widget) +plug_type_proxy_get(const Eo *obj, Evas_Object *widget) { Eo *proxy = NULL; const char *plug_id; @@ -6984,7 +6984,7 @@ elm_widget_atspi_plug_type_proxy_get(Evas_Object *obj) //TIZEN_ONLY(20161107): enhance elm_atspi_accessible_can_highlight_set to set can_hihglight property to its children EAPI Eina_Bool -_elm_widget_highlightable(Evas_Object *obj) +_elm_widget_highlightable(const Evas_Object *obj) { Eo *parent; @@ -9119,34 +9119,34 @@ _efl_ui_widget_focus_next_get(const Eo *obj, Elm_Widget_Smart_Data *sd, Efl_Ui_F if (!int_ret && _is_focused((Eo *)obj)) { Evas_Object *o = NULL; - if (dir == ELM_FOCUS_PREVIOUS) + if (dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS) *next_item = sd->item_focus_previous; - else if (dir == ELM_FOCUS_NEXT) + else if (dir == EFL_UI_FOCUS_DIRECTION_NEXT) *next_item = sd->item_focus_next; - else if (dir == ELM_FOCUS_UP) + else if (dir == EFL_UI_FOCUS_DIRECTION_UP) *next_item = sd->item_focus_up; - else if (dir == ELM_FOCUS_DOWN) + else if (dir == EFL_UI_FOCUS_DIRECTION_DOWN) *next_item = sd->item_focus_down; - else if (dir == ELM_FOCUS_RIGHT) + else if (dir == EFL_UI_FOCUS_DIRECTION_RIGHT) *next_item = sd->item_focus_right; - else if (dir == ELM_FOCUS_LEFT) + else if (dir == EFL_UI_FOCUS_DIRECTION_LEFT) *next_item = sd->item_focus_left; if (*next_item) o = elm_object_item_widget_get(*next_item); if (!o) { - if (dir == ELM_FOCUS_PREVIOUS) + if (dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS) o = sd->focus_previous; - else if (dir == ELM_FOCUS_NEXT) + else if (dir == EFL_UI_FOCUS_DIRECTION_NEXT) o = sd->focus_next; - else if (dir == ELM_FOCUS_UP) + else if (dir == EFL_UI_FOCUS_DIRECTION_UP) o = sd->focus_up; - else if (dir == ELM_FOCUS_DOWN) + else if (dir == EFL_UI_FOCUS_DIRECTION_DOWN) o = sd->focus_down; - else if (dir == ELM_FOCUS_RIGHT) + else if (dir == EFL_UI_FOCUS_DIRECTION_RIGHT) o = sd->focus_right; - else if (dir == ELM_FOCUS_LEFT) + else if (dir == EFL_UI_FOCUS_DIRECTION_LEFT) o = sd->focus_left; } @@ -9175,33 +9175,33 @@ _efl_ui_widget_focus_next_get(const Eo *obj, Elm_Widget_Smart_Data *sd, Efl_Ui_F if (_is_focused((Eo *)obj)) { - if (dir == ELM_FOCUS_PREVIOUS) + if (dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS) *next_item = sd->item_focus_previous; - else if (dir == ELM_FOCUS_NEXT) + else if (dir == EFL_UI_FOCUS_DIRECTION_NEXT) *next_item = sd->item_focus_next; - else if (dir == ELM_FOCUS_UP) + else if (dir == EFL_UI_FOCUS_DIRECTION_UP) *next_item = sd->item_focus_up; - else if (dir == ELM_FOCUS_DOWN) + else if (dir == EFL_UI_FOCUS_DIRECTION_DOWN) *next_item = sd->item_focus_down; - else if (dir == ELM_FOCUS_RIGHT) + else if (dir == EFL_UI_FOCUS_DIRECTION_RIGHT) *next_item = sd->item_focus_right; - else if (dir == ELM_FOCUS_LEFT) + else if (dir == EFL_UI_FOCUS_DIRECTION_LEFT) *next_item = sd->item_focus_left; if (*next_item) *next = elm_object_item_widget_get(*next_item); if (!(*next)) { - if (dir == ELM_FOCUS_PREVIOUS) + if (dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS) *next = sd->focus_previous; - else if (dir == ELM_FOCUS_NEXT) + else if (dir == EFL_UI_FOCUS_DIRECTION_NEXT) *next = sd->focus_next; - else if (dir == ELM_FOCUS_UP) + else if (dir == EFL_UI_FOCUS_DIRECTION_UP) *next = sd->focus_up; - else if (dir == ELM_FOCUS_DOWN) + else if (dir == EFL_UI_FOCUS_DIRECTION_DOWN) *next = sd->focus_down; - else if (dir == ELM_FOCUS_RIGHT) + else if (dir == EFL_UI_FOCUS_DIRECTION_RIGHT) *next = sd->focus_right; - else if (dir == ELM_FOCUS_LEFT) + else if (dir == EFL_UI_FOCUS_DIRECTION_LEFT) *next = sd->focus_left; } @@ -9252,10 +9252,10 @@ _efl_ui_widget_focus_list_next_get(const Eo *obj, Elm_Widget_Smart_Data *_pd EIN focused_object = efl_ui_widget_focused_object_get(obj); if (focused_object) { - if ((dir == ELM_FOCUS_UP) - || (dir == ELM_FOCUS_DOWN) - || (dir == ELM_FOCUS_RIGHT) - || (dir == ELM_FOCUS_LEFT)) + if ((dir == EFL_UI_FOCUS_DIRECTION_UP) + || (dir == EFL_UI_FOCUS_DIRECTION_DOWN) + || (dir == EFL_UI_FOCUS_DIRECTION_RIGHT) + || (dir == EFL_UI_FOCUS_DIRECTION_LEFT)) { *next_item = efl_ui_widget_focus_next_item_get(focused_object, dir); if (*next_item) @@ -9270,10 +9270,10 @@ _efl_ui_widget_focus_list_next_get(const Eo *obj, Elm_Widget_Smart_Data *_pd EIN double degree = 0; double weight = 0.0; - if (dir == ELM_FOCUS_UP) degree = 0.0; - else if (dir == ELM_FOCUS_DOWN) degree = 180.0; - else if (dir == ELM_FOCUS_RIGHT) degree = 90.0; - else if (dir == ELM_FOCUS_LEFT) degree = 270.0; + if (dir == EFL_UI_FOCUS_DIRECTION_UP) degree = 0.0; + else if (dir == EFL_UI_FOCUS_DIRECTION_DOWN) degree = 180.0; + else if (dir == EFL_UI_FOCUS_DIRECTION_RIGHT) degree = 90.0; + else if (dir == EFL_UI_FOCUS_DIRECTION_LEFT) degree = 270.0; if (efl_ui_widget_focus_list_direction_get(obj, focused_object, items, list_data_get, @@ -9289,16 +9289,16 @@ _efl_ui_widget_focus_list_next_get(const Eo *obj, Elm_Widget_Smart_Data *_pd EIN } /* Direction */ - if (dir == ELM_FOCUS_PREVIOUS) + if (dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS) { items = eina_list_last(items); list_next = eina_list_prev; } - else if ((dir == ELM_FOCUS_NEXT) - || (dir == ELM_FOCUS_UP) - || (dir == ELM_FOCUS_DOWN) - || (dir == ELM_FOCUS_RIGHT) - || (dir == ELM_FOCUS_LEFT)) + else if ((dir == EFL_UI_FOCUS_DIRECTION_NEXT) + || (dir == EFL_UI_FOCUS_DIRECTION_UP) + || (dir == EFL_UI_FOCUS_DIRECTION_DOWN) + || (dir == EFL_UI_FOCUS_DIRECTION_RIGHT) + || (dir == EFL_UI_FOCUS_DIRECTION_LEFT)) list_next = eina_list_next; else return EINA_FALSE; @@ -9342,10 +9342,10 @@ _efl_ui_widget_focus_list_next_get(const Eo *obj, Elm_Widget_Smart_Data *_pd EIN *next_item = tmp_item; return EINA_TRUE; } - else if ((dir == ELM_FOCUS_UP) - || (dir == ELM_FOCUS_DOWN) - || (dir == ELM_FOCUS_RIGHT) - || (dir == ELM_FOCUS_LEFT)) + else if ((dir == EFL_UI_FOCUS_DIRECTION_UP) + || (dir == EFL_UI_FOCUS_DIRECTION_DOWN) + || (dir == EFL_UI_FOCUS_DIRECTION_RIGHT) + || (dir == EFL_UI_FOCUS_DIRECTION_LEFT)) { if (tmp && _is_focused(cur)) { @@ -9407,17 +9407,17 @@ _efl_ui_widget_focus_next_object_get(const Eo *obj EINA_UNUSED, Elm_Widget_Smart { Evas_Object *ret = NULL; - if (dir == ELM_FOCUS_PREVIOUS) + if (dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS) ret = sd->focus_previous; - else if (dir == ELM_FOCUS_NEXT) + else if (dir == EFL_UI_FOCUS_DIRECTION_NEXT) ret = sd->focus_next; - else if (dir == ELM_FOCUS_UP) + else if (dir == EFL_UI_FOCUS_DIRECTION_UP) ret = sd->focus_up; - else if (dir == ELM_FOCUS_DOWN) + else if (dir == EFL_UI_FOCUS_DIRECTION_DOWN) ret = sd->focus_down; - else if (dir == ELM_FOCUS_RIGHT) + else if (dir == EFL_UI_FOCUS_DIRECTION_RIGHT) ret = sd->focus_right; - else if (dir == ELM_FOCUS_LEFT) + else if (dir == EFL_UI_FOCUS_DIRECTION_LEFT) ret = sd->focus_left; return ret; @@ -9443,17 +9443,17 @@ EOLIAN static void _efl_ui_widget_focus_next_object_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Evas_Object *next, Efl_Ui_Focus_Direction dir) { - if (dir == ELM_FOCUS_PREVIOUS) + if (dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS) sd->focus_previous = next; - else if (dir == ELM_FOCUS_NEXT) + else if (dir == EFL_UI_FOCUS_DIRECTION_NEXT) sd->focus_next = next; - else if (dir == ELM_FOCUS_UP) + else if (dir == EFL_UI_FOCUS_DIRECTION_UP) sd->focus_up = next; - else if (dir == ELM_FOCUS_DOWN) + else if (dir == EFL_UI_FOCUS_DIRECTION_DOWN) sd->focus_down = next; - else if (dir == ELM_FOCUS_RIGHT) + else if (dir == EFL_UI_FOCUS_DIRECTION_RIGHT) sd->focus_right = next; - else if (dir == ELM_FOCUS_LEFT) + else if (dir == EFL_UI_FOCUS_DIRECTION_LEFT) sd->focus_left = next; } @@ -9463,17 +9463,17 @@ _efl_ui_widget_focus_next_item_get(const Eo *obj EINA_UNUSED, Elm_Widget_Smart_D { Elm_Object_Item *ret = NULL; - if (dir == ELM_FOCUS_PREVIOUS) + if (dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS) ret = sd->item_focus_previous; - else if (dir == ELM_FOCUS_NEXT) + else if (dir == EFL_UI_FOCUS_DIRECTION_NEXT) ret = sd->item_focus_next; - else if (dir == ELM_FOCUS_UP) + else if (dir == EFL_UI_FOCUS_DIRECTION_UP) ret = sd->item_focus_up; - else if (dir == ELM_FOCUS_DOWN) + else if (dir == EFL_UI_FOCUS_DIRECTION_DOWN) ret = sd->item_focus_down; - else if (dir == ELM_FOCUS_RIGHT) + else if (dir == EFL_UI_FOCUS_DIRECTION_RIGHT) ret = sd->item_focus_right; - else if (dir == ELM_FOCUS_LEFT) + else if (dir == EFL_UI_FOCUS_DIRECTION_LEFT) ret = sd->item_focus_left; return ret; @@ -9483,17 +9483,17 @@ _efl_ui_widget_focus_next_item_get(const Eo *obj EINA_UNUSED, Elm_Widget_Smart_D EOLIAN static void _efl_ui_widget_focus_next_item_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Elm_Object_Item *next_item, Efl_Ui_Focus_Direction dir) { - if (dir == ELM_FOCUS_PREVIOUS) + if (dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS) sd->item_focus_previous = next_item; - else if (dir == ELM_FOCUS_NEXT) + else if (dir == EFL_UI_FOCUS_DIRECTION_NEXT) sd->item_focus_next = next_item; - else if (dir == ELM_FOCUS_UP) + else if (dir == EFL_UI_FOCUS_DIRECTION_UP) sd->item_focus_up = next_item; - else if (dir == ELM_FOCUS_DOWN) + else if (dir == EFL_UI_FOCUS_DIRECTION_DOWN) sd->item_focus_down = next_item; - else if (dir == ELM_FOCUS_RIGHT) + else if (dir == EFL_UI_FOCUS_DIRECTION_RIGHT) sd->item_focus_right = next_item; - else if (dir == ELM_FOCUS_LEFT) + else if (dir == EFL_UI_FOCUS_DIRECTION_LEFT) sd->item_focus_left = next_item; } diff --git a/src/lib/elementary/efl_ui_widget_eo.legacy.c b/src/lib/elementary/efl_ui_widget_eo.legacy.c index 0d1665b..ed71064 100644 --- a/src/lib/elementary/efl_ui_widget_eo.legacy.c +++ b/src/lib/elementary/efl_ui_widget_eo.legacy.c @@ -1,4 +1,42 @@ +//TIZEN_ONLY: Missing method from opensource +EAPI Eina_Bool +elm_widget_cursor_set(Efl_Ui_Widget *obj, const char *cursor) +{ + return efl_ui_widget_cursor_set(obj, cursor); +} + +EAPI const char * +elm_widget_cursor_get(const Efl_Ui_Widget *obj) +{ + return efl_ui_widget_cursor_get(obj); +} + +EAPI Eina_Bool +elm_widget_cursor_style_set(Efl_Ui_Widget *obj, const char *style) +{ + return efl_ui_widget_cursor_style_set(obj, style); +} + +EAPI const char * +elm_widget_cursor_style_get(const Efl_Ui_Widget *obj) +{ + return efl_ui_widget_cursor_style_get(obj); +} + +EAPI Eina_Bool +elm_widget_cursor_theme_search_enabled_set(Efl_Ui_Widget *obj, Eina_Bool allow) +{ + return efl_ui_widget_cursor_theme_search_enabled_set(obj, allow); +} + +EAPI Eina_Bool +elm_widget_cursor_theme_search_enabled_get(const Efl_Ui_Widget *obj) +{ + return efl_ui_widget_cursor_theme_search_enabled_get(obj); +} +// + EAPI void elm_widget_resize_object_set(Efl_Ui_Widget *obj, Efl_Canvas_Object *sobj) { @@ -83,8 +121,42 @@ elm_widget_focus_highlight_geometry_get(const Efl_Ui_Widget *obj) return efl_ui_widget_focus_highlight_geometry_get(obj); } +//TIZEN_ONLY(20160726): add API elm_object_part_access_object_get +EAPI Efl_Canvas_Object * +elm_widget_part_access_object_get(const Efl_Ui_Widget *obj, const char *part) +{ + return efl_ui_widget_part_access_object_get(obj, part); +// +} + +//TIZEN_ONLY(20180607): Restore legacy focus +EAPI Efl_Canvas_Object * +elm_widget_newest_focus_order_get(const Efl_Ui_Widget *obj, unsigned int *newest_focus_order, Eina_Bool can_focus_only) +{ + return efl_ui_widget_newest_focus_order_get(obj, newest_focus_order, can_focus_only); +} + +EAPI void +elm_widget_focus_tree_unfocusable_handle(Efl_Ui_Widget *obj) +{ + efl_ui_widget_focus_tree_unfocusable_handle(obj); +} + +EAPI Eina_Bool +elm_widget_focus_list_direction_get(const Efl_Ui_Widget *obj, const Efl_Canvas_Object *base, const Eina_List *items, void *list_data_get, double degree, Efl_Canvas_Object **direction, Elm_Widget_Item **direction_item, double *weight) +{ + return efl_ui_widget_focus_list_direction_get(obj, base, items, list_data_get, degree, direction, direction_item, weight); +} + +EAPI Eina_Bool +elm_widget_focus_list_next_get(const Efl_Ui_Widget *obj, const Eina_List *items, void *list_data_get, Efl_Ui_Focus_Direction dir, Efl_Canvas_Object **next, Elm_Widget_Item **next_item) +{ + return efl_ui_widget_focus_list_next_get(obj, items, list_data_get, dir, next, next_item); +} + EAPI Eina_Bool elm_widget_focus_state_apply(Efl_Ui_Widget *obj, Efl_Ui_Widget_Focus_State current_state, Efl_Ui_Widget_Focus_State *configured_state, Efl_Ui_Widget *redirect) { return efl_ui_widget_focus_state_apply(obj, current_state, configured_state, redirect); } +// diff --git a/src/lib/elementary/efl_ui_widget_eo.legacy.h b/src/lib/elementary/efl_ui_widget_eo.legacy.h index 70ae62e..7f832a3 100644 --- a/src/lib/elementary/efl_ui_widget_eo.legacy.h +++ b/src/lib/elementary/efl_ui_widget_eo.legacy.h @@ -33,6 +33,123 @@ typedef struct _Efl_Ui_Widget_Focus_State #endif +//TIZEN_ONLY: Missing method from opensource +/** + * @brief The cursor to be shown when mouse is over the object + * + * This is the cursor that will be displayed when mouse is over the object. The + * object can have only one cursor set to it so if @ref elm_widget_cursor_set + * is called twice for an object, the previous set will be unset. + * + * If using X cursors, a definition of all the valid cursor names is listed on + * Elementary_Cursors.h. If an invalid name is set the default cursor will be + * used. + * + * Sets or unsets the current cursor. + * + * If @c cursor is @c null this function will reset the cursor to the default + * one. + * + * @param[in] obj The object. + * @param[in] cursor The cursor name, defined either by the display system or + * the theme. + * + * @return @c true if successful. + * + * @ingroup Elm_Widget_Group + */ +EAPI Eina_Bool elm_widget_cursor_set(Efl_Ui_Widget *obj, const char *cursor); + +/** + * @brief The cursor to be shown when mouse is over the object + * + * This is the cursor that will be displayed when mouse is over the object. The + * object can have only one cursor set to it so if @ref elm_widget_cursor_set + * is called twice for an object, the previous set will be unset. + * + * If using X cursors, a definition of all the valid cursor names is listed on + * Elementary_Cursors.h. If an invalid name is set the default cursor will be + * used. + * + * Returns the current cursor name. + * + * @param[in] obj The object. + * + * @return The cursor name, defined either by the display system or the theme. + * + * @ingroup Elm_Widget_Group + */ +EAPI const char *elm_widget_cursor_get(const Efl_Ui_Widget *obj); + +/** + * @brief A different style for the cursor. + * + * This only makes sense if theme cursors are used. The cursor should be set + * with @ref elm_widget_cursor_set first before setting its style with this + * property. + * + * Sets a style for the current cursor. Call after @ref elm_widget_cursor_set. + * + * @param[in] obj The object. + * @param[in] style A specific style to use, eg. default, transparent, .... + * + * @return @c true if successful. + * + * @ingroup Elm_Widget_Group + */ +EAPI Eina_Bool elm_widget_cursor_style_set(Efl_Ui_Widget *obj, const char *style); + +/** + * @brief A different style for the cursor. + * + * This only makes sense if theme cursors are used. The cursor should be set + * with @ref elm_widget_cursor_set first before setting its style with this + * property. + * + * Returns the current cursor style name. + * + * @param[in] obj The object. + * + * @return A specific style to use, eg. default, transparent, .... + * + * @ingroup Elm_Widget_Group + */ +EAPI const char *elm_widget_cursor_style_get(const Efl_Ui_Widget *obj); + +/** + * @brief Whether the cursor may be looked in the theme or not. + * + * If @c false, the cursor may only come from the render engine, i.e. from the + * display manager. + * + * Enables or disables theme cursors. + * + * @param[in] obj The object. + * @param[in] allow Whether to use theme cursors. + * + * @return @c true if successful. + * + * @ingroup Elm_Widget_Group + */ +EAPI Eina_Bool elm_widget_cursor_theme_search_enabled_set(Efl_Ui_Widget *obj, Eina_Bool allow); + +/** + * @brief Whether the cursor may be looked in the theme or not. + * + * If @c false, the cursor may only come from the render engine, i.e. from the + * display manager. + * + * Returns the current state of theme cursors search. + * + * @param[in] obj The object. + * + * @return Whether to use theme cursors. + * + * @ingroup Elm_Widget_Group + */ +EAPI Eina_Bool elm_widget_cursor_theme_search_enabled_get(const Efl_Ui_Widget *obj); +// + /** * @brief This is the internal canvas object managed by a widget. * @@ -305,6 +422,77 @@ EAPI Eina_Rect elm_widget_focus_region_get(const Efl_Ui_Widget *obj); */ EAPI Eina_Rect elm_widget_focus_highlight_geometry_get(const Efl_Ui_Widget *obj); +//TIZEN_ONLY(20160726): add API elm_object_part_access_object_get +/** + * @brief Get the access object of given part of the widget. + * + * @param[in] obj The object. + * @param[in] part The object's part name to get access object + * + * @since 1.18 + * + * @ingroup Elm_Widget_Group + */ +EAPI Efl_Canvas_Object *elm_widget_part_access_object_get(const Efl_Ui_Widget *obj, const char *part); +// + +//TIZEN_ONLY(20180607): Restore legacy focus +/** + * @brief Get newest focus in order + * + * @param[in] obj The object. + * @param[out] newest_focus_order Newest focus order + * @param[in] can_focus_only @c true only us widgets which can focus, @c false + * otherweise + * + * @return Handle to focused widget + * + * @ingroup Elm_Widget_Group + */ +EAPI Efl_Canvas_Object *elm_widget_newest_focus_order_get(const Efl_Ui_Widget *obj, unsigned int *newest_focus_order, Eina_Bool can_focus_only); + +/** Handle focus tree unfocusable + * + * @ingroup Elm_Widget_Group + */ +EAPI void elm_widget_focus_tree_unfocusable_handle(Efl_Ui_Widget *obj); + +/** + * @brief Get focus list direction + * + * @param[in] obj The object. + * @param[in] base Base object + * @param[in] items Item list + * @param[in] list_data_get Data get function + * @param[in] degree Degree + * @param[out] direction Direction + * @param[out] direction_item Direction item + * @param[out] weight Weight + * + * @return @c true on success, @c false otherwise + * + * @ingroup Elm_Widget_Group + */ +EAPI Eina_Bool elm_widget_focus_list_direction_get(const Efl_Ui_Widget *obj, const Efl_Canvas_Object *base, const Eina_List *items, void *list_data_get, double degree, Efl_Canvas_Object **direction, Elm_Widget_Item **direction_item, double *weight); + +/** + * @brief Get next item in focus list + * + * @param[in] obj The object. + * @param[in] items Item list + * @param[in] list_data_get Function type + * @param[in] dir Focus direction + * @param[out] next Next object + * @param[out] next_item Next item + * + * @return @c true on success, @c false otherwise + * + * @ingroup Elm_Widget_Group + */ +EAPI Eina_Bool elm_widget_focus_list_next_get(const Efl_Ui_Widget *obj, const Eina_List *items, void *list_data_get, Efl_Ui_Focus_Direction dir, Efl_Canvas_Object **next, Elm_Widget_Item **next_item); + + + /** * @brief Register focus with the given configuration. * @@ -330,5 +518,6 @@ EAPI Eina_Rect elm_widget_focus_highlight_geometry_get(const Efl_Ui_Widget *obj) * @ingroup Elm_Widget_Group */ EAPI Eina_Bool elm_widget_focus_state_apply(Efl_Ui_Widget *obj, Efl_Ui_Widget_Focus_State current_state, Efl_Ui_Widget_Focus_State *configured_state, Efl_Ui_Widget *redirect); +// #endif diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 4525f8b..238c670 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -6951,10 +6951,10 @@ _efl_ui_win_win_type_set(Eo *obj, Efl_Ui_Win_Data *sd, Efl_Ui_Win_Type type) { // TIZEN_ONLY(20160720): Allowed changing type after initializing #ifdef HAVE_ELEMENTARY_WL2 - if (sd->type != ELM_WIN_FAKE) sd->type = type; + if (sd->type != EFL_UI_WIN_TYPE_FAKE) sd->type = type; _elm_win_wlwin_type_update(sd); //TIZEN_ONLY(20161208): supported floating window - if (type != ELM_WIN_BASIC) + if (type != EFL_UI_WIN_TYPE_BASIC) edje_object_signal_emit(sd->legacy.edje, "elm,state,floating,on", "elm"); else edje_object_signal_emit(sd->legacy.edje, "elm,state,floating,off", "elm"); diff --git a/src/lib/elementary/elm_gengrid_pan_eo.c b/src/lib/elementary/elm_gengrid_pan_eo.c index f4b6e77..b9efa57 100644 --- a/src/lib/elementary/elm_gengrid_pan_eo.c +++ b/src/lib/elementary/elm_gengrid_pan_eo.c @@ -20,6 +20,10 @@ void _elm_gengrid_pan_elm_pan_pos_set(Eo *obj, Elm_Gengrid_Pan_Data *pd, int x, void _elm_gengrid_pan_elm_pan_pos_get(const Eo *obj, Elm_Gengrid_Pan_Data *pd, int *x, int *y); +//TIZEN_ONLY(20180118): Modify logics to make scroller stable on tizen +void _elm_gengrid_pan_elm_pan_pos_adjust(Eo *obj, Elm_Gengrid_Pan_Data *pd, int *x, int *y); +// + void _elm_gengrid_pan_elm_pan_pos_min_get(const Eo *obj, Elm_Gengrid_Pan_Data *pd, int *x, int *y); @@ -45,6 +49,9 @@ _elm_gengrid_pan_class_initializer(Efl_Class *klass) EFL_OBJECT_OP_FUNC(elm_obj_pan_content_size_get, _elm_gengrid_pan_elm_pan_content_size_get), EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_set, _elm_gengrid_pan_elm_pan_pos_set), EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_get, _elm_gengrid_pan_elm_pan_pos_get), + //TIZEN_ONLY(20180118): Modify logics to make scroller stable on tizen + EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_adjust, _elm_gengrid_pan_elm_pan_pos_adjust), + // EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_min_get, _elm_gengrid_pan_elm_pan_pos_min_get), EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_max_get, _elm_gengrid_pan_elm_pan_pos_max_get), ELM_GENGRID_PAN_EXTRA_OPS diff --git a/src/lib/elementary/elm_genlist_pan_eo.c b/src/lib/elementary/elm_genlist_pan_eo.c index 5e8cab0..ef16855 100644 --- a/src/lib/elementary/elm_genlist_pan_eo.c +++ b/src/lib/elementary/elm_genlist_pan_eo.c @@ -25,6 +25,9 @@ void _elm_genlist_pan_elm_pan_pos_min_get(const Eo *obj, Elm_Genlist_Pan_Data *p void _elm_genlist_pan_elm_pan_pos_max_get(const Eo *obj, Elm_Genlist_Pan_Data *pd, int *x, int *y); +//TIZEN_ONLY(20180118): Modify logics to make scroller stable on tizen +void _elm_genlist_pan_elm_pan_pos_adjust(Eo *obj, Elm_Genlist_Pan_Data *pd, int *x, int *y); +// static Eina_Bool _elm_genlist_pan_class_initializer(Efl_Class *klass) @@ -47,6 +50,9 @@ _elm_genlist_pan_class_initializer(Efl_Class *klass) EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_get, _elm_genlist_pan_elm_pan_pos_get), EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_min_get, _elm_genlist_pan_elm_pan_pos_min_get), EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_max_get, _elm_genlist_pan_elm_pan_pos_max_get), + //TIZEN_ONLY(20180118): Modify logics to make scroller stable on tizen + EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_adjust, _elm_genlist_pan_elm_pan_pos_adjust), + // ELM_GENLIST_PAN_EXTRA_OPS ); opsp = &ops; diff --git a/src/lib/elementary/elm_pan_eo.c b/src/lib/elementary/elm_pan_eo.c index 7214e12..4c988f7 100644 --- a/src/lib/elementary/elm_pan_eo.c +++ b/src/lib/elementary/elm_pan_eo.c @@ -21,6 +21,12 @@ void _elm_pan_pos_max_get(const Eo *obj, Elm_Pan_Smart_Data *pd, int *x, int *y) EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_pan_pos_max_get, EFL_FUNC_CALL(x, y), int *x, int *y); +//TIZEN_ONLY(20180118): Modify logics to make scroller stable on tizen +void _elm_pan_pos_adjust(Eo *obj, Elm_Pan_Smart_Data *pd, int *x, int *y); + +EOAPI EFL_VOID_FUNC_BODYV(elm_obj_pan_pos_adjust, EFL_FUNC_CALL(x, y), int *x, int *y); +// + Efl_Object *_elm_pan_efl_object_constructor(Eo *obj, Elm_Pan_Smart_Data *pd); @@ -50,6 +56,9 @@ _elm_pan_class_initializer(Efl_Class *klass) EFL_OBJECT_OP_FUNC(elm_obj_pan_content_size_get, _elm_pan_content_size_get), EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_min_get, _elm_pan_pos_min_get), EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_max_get, _elm_pan_pos_max_get), + //TIZEN_ONLY(20180118): Modify logics to make scroller stable on tizen + EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_adjust, _elm_pan_pos_adjust), + // EFL_OBJECT_OP_FUNC(efl_constructor, _elm_pan_efl_object_constructor), EFL_OBJECT_OP_FUNC(efl_gfx_entity_visible_set, _elm_pan_efl_gfx_entity_visible_set), EFL_OBJECT_OP_FUNC(efl_gfx_entity_position_set, _elm_pan_efl_gfx_entity_position_set), diff --git a/src/lib/elementary/elm_pan_eo.h b/src/lib/elementary/elm_pan_eo.h index a09652a..13668d8 100644 --- a/src/lib/elementary/elm_pan_eo.h +++ b/src/lib/elementary/elm_pan_eo.h @@ -76,6 +76,10 @@ EOAPI void elm_obj_pan_pos_min_get(const Eo *obj, int *x, int *y); */ EOAPI void elm_obj_pan_pos_max_get(const Eo *obj, int *x, int *y); +//TIZEN_ONLY(20180118): Modify logics to make scroller stable on tizen +EOAPI void elm_obj_pan_pos_adjust(Eo *obj, int *x, int *y); +// + EWAPI extern const Efl_Event_Description _ELM_PAN_EVENT_CHANGED; /** Called when pan object changed diff --git a/src/lib/elementary/elm_pan_eo.legacy.c b/src/lib/elementary/elm_pan_eo.legacy.c index 0b4e98f..1bdc296 100644 --- a/src/lib/elementary/elm_pan_eo.legacy.c +++ b/src/lib/elementary/elm_pan_eo.legacy.c @@ -28,3 +28,11 @@ elm_pan_pos_max_get(const Elm_Pan *obj, int *x, int *y) { elm_obj_pan_pos_max_get(obj, x, y); } + +//TIZEN_ONLY(20180118): Modify logics to make scroller stable on tizen +EAPI void +elm_pan_pos_adjust(Elm_Pan *obj, int *x, int *y) +{ + elm_obj_pan_pos_adjust(obj, x, y); +} +// diff --git a/src/lib/elementary/elm_pan_eo.legacy.h b/src/lib/elementary/elm_pan_eo.legacy.h index 857b2e8..43c4e8b 100644 --- a/src/lib/elementary/elm_pan_eo.legacy.h +++ b/src/lib/elementary/elm_pan_eo.legacy.h @@ -69,4 +69,7 @@ EAPI void elm_pan_pos_min_get(const Elm_Pan *obj, int *x, int *y); */ EAPI void elm_pan_pos_max_get(const Elm_Pan *obj, int *x, int *y); +//TIZEN_ONLY(20180118): Modify logics to make scroller stable on tizen +EAPI void elm_pan_pos_adjust(Elm_Pan *obj, int *x, int *y); +// #endif diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h index 2e02d64e..9a6472a 100644 --- a/src/lib/elementary/elm_widget.h +++ b/src/lib/elementary/elm_widget.h @@ -803,7 +803,7 @@ EAPI Eo* _elm_atspi_bridge_utils_plug_create(Eo *parent, const char EAPI Eo* _elm_atspi_bridge_utils_socket_create(Eo *parent, const char *svcname, int svcnum); // //TIZEN_ONLY(20161107): enhance elm_atspi_accessible_can_highlight_set to set can_hihglight property to its children -EAPI Eina_Bool _elm_widget_highlightable(Evas_Object *widget); +EAPI Eina_Bool _elm_widget_highlightable(const Evas_Object *widget); EAPI Eina_Bool _elm_widget_item_highlightable(Elm_Object_Item *item); // EAPI Eina_Error elm_widget_element_update(Evas_Object *obj, Evas_Object *component, const char *name); diff --git a/src/lib/evas/canvas/evas_box_eo.c b/src/lib/evas/canvas/evas_box_eo.c index 80bcd33..3b05efb 100644 --- a/src/lib/evas/canvas/evas_box_eo.c +++ b/src/lib/evas/canvas/evas_box_eo.c @@ -164,9 +164,9 @@ Efl_Object *_evas_box_efl_object_constructor(Eo *obj, Evas_Object_Box_Data *pd); void _evas_box_efl_gfx_entity_size_set(Eo *obj, Evas_Object_Box_Data *pd, Eina_Size2D size); - -void _evas_box_efl_gfx_entity_position_set(Eo *obj, Evas_Object_Box_Data *pd, Eina_Position2D pos); - +//TIZEN_ONLY (20181013): Revert "evas: fix child position when the container is moved" +//void _evas_box_efl_gfx_entity_position_set(Eo *obj, Evas_Object_Box_Data *pd, Eina_Position2D pos); +// void _evas_box_efl_canvas_group_group_calculate(Eo *obj, Evas_Object_Box_Data *pd); @@ -224,7 +224,9 @@ _evas_box_class_initializer(Efl_Class *klass) EFL_OBJECT_OP_FUNC(evas_obj_box_count, _evas_box_count), EFL_OBJECT_OP_FUNC(efl_constructor, _evas_box_efl_object_constructor), EFL_OBJECT_OP_FUNC(efl_gfx_entity_size_set, _evas_box_efl_gfx_entity_size_set), - EFL_OBJECT_OP_FUNC(efl_gfx_entity_position_set, _evas_box_efl_gfx_entity_position_set), + //TIZEN_ONLY (20181013): Revert "evas: fix child position when the container is moved" + //EFL_OBJECT_OP_FUNC(efl_gfx_entity_position_set, _evas_box_efl_gfx_entity_position_set), + // EFL_OBJECT_OP_FUNC(efl_canvas_group_calculate, _evas_box_efl_canvas_group_group_calculate), EVAS_BOX_EXTRA_OPS ); diff --git a/src/lib/evas/canvas/evas_object_box.c b/src/lib/evas/canvas/evas_object_box.c index f7ad85a..60b8b33 100644 --- a/src/lib/evas/canvas/evas_object_box.c +++ b/src/lib/evas/canvas/evas_object_box.c @@ -440,6 +440,19 @@ _evas_box_efl_gfx_entity_size_set(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, evas_object_smart_changed(o); } +//TIZEN_ONLY (20181013): Revert "evas: fix child position when the container is moved" +/* +EOLIAN static void +_evas_box_efl_gfx_entity_position_set(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, Eina_Position2D pos) +{ + if (_evas_object_intercept_call(o, EVAS_OBJECT_INTERCEPT_CB_MOVE , 0, pos.x, pos.y)) + return; + + efl_gfx_entity_position_set(efl_super(o, MY_CLASS), pos); + evas_object_smart_changed(o); +} +*/ + EOLIAN static void _evas_box_efl_canvas_group_group_calculate(Eo *o, Evas_Object_Box_Data *priv) { diff --git a/src/lib/evas/canvas/evas_object_table.c b/src/lib/evas/canvas/evas_object_table.c index 1d9a1e7..41f4617 100644 --- a/src/lib/evas/canvas/evas_object_table.c +++ b/src/lib/evas/canvas/evas_object_table.c @@ -944,6 +944,19 @@ _evas_table_efl_gfx_entity_size_set(Eo *obj, Evas_Table_Data *_pd EINA_UNUSED, E evas_object_smart_changed(obj); } +//TIZEN_ONLY (20181013): Revert "evas: fix child position when the container is moved" +/* +EOLIAN static void +_evas_table_efl_gfx_entity_position_set(Eo *obj, Evas_Table_Data *_pd EINA_UNUSED, Eina_Position2D pos) +{ + if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, pos.x, pos.y)) + return; + + efl_gfx_entity_position_set(efl_super(obj, MY_CLASS), pos); + evas_object_smart_changed(obj); +} +*/ + EOLIAN static void _evas_table_efl_canvas_group_group_calculate(Eo *o, Evas_Table_Data *priv) { diff --git a/src/lib/evas/canvas/evas_table_eo.c b/src/lib/evas/canvas/evas_table_eo.c index 0369d7c..3625ad2 100644 --- a/src/lib/evas/canvas/evas_table_eo.c +++ b/src/lib/evas/canvas/evas_table_eo.c @@ -73,7 +73,9 @@ Efl_Object *_evas_table_efl_object_constructor(Eo *obj, Evas_Table_Data *pd); void _evas_table_efl_gfx_entity_size_set(Eo *obj, Evas_Table_Data *pd, Eina_Size2D size); -void _evas_table_efl_gfx_entity_position_set(Eo *obj, Evas_Table_Data *pd, Eina_Position2D pos); +//TIZEN_ONLY (20181013): Revert "evas: fix child position when the container is moved" +//void _evas_table_efl_gfx_entity_position_set(Eo *obj, Evas_Table_Data *pd, Eina_Position2D pos); +// void _evas_table_efl_canvas_group_group_calculate(Eo *obj, Evas_Table_Data *pd); @@ -116,7 +118,9 @@ _evas_table_class_initializer(Efl_Class *klass) EFL_OBJECT_OP_FUNC(evas_obj_table_count, _evas_table_count), EFL_OBJECT_OP_FUNC(efl_constructor, _evas_table_efl_object_constructor), EFL_OBJECT_OP_FUNC(efl_gfx_entity_size_set, _evas_table_efl_gfx_entity_size_set), - EFL_OBJECT_OP_FUNC(efl_gfx_entity_position_set, _evas_table_efl_gfx_entity_position_set), + //TIZEN_ONLY (20181013): Revert "evas: fix child position when the container is moved" + //EFL_OBJECT_OP_FUNC(efl_gfx_entity_position_set, _evas_table_efl_gfx_entity_position_set), + // EFL_OBJECT_OP_FUNC(efl_canvas_group_calculate, _evas_table_efl_canvas_group_group_calculate), EFL_OBJECT_OP_FUNC(efl_ui_mirrored_set, _evas_table_efl_ui_i18n_mirrored_set), EFL_OBJECT_OP_FUNC(efl_ui_mirrored_get, _evas_table_efl_ui_i18n_mirrored_get), -- 2.7.4