forked from enlightenment/efl
evas/elm: Remove function group_move
This is an override of efl_gfx_position_set. As for the other patches, I hope I didn't break anything. A problem likely to happen is that the super call was inserted too early or too late in the call flow. For instance: _myclass_position_set(obj, x, y) { position_set(super(obj), x, y); position_get(obj, &prevx, &prevy); do_something_with_delta_xy(); } The above code flow is obvisouly wrong, but may have crept in this patch (such a bug sneaked in inside smart object, breaking everything at first).
This commit is contained in:
parent
a0b8408021
commit
11b7cf6b72
|
@ -2067,12 +2067,12 @@ class Edje.Object (Efl.Canvas.Group.Clipped, Efl.File, Efl.Container, Efl.Part)
|
|||
}
|
||||
implements {
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Object.constructor;
|
||||
Efl.Object.destructor;
|
||||
Efl.Object.dbg_info_get;
|
||||
Efl.Canvas.Object.no_render.set;
|
||||
Efl.Canvas.Object.paragraph_direction.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -159,10 +159,15 @@ _edje_object_efl_canvas_group_group_del(Eo *obj, Edje *ed)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_edje_object_efl_canvas_group_group_move(Eo *obj EINA_UNUSED, Edje *ed, Evas_Coord x, Evas_Coord y)
|
||||
_edje_object_efl_gfx_position_set(Eo *obj, Edje *ed, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
unsigned short i;
|
||||
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
if ((ed->x == x) && (ed->y == y)) return;
|
||||
ed->x = x;
|
||||
ed->y = y;
|
||||
|
|
|
@ -561,9 +561,12 @@ _efl_ui_image_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Image_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_image_efl_canvas_group_group_move(Eo *obj, Efl_Ui_Image_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_efl_ui_image_efl_gfx_position_set(Eo *obj, Efl_Ui_Image_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
if ((sd->img_x == x) && (sd->img_y == y)) return;
|
||||
sd->img_x = x;
|
||||
|
|
|
@ -124,6 +124,7 @@ class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Draggable,
|
|||
Efl.File.mmap.set;
|
||||
Efl.Gfx.color.set;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Gfx.View.view_size.get;
|
||||
Efl.Image.Load.load_size.set;
|
||||
Efl.Image.Load.load_size.get;
|
||||
|
@ -142,7 +143,6 @@ class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Draggable,
|
|||
Edje.Object.size_min_calc;
|
||||
Edje.Object.calc_force;
|
||||
Efl.Canvas.Object.clip.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
|
|
|
@ -3468,9 +3468,12 @@ _efl_ui_text_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Text_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_text_efl_canvas_group_group_move(Eo *obj, Efl_Ui_Text_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_efl_ui_text_efl_gfx_position_set(Eo *obj, Efl_Ui_Text_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
evas_object_move(sd->hit_rect, x, y);
|
||||
|
||||
|
|
|
@ -417,7 +417,7 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
|||
Efl.Object.constructor;
|
||||
Efl.Object.destructor;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -2766,8 +2766,11 @@ _elm_win_obj_intercept_show(void *data,
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_win_efl_canvas_group_group_move(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_efl_ui_win_efl_gfx_position_set(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
if (sd->img_obj)
|
||||
{
|
||||
if ((x != sd->screen.x) || (y != sd->screen.y))
|
||||
|
@ -2776,15 +2779,15 @@ _efl_ui_win_efl_canvas_group_group_move(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord
|
|||
sd->screen.y = y;
|
||||
efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_MOVE, NULL);
|
||||
}
|
||||
return;
|
||||
goto super_skip;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!sd->response) TRAP(sd, move, x, y);
|
||||
if (!ecore_evas_override_get(sd->ee)) return;
|
||||
if (!ecore_evas_override_get(sd->ee)) goto super_skip;
|
||||
}
|
||||
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
if (ecore_evas_override_get(sd->ee))
|
||||
{
|
||||
|
@ -2806,6 +2809,15 @@ _efl_ui_win_efl_canvas_group_group_move(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord
|
|||
sd->screen.x = x;
|
||||
sd->screen.y = y;
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
super_skip:
|
||||
/* FIXME FIXME FIXME
|
||||
* Ugly code flow: legacy code had an early return in smart_move, ie.
|
||||
* evas object move would be processed but smart object move would be
|
||||
* aborted. This super call tries to simulate that. */
|
||||
efl_gfx_position_set(efl_super(obj, EFL_CANVAS_GROUP_CLASS), x, y);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
|
|
|
@ -810,7 +810,7 @@ class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Elm.Interface.Atspi.Window,
|
|||
Efl.Object.constructor;
|
||||
Efl.Object.finalize;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -1421,9 +1421,12 @@ _elm_diskselector_efl_canvas_group_group_del(Eo *obj, Elm_Diskselector_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_diskselector_efl_canvas_group_group_move(Eo *obj, Elm_Diskselector_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_diskselector_efl_gfx_position_set(Eo *obj, Elm_Diskselector_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
evas_object_move(sd->hit_rect, x, y);
|
||||
}
|
||||
|
|
|
@ -197,8 +197,8 @@ class Elm.Diskselector (Elm.Widget, Elm.Interface_Scrollable,
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -3913,9 +3913,12 @@ _elm_entry_efl_canvas_group_group_del(Eo *obj, Elm_Entry_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_entry_efl_canvas_group_group_move(Eo *obj, Elm_Entry_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_entry_efl_gfx_position_set(Eo *obj, Elm_Entry_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
evas_object_move(sd->hit_rect, x, y);
|
||||
|
||||
|
|
|
@ -940,7 +940,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
|||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -478,8 +478,13 @@ _elm_gengrid_pan_efl_object_destructor(Eo *obj, Elm_Gengrid_Pan_Data *psd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_gengrid_pan_efl_canvas_group_group_move(Eo *obj EINA_UNUSED, Elm_Gengrid_Pan_Data *psd, Evas_Coord _gen_param2 EINA_UNUSED, Evas_Coord _gen_param3 EINA_UNUSED)
|
||||
_elm_gengrid_pan_efl_gfx_position_set(Eo *obj, Elm_Gengrid_Pan_Data *psd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y);
|
||||
|
||||
ecore_job_del(psd->wsd->calc_job);
|
||||
psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wobj);
|
||||
}
|
||||
|
@ -4331,9 +4336,12 @@ _elm_gengrid_efl_canvas_group_group_del(Eo *obj, Elm_Gengrid_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_gengrid_efl_canvas_group_group_move(Eo *obj, Elm_Gengrid_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_gengrid_efl_gfx_position_set(Eo *obj, Elm_Gengrid_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
evas_object_move(sd->hit_rect, x, y);
|
||||
}
|
||||
|
|
|
@ -540,7 +540,7 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
|
|
|
@ -6,8 +6,8 @@ class Elm.Gengrid.Pan (Elm.Pan)
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.destructor;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_calculate;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
Elm.Pan.content_size.get;
|
||||
Elm.Pan.pos;
|
||||
|
|
|
@ -268,8 +268,13 @@ _elm_genlist_pan_efl_canvas_group_group_del(Eo *obj, Elm_Genlist_Pan_Data *psd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_genlist_pan_efl_canvas_group_group_move(Eo *obj, Elm_Genlist_Pan_Data *psd, Evas_Coord _gen_param2 EINA_UNUSED, Evas_Coord _gen_param3 EINA_UNUSED)
|
||||
_elm_genlist_pan_efl_gfx_position_set(Eo *obj, Elm_Genlist_Pan_Data *psd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y);
|
||||
|
||||
psd->wsd->pan_changed = EINA_TRUE;
|
||||
evas_object_smart_changed(obj);
|
||||
ELM_SAFE_FREE(psd->wsd->calc_job, ecore_job_del);
|
||||
|
@ -5658,9 +5663,12 @@ _elm_genlist_efl_canvas_group_group_del(Eo *obj, Elm_Genlist_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_genlist_efl_canvas_group_group_move(Eo *obj, Elm_Genlist_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_genlist_efl_gfx_position_set(Eo *obj, Elm_Genlist_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
evas_object_move(sd->hit_rect, x, y);
|
||||
}
|
||||
|
|
|
@ -528,8 +528,8 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -6,8 +6,8 @@ class Elm.Genlist.Pan (Elm.Pan)
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.destructor;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_calculate;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
Elm.Pan.content_size.get;
|
||||
|
|
|
@ -616,9 +616,12 @@ _elm_hover_efl_canvas_group_group_del(Eo *obj, Elm_Hover_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_hover_efl_canvas_group_group_move(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y)
|
||||
_elm_hover_efl_gfx_position_set(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
elm_layout_sizing_eval(obj);
|
||||
}
|
||||
|
|
|
@ -61,8 +61,8 @@ class Elm.Hover (Elm.Layout, Efl.Ui.Clickable, Elm.Interface.Atspi_Widget_Action
|
|||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
Elm.Widget.theme_apply;
|
||||
|
|
|
@ -102,8 +102,13 @@ _elm_pan_efl_canvas_group_group_del(Eo *obj, Elm_Pan_Smart_Data *_pd EINA_UNUSED
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_pan_efl_canvas_group_group_move(Eo *obj EINA_UNUSED, Elm_Pan_Smart_Data *psd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_pan_efl_gfx_position_set(Eo *obj, Elm_Pan_Smart_Data *psd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y);
|
||||
|
||||
psd->x = x;
|
||||
psd->y = y;
|
||||
|
||||
|
|
|
@ -2509,9 +2509,12 @@ _elm_list_efl_canvas_group_group_del(Eo *obj, Elm_List_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_list_efl_canvas_group_group_move(Eo *obj, Elm_List_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_list_efl_gfx_position_set(Eo *obj, Elm_List_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
evas_object_move(sd->hit_rect, x, y);
|
||||
}
|
||||
|
|
|
@ -429,8 +429,8 @@ class Elm.List (Elm.Layout, Elm.Interface_Scrollable,
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -3886,8 +3886,12 @@ _elm_map_pan_efl_canvas_group_group_calculate(Eo *obj, Elm_Map_Pan_Data *psd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_map_pan_efl_canvas_group_group_move(Eo *obj, Elm_Map_Pan_Data *_pd EINA_UNUSED, Evas_Coord x EINA_UNUSED, Evas_Coord y EINA_UNUSED)
|
||||
_elm_map_pan_efl_gfx_position_set(Eo *obj, Elm_Map_Pan_Data *_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
evas_object_smart_changed(obj);
|
||||
}
|
||||
|
||||
|
@ -4204,9 +4208,12 @@ _elm_map_efl_canvas_group_group_del(Eo *obj, Elm_Map_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_map_efl_canvas_group_group_move(Eo *obj, Elm_Map_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_map_efl_gfx_position_set(Eo *obj, Elm_Map_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
evas_object_move(sd->hit_rect, x, y);
|
||||
}
|
||||
|
|
|
@ -626,7 +626,7 @@ class Elm.Map (Elm.Widget, Elm.Interface_Scrollable,
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
|
|
|
@ -6,8 +6,8 @@ class Elm.Map.Pan (Elm.Pan)
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.destructor;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_calculate;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
Elm.Pan.content_size.get;
|
||||
Elm.Pan.pos;
|
||||
|
|
|
@ -156,9 +156,12 @@ _mapbuf_auto_smooth(Evas_Object *obj EINA_UNUSED, Elm_Mapbuf_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_mapbuf_efl_canvas_group_group_move(Eo *obj, Elm_Mapbuf_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_mapbuf_efl_gfx_position_set(Eo *obj, Elm_Mapbuf_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
_mapbuf_auto_eval(obj, sd);
|
||||
_mapbuf_auto_smooth(obj, sd);
|
||||
|
|
|
@ -130,7 +130,7 @@ class Elm.Mapbuf (Elm.Widget, Efl.Container, Efl.Part)
|
|||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -240,14 +240,17 @@ _elm_notify_efl_canvas_group_group_resize(Eo *obj, Elm_Notify_Data *sd, Evas_Coo
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_notify_efl_canvas_group_group_move(Eo *obj, Elm_Notify_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_notify_efl_gfx_position_set(Eo *obj, Elm_Notify_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
Evas_Coord w, h;
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
if (!sd->parent && sd->content)
|
||||
{
|
||||
Evas_Coord w, h;
|
||||
|
||||
evas_object_geometry_get(obj, NULL, NULL, &w, &h);
|
||||
_notify_move_to_orientation(obj, x, y, w, h);
|
||||
}
|
||||
|
|
|
@ -80,7 +80,7 @@ class Elm.Notify (Elm.Widget, Efl.Container, Efl.Part)
|
|||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -44,7 +44,7 @@ class Elm.Pan (Efl.Canvas.Group.Clipped)
|
|||
Efl.Object.constructor;
|
||||
class.constructor;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -1097,9 +1097,12 @@ _elm_panel_efl_canvas_group_group_del(Eo *obj, Elm_Panel_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_panel_efl_canvas_group_group_move(Eo *obj, Elm_Panel_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_panel_efl_gfx_position_set(Eo *obj, Elm_Panel_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
evas_object_move(sd->hit_rect, x, y);
|
||||
}
|
||||
|
|
|
@ -69,11 +69,11 @@ class Elm.Panel (Elm.Layout, Elm.Interface_Scrollable,
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Elm.Widget.theme_apply;
|
||||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Widget.focus_next;
|
||||
|
|
|
@ -145,8 +145,13 @@ _calc_job_cb(void *data)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_photocam_pan_efl_canvas_group_group_move(Eo *obj EINA_UNUSED, Elm_Photocam_Pan_Data *psd, Evas_Coord x EINA_UNUSED, Evas_Coord y EINA_UNUSED)
|
||||
_elm_photocam_pan_efl_gfx_position_set(Eo *obj, Elm_Photocam_Pan_Data *psd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_PAN_CLASS), x, y);
|
||||
|
||||
ecore_job_del(psd->wsd->calc_job);
|
||||
psd->wsd->calc_job = ecore_job_add(_calc_job_cb, psd->wobj);
|
||||
}
|
||||
|
@ -1475,9 +1480,12 @@ _elm_photocam_efl_canvas_group_group_del(Eo *obj, Elm_Photocam_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_photocam_efl_canvas_group_group_move(Eo *obj, Elm_Photocam_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_photocam_efl_gfx_position_set(Eo *obj, Elm_Photocam_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
evas_object_move(sd->hit_rect, x, y);
|
||||
}
|
||||
|
|
|
@ -189,7 +189,7 @@ class Elm.Photocam (Elm.Widget, Elm.Interface_Scrollable,
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
|
|
|
@ -6,8 +6,8 @@ class Elm.Photocam.Pan (Elm.Pan)
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.destructor;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_calculate;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
Elm.Pan.content_size.get;
|
||||
Elm.Pan.pos;
|
||||
|
|
|
@ -919,9 +919,12 @@ _elm_scroller_efl_canvas_group_group_add(Eo *obj, Elm_Scroller_Data *priv)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_scroller_efl_canvas_group_group_move(Eo *obj, Elm_Scroller_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_scroller_efl_gfx_position_set(Eo *obj, Elm_Scroller_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
evas_object_move(sd->hit_rect, x, y);
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ class Elm.Scroller (Elm.Layout, Elm.Interface_Scrollable,
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -2935,9 +2935,12 @@ _elm_toolbar_efl_canvas_group_group_del(Eo *obj, Elm_Toolbar_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_toolbar_efl_canvas_group_group_move(Eo *obj, Elm_Toolbar_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_toolbar_efl_gfx_position_set(Eo *obj, Elm_Toolbar_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
efl_canvas_group_move(efl_super(obj, MY_CLASS), x, y);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
evas_object_move(sd->hit_rect, x, y);
|
||||
}
|
||||
|
|
|
@ -345,8 +345,8 @@ class Elm.Toolbar (Elm.Widget, Elm.Interface_Scrollable, Efl.Orientation,
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Group.group_calculate;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
|
|
|
@ -501,8 +501,13 @@ _smart_reconfigure(Elm_Widget_Smart_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_widget_efl_canvas_group_group_move(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_elm_widget_efl_gfx_position_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
sd->x = x;
|
||||
sd->y = y;
|
||||
|
||||
|
|
|
@ -849,10 +849,10 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, Elm.Inter
|
|||
Efl.Object.provider_find;
|
||||
Efl.Gfx.color.set;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Object.clip.set;
|
||||
Efl.Canvas.Object.no_render.set;
|
||||
Efl.Canvas.Group.group_calculate;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_member_del;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
|
|
|
@ -53,10 +53,10 @@ class Efl.Canvas.Video (Efl.Canvas.Group, Efl.File, Efl.Player, Efl.Image, Efl.I
|
|||
Efl.Object.constructor;
|
||||
Efl.Gfx.color.set;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Object.clip.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
Efl.File.file.set;
|
||||
Efl.File.file.get;
|
||||
|
|
|
@ -1929,11 +1929,16 @@ _efl_canvas_video_efl_canvas_group_group_del(Evas_Object *obj EINA_UNUSED, Efl_C
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_video_efl_canvas_group_group_move(Evas_Object *obj, Efl_Canvas_Video_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
_efl_canvas_video_efl_gfx_position_set(Evas_Object *obj, Efl_Canvas_Video_Data *sd, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
int w, h;
|
||||
|
||||
evas_object_geometry_get(obj, NULL, NULL, &w, &h);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
efl_gfx_size_get(obj, &w, &h);
|
||||
efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y);
|
||||
|
||||
_clipper_position_size_update(obj, x, y, w, h, sd->video.w, sd->video.h);
|
||||
evas_object_move(sd->bg, x, y);
|
||||
}
|
||||
|
|
|
@ -63,14 +63,6 @@ class Efl.Canvas.Group (Efl.Canvas.Object)
|
|||
return: free(own(iterator<Efl.Gfx>), eina_iterator_free);
|
||||
legacy: evas_object_smart_iterator_new;
|
||||
}
|
||||
group_move {
|
||||
[[No description supplied by the EAPI.]]
|
||||
legacy: null;
|
||||
params {
|
||||
@in x: Evas.Coord;
|
||||
@in y: Evas.Coord;
|
||||
}
|
||||
}
|
||||
group_add {
|
||||
[[Instantiates a new smart object described by $s.
|
||||
|
||||
|
|
|
@ -5,9 +5,9 @@ abstract Efl.Canvas.Group.Clipped (Efl.Canvas.Group)
|
|||
implements {
|
||||
Efl.Gfx.color.set;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Gfx.position.set;
|
||||
Efl.Canvas.Object.clip.set;
|
||||
Efl.Canvas.Object.no_render.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_member_del;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
|
|
|
@ -111,10 +111,17 @@ _evas_object_intercept_call(Evas_Object *eo_obj, Evas_Object_Intercept_Cb_Type c
|
|||
else return evas_object_intercept_call_hide(eo_obj, obj);
|
||||
|
||||
case EVAS_OBJECT_INTERCEPT_CB_MOVE:
|
||||
if (!obj->interceptors) return 0;
|
||||
if (obj->doing.in_move > 0)
|
||||
{
|
||||
WRN("evas_object_move() called on object %p (%s) in the middle "
|
||||
"of moving the same object", eo_obj, efl_class_name_get(eo_obj));
|
||||
return 1;
|
||||
}
|
||||
va_start(args, internal);
|
||||
i = va_arg(args, int);
|
||||
j = va_arg(args, int);
|
||||
if ((obj->cur->geometry.x == i) && (obj->cur->geometry.y == j)) goto end_block;
|
||||
if (!obj->interceptors) goto end_noblock;
|
||||
blocked = evas_object_intercept_call_move(eo_obj, obj, i, j);
|
||||
break;
|
||||
|
||||
|
|
|
@ -795,19 +795,9 @@ _efl_canvas_object_efl_gfx_position_set(Eo *eo_obj, Evas_Object_Protected_Data *
|
|||
Eina_Bool pass = EINA_FALSE, freeze = EINA_FALSE;
|
||||
Eina_Bool source_invisible = EINA_FALSE;
|
||||
|
||||
if (obj->delete_me) return;
|
||||
if (!obj->layer) return;
|
||||
|
||||
evas_object_async_block(obj);
|
||||
if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 1, x, y)) return;
|
||||
|
||||
if (obj->doing.in_move > 0)
|
||||
{
|
||||
WRN("evas_object_move() called on object %p when in the middle of moving the same object", obj);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((obj->cur->geometry.x == x) && (obj->cur->geometry.y == y)) return;
|
||||
if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 1, x, y))
|
||||
return;
|
||||
|
||||
Evas_Map *map;
|
||||
map = (Evas_Map *) evas_object_map_get(eo_obj);
|
||||
|
@ -830,10 +820,8 @@ _efl_canvas_object_efl_gfx_position_set(Eo *eo_obj, Evas_Object_Protected_Data *
|
|||
}
|
||||
obj->doing.in_move++;
|
||||
|
||||
if (obj->is_smart)
|
||||
{
|
||||
efl_canvas_group_move(eo_obj, x, y);
|
||||
}
|
||||
if (obj->is_smart && obj->smart.smart && obj->smart.smart->smart_class->move)
|
||||
obj->smart.smart->smart_class->move(eo_obj, x, y);
|
||||
|
||||
EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
|
||||
{
|
||||
|
|
|
@ -641,16 +641,6 @@ _efl_canvas_group_group_resize(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Evas_
|
|||
if (s && s->smart_class->resize) s->smart_class->resize(eo_obj, w, h);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_group_group_move(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
// If this function is reached, so we do nothing except trying to call
|
||||
// the function of the legacy smart class.
|
||||
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
|
||||
Evas_Smart *s = obj->smart.smart;
|
||||
if (s && s->smart_class->move) s->smart_class->move(eo_obj, x, y);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_group_efl_canvas_object_no_render_set(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Eina_Bool enable)
|
||||
{
|
||||
|
|
|
@ -86,14 +86,18 @@ evas_object_smart_clipped_smart_move(Evas_Object *eo_obj, Evas_Coord x, Evas_Coo
|
|||
{
|
||||
Evas_Coord orig_x, orig_y;
|
||||
|
||||
evas_object_geometry_get(eo_obj, &orig_x, &orig_y, NULL, NULL);
|
||||
efl_gfx_position_get(eo_obj, &orig_x, &orig_y);
|
||||
evas_object_smart_move_children_relative(eo_obj, x - orig_x, y - orig_y);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_group_clipped_efl_canvas_group_group_move(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Evas_Coord x, Evas_Coord y)
|
||||
_efl_canvas_group_clipped_efl_gfx_position_set(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
|
||||
return;
|
||||
|
||||
evas_object_smart_clipped_smart_move(eo_obj, x, y);
|
||||
efl_gfx_position_set(efl_super(eo_obj, MY_CLASS), x, y);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue