aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/emotion
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2016-10-11 12:39:05 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2016-10-12 11:25:56 +0900
commit11b7cf6b728001dbcd42ce41d5ac2e129a835fd8 (patch)
treefe09c44ddb1e8b72b0464231e2363256f937d0c8 /src/lib/emotion
parentevas: Move move_children_relative to legacy only (diff)
downloadefl-11b7cf6b728001dbcd42ce41d5ac2e129a835fd8.tar.gz
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).
Diffstat (limited to 'src/lib/emotion')
-rw-r--r--src/lib/emotion/efl_canvas_video.eo2
-rw-r--r--src/lib/emotion/emotion_smart.c9
2 files changed, 8 insertions, 3 deletions
diff --git a/src/lib/emotion/efl_canvas_video.eo b/src/lib/emotion/efl_canvas_video.eo
index 4851f2b190..fb9b96d4ae 100644
--- a/src/lib/emotion/efl_canvas_video.eo
+++ b/src/lib/emotion/efl_canvas_video.eo
@@ -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;
diff --git a/src/lib/emotion/emotion_smart.c b/src/lib/emotion/emotion_smart.c
index e702c1a9eb..266473905c 100644
--- a/src/lib/emotion/emotion_smart.c
+++ b/src/lib/emotion/emotion_smart.c
@@ -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);
}