diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2016-10-11 16:54:31 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2016-10-12 11:25:56 +0900 |
commit | 8a9f0bd603aaaf3abd3ca9aa87675c9199fe9d09 (patch) | |
tree | 0a6e61d5e156ea8b025912c937abe7bcc5cd9c5b | |
parent | 11b7cf6b728001dbcd42ce41d5ac2e129a835fd8 (diff) |
evas/elm: Remove function group_resize
This is an override of efl_gfx_size_set. Same as before, the
order of operations matter so it is possible that a corner
case will break. In particular, legacy code was:
- intercept
- smart resize (do stuff), super, super, super
- evas object resize
The new code is more like:
- intercept
- super, super, super, evas object resize
- do stuff
But unfortunately this broke elm_widget (read: all widgets) as
the internal resize was done before the object resize. So,
inside the resize event cb, the resize_obj size would not match
the smart object size. >_<
Diffstat (limited to '')
57 files changed, 216 insertions, 136 deletions
diff --git a/src/lib/edje/edje_object.eo b/src/lib/edje/edje_object.eo index b6ec2c6fe9..0ad4b2d215 100644 --- a/src/lib/edje/edje_object.eo +++ b/src/lib/edje/edje_object.eo | |||
@@ -2068,6 +2068,7 @@ class Edje.Object (Efl.Canvas.Group.Clipped, Efl.File, Efl.Container, Efl.Part) | |||
2068 | implements { | 2068 | implements { |
2069 | Efl.Gfx.visible.set; | 2069 | Efl.Gfx.visible.set; |
2070 | Efl.Gfx.position.set; | 2070 | Efl.Gfx.position.set; |
2071 | Efl.Gfx.size.set; | ||
2071 | Efl.Object.constructor; | 2072 | Efl.Object.constructor; |
2072 | Efl.Object.destructor; | 2073 | Efl.Object.destructor; |
2073 | Efl.Object.dbg_info_get; | 2074 | Efl.Object.dbg_info_get; |
@@ -2075,7 +2076,6 @@ class Edje.Object (Efl.Canvas.Group.Clipped, Efl.File, Efl.Container, Efl.Part) | |||
2075 | Efl.Canvas.Object.paragraph_direction.set; | 2076 | Efl.Canvas.Object.paragraph_direction.set; |
2076 | Efl.Canvas.Group.group_add; | 2077 | Efl.Canvas.Group.group_add; |
2077 | Efl.Canvas.Group.group_del; | 2078 | Efl.Canvas.Group.group_del; |
2078 | Efl.Canvas.Group.group_resize; | ||
2079 | Efl.Canvas.Group.group_calculate; | 2079 | Efl.Canvas.Group.group_calculate; |
2080 | Efl.File.file.set; | 2080 | Efl.File.file.set; |
2081 | Efl.File.file.get; | 2081 | Efl.File.file.get; |
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c index d0800a2109..0a69d5e0b1 100644 --- a/src/lib/edje/edje_smart.c +++ b/src/lib/edje/edje_smart.c | |||
@@ -254,9 +254,12 @@ _edje_limit_get(Edje *ed, Edje_Limit **limits, unsigned int length, Evas_Coord s | |||
254 | } | 254 | } |
255 | 255 | ||
256 | EOLIAN static void | 256 | EOLIAN static void |
257 | _edje_object_efl_canvas_group_group_resize(Eo *obj EINA_UNUSED, Edje *ed, Evas_Coord w, Evas_Coord h) | 257 | _edje_object_efl_gfx_size_set(Eo *obj, Edje *ed, Evas_Coord w, Evas_Coord h) |
258 | { | 258 | { |
259 | if ((w == ed->w) && (h == ed->h)) return; | 259 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
260 | return; | ||
261 | |||
262 | if ((w == ed->w) && (h == ed->h)) goto super; | ||
260 | if (ed->collection) | 263 | if (ed->collection) |
261 | { | 264 | { |
262 | _edje_limit_get(ed, ed->collection->limits.horizontal, ed->collection->limits.horizontal_count, ed->w, w); | 265 | _edje_limit_get(ed, ed->collection->limits.horizontal, ed->collection->limits.horizontal_count, ed->w, w); |
@@ -279,12 +282,15 @@ _edje_object_efl_canvas_group_group_resize(Eo *obj EINA_UNUSED, Edje *ed, Evas_C | |||
279 | if (_edje_lua_script_only(ed)) | 282 | if (_edje_lua_script_only(ed)) |
280 | { | 283 | { |
281 | _edje_lua_script_only_resize(ed); | 284 | _edje_lua_script_only_resize(ed); |
282 | return; | 285 | goto super; |
283 | } | 286 | } |
284 | // evas_object_resize(ed->clipper, ed->w, ed->h); | 287 | // evas_object_resize(ed->clipper, ed->w, ed->h); |
285 | ed->dirty = EINA_TRUE; | 288 | ed->dirty = EINA_TRUE; |
286 | _edje_recalc_do(ed); | 289 | _edje_recalc_do(ed); |
287 | _edje_emit(ed, "resize", NULL); | 290 | _edje_emit(ed, "resize", NULL); |
291 | |||
292 | super: | ||
293 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
288 | } | 294 | } |
289 | 295 | ||
290 | static void | 296 | static void |
diff --git a/src/lib/elementary/efl_ui_image.c b/src/lib/elementary/efl_ui_image.c index 80b2b33345..2e75cbe6a0 100644 --- a/src/lib/elementary/efl_ui_image.c +++ b/src/lib/elementary/efl_ui_image.c | |||
@@ -577,17 +577,21 @@ _efl_ui_image_efl_gfx_position_set(Eo *obj, Efl_Ui_Image_Data *sd, Evas_Coord x, | |||
577 | } | 577 | } |
578 | 578 | ||
579 | EOLIAN static void | 579 | EOLIAN static void |
580 | _efl_ui_image_efl_canvas_group_group_resize(Eo *obj, Efl_Ui_Image_Data *sd, Evas_Coord w, Evas_Coord h) | 580 | _efl_ui_image_efl_gfx_size_set(Eo *obj, Efl_Ui_Image_Data *sd, Evas_Coord w, Evas_Coord h) |
581 | { | 581 | { |
582 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 582 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
583 | return; | ||
583 | 584 | ||
584 | if ((sd->img_w == w) && (sd->img_h == h)) return; | 585 | if ((sd->img_w == w) && (sd->img_h == h)) goto super; |
585 | 586 | ||
586 | sd->img_w = w; | 587 | sd->img_w = w; |
587 | sd->img_h = h; | 588 | sd->img_h = h; |
588 | 589 | ||
589 | /* takes care of resizing */ | 590 | /* takes care of resizing */ |
590 | _efl_ui_image_internal_sizing_eval(obj, sd); | 591 | _efl_ui_image_internal_sizing_eval(obj, sd); |
592 | |||
593 | super: | ||
594 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
591 | } | 595 | } |
592 | 596 | ||
593 | static void | 597 | static void |
diff --git a/src/lib/elementary/efl_ui_image.eo b/src/lib/elementary/efl_ui_image.eo index c69cb3f50c..8bdf134ced 100644 --- a/src/lib/elementary/efl_ui_image.eo +++ b/src/lib/elementary/efl_ui_image.eo | |||
@@ -125,6 +125,7 @@ class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Draggable, | |||
125 | Efl.Gfx.color.set; | 125 | Efl.Gfx.color.set; |
126 | Efl.Gfx.visible.set; | 126 | Efl.Gfx.visible.set; |
127 | Efl.Gfx.position.set; | 127 | Efl.Gfx.position.set; |
128 | Efl.Gfx.size.set; | ||
128 | Efl.Gfx.View.view_size.get; | 129 | Efl.Gfx.View.view_size.get; |
129 | Efl.Image.Load.load_size.set; | 130 | Efl.Image.Load.load_size.set; |
130 | Efl.Image.Load.load_size.get; | 131 | Efl.Image.Load.load_size.get; |
@@ -146,7 +147,6 @@ class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Draggable, | |||
146 | Efl.Canvas.Group.group_add; | 147 | Efl.Canvas.Group.group_add; |
147 | Efl.Canvas.Group.group_del; | 148 | Efl.Canvas.Group.group_del; |
148 | Efl.Canvas.Group.group_member_add; | 149 | Efl.Canvas.Group.group_member_add; |
149 | Efl.Canvas.Group.group_resize; | ||
150 | Efl.Ui.Draggable.drag_target.set; | 150 | Efl.Ui.Draggable.drag_target.set; |
151 | Efl.Ui.Draggable.drag_target.get; | 151 | Efl.Ui.Draggable.drag_target.get; |
152 | Elm.Widget.theme_apply; | 152 | Elm.Widget.theme_apply; |
diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c index 5d6ecb3429..52ebe1134d 100644 --- a/src/lib/elementary/efl_ui_text.c +++ b/src/lib/elementary/efl_ui_text.c | |||
@@ -3483,12 +3483,15 @@ _efl_ui_text_efl_gfx_position_set(Eo *obj, Efl_Ui_Text_Data *sd, Evas_Coord x, E | |||
3483 | } | 3483 | } |
3484 | 3484 | ||
3485 | EOLIAN static void | 3485 | EOLIAN static void |
3486 | _efl_ui_text_efl_canvas_group_group_resize(Eo *obj, Efl_Ui_Text_Data *sd, Evas_Coord w, Evas_Coord h) | 3486 | _efl_ui_text_efl_gfx_size_set(Eo *obj, Efl_Ui_Text_Data *sd, Evas_Coord w, Evas_Coord h) |
3487 | { | 3487 | { |
3488 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 3488 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
3489 | return; | ||
3489 | 3490 | ||
3490 | evas_object_resize(sd->hit_rect, w, h); | 3491 | evas_object_resize(sd->hit_rect, w, h); |
3491 | _update_selection_handler(obj); | 3492 | _update_selection_handler(obj); |
3493 | |||
3494 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
3492 | } | 3495 | } |
3493 | 3496 | ||
3494 | EOLIAN static void | 3497 | EOLIAN static void |
diff --git a/src/lib/elementary/efl_ui_text.eo b/src/lib/elementary/efl_ui_text.eo index d506a45332..8fe58331b8 100644 --- a/src/lib/elementary/efl_ui_text.eo +++ b/src/lib/elementary/efl_ui_text.eo | |||
@@ -418,9 +418,9 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, | |||
418 | Efl.Object.destructor; | 418 | Efl.Object.destructor; |
419 | Efl.Gfx.visible.set; | 419 | Efl.Gfx.visible.set; |
420 | Efl.Gfx.position.set; | 420 | Efl.Gfx.position.set; |
421 | Efl.Gfx.size.set; | ||
421 | Efl.Canvas.Group.group_member_add; | 422 | Efl.Canvas.Group.group_member_add; |
422 | Efl.Canvas.Group.group_add; | 423 | Efl.Canvas.Group.group_add; |
423 | Efl.Canvas.Group.group_resize; | ||
424 | Efl.Canvas.Group.group_del; | 424 | Efl.Canvas.Group.group_del; |
425 | Elm.Widget.activate; | 425 | Elm.Widget.activate; |
426 | Elm.Widget.focus_direction_manager_is; | 426 | Elm.Widget.focus_direction_manager_is; |
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 5dca56fbdf..56782307f7 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c | |||
@@ -2821,11 +2821,13 @@ super_skip: | |||
2821 | } | 2821 | } |
2822 | 2822 | ||
2823 | EOLIAN static void | 2823 | EOLIAN static void |
2824 | _efl_ui_win_efl_canvas_group_group_resize(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord w, Evas_Coord h) | 2824 | _efl_ui_win_efl_gfx_size_set(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coord w, Evas_Coord h) |
2825 | { | 2825 | { |
2826 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) | ||
2827 | return; | ||
2828 | |||
2826 | if (sd->img_obj) | 2829 | if (sd->img_obj) |
2827 | { | 2830 | { |
2828 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | ||
2829 | if (sd->constrain) | 2831 | if (sd->constrain) |
2830 | { | 2832 | { |
2831 | int sw, sh; | 2833 | int sw, sh; |
@@ -2841,6 +2843,8 @@ _efl_ui_win_efl_canvas_group_group_resize(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Coo | |||
2841 | } | 2843 | } |
2842 | 2844 | ||
2843 | if (!sd->response) TRAP(sd, resize, w, h); | 2845 | if (!sd->response) TRAP(sd, resize, w, h); |
2846 | |||
2847 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
2844 | } | 2848 | } |
2845 | 2849 | ||
2846 | static void | 2850 | static void |
diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo index b8c9ab47bc..0b5255030f 100644 --- a/src/lib/elementary/efl_ui_win.eo +++ b/src/lib/elementary/efl_ui_win.eo | |||
@@ -811,9 +811,9 @@ class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Elm.Interface.Atspi.Window, | |||
811 | Efl.Object.finalize; | 811 | Efl.Object.finalize; |
812 | Efl.Gfx.visible.set; | 812 | Efl.Gfx.visible.set; |
813 | Efl.Gfx.position.set; | 813 | Efl.Gfx.position.set; |
814 | Efl.Gfx.size.set; | ||
814 | Efl.Canvas.Group.group_add; | 815 | Efl.Canvas.Group.group_add; |
815 | Efl.Canvas.Group.group_del; | 816 | Efl.Canvas.Group.group_del; |
816 | Efl.Canvas.Group.group_resize; | ||
817 | Elm.Widget.focus_direction; | 817 | Elm.Widget.focus_direction; |
818 | Elm.Widget.focus_next_manager_is; | 818 | Elm.Widget.focus_next_manager_is; |
819 | Elm.Widget.focus_direction_manager_is; | 819 | Elm.Widget.focus_direction_manager_is; |
diff --git a/src/lib/elementary/elc_combobox.c b/src/lib/elementary/elc_combobox.c index 2af16e2ba6..6026ce9e35 100644 --- a/src/lib/elementary/elc_combobox.c +++ b/src/lib/elementary/elc_combobox.c | |||
@@ -529,10 +529,12 @@ _elm_combobox_elm_widget_part_text_get(Eo *obj EINA_UNUSED, Elm_Combobox_Data *p | |||
529 | } | 529 | } |
530 | 530 | ||
531 | EOLIAN static void | 531 | EOLIAN static void |
532 | _elm_combobox_efl_canvas_group_group_resize(Eo *obj, Elm_Combobox_Data *pd, | 532 | _elm_combobox_efl_gfx_size_set(Eo *obj, Elm_Combobox_Data *pd, Evas_Coord w, Evas_Coord h) |
533 | Evas_Coord w, Evas_Coord h) | ||
534 | { | 533 | { |
535 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 534 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
535 | return; | ||
536 | |||
536 | if (pd->count > 0) _table_resize(obj); | 537 | if (pd->count > 0) _table_resize(obj); |
538 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
537 | } | 539 | } |
538 | #include "elm_combobox.eo.c" | 540 | #include "elm_combobox.eo.c" |
diff --git a/src/lib/elementary/elm_combobox.eo b/src/lib/elementary/elm_combobox.eo index 66f60a6f47..9302421fd5 100644 --- a/src/lib/elementary/elm_combobox.eo +++ b/src/lib/elementary/elm_combobox.eo | |||
@@ -37,9 +37,9 @@ class Elm.Combobox (Elm.Button, Efl.Ui.Selectable, | |||
37 | class.constructor; | 37 | class.constructor; |
38 | Efl.Object.constructor; | 38 | Efl.Object.constructor; |
39 | Efl.Gfx.visible.set; | 39 | Efl.Gfx.visible.set; |
40 | Efl.Gfx.size.set; | ||
40 | Efl.Canvas.Group.group_add; | 41 | Efl.Canvas.Group.group_add; |
41 | Efl.Canvas.Group.group_del; | 42 | Efl.Canvas.Group.group_del; |
42 | Efl.Canvas.Group.group_resize; | ||
43 | Elm.Widget.part_text.set; | 43 | Elm.Widget.part_text.set; |
44 | Elm.Widget.part_text.get; | 44 | Elm.Widget.part_text.get; |
45 | Elm.Widget.theme_apply; | 45 | Elm.Widget.theme_apply; |
diff --git a/src/lib/elementary/elm_diskselector.c b/src/lib/elementary/elm_diskselector.c index 8d4da071b8..8d8f29cf51 100644 --- a/src/lib/elementary/elm_diskselector.c +++ b/src/lib/elementary/elm_diskselector.c | |||
@@ -1432,11 +1432,14 @@ _elm_diskselector_efl_gfx_position_set(Eo *obj, Elm_Diskselector_Data *sd, Evas_ | |||
1432 | } | 1432 | } |
1433 | 1433 | ||
1434 | EOLIAN static void | 1434 | EOLIAN static void |
1435 | _elm_diskselector_efl_canvas_group_group_resize(Eo *obj, Elm_Diskselector_Data *sd, Evas_Coord w, Evas_Coord h) | 1435 | _elm_diskselector_efl_gfx_size_set(Eo *obj, Elm_Diskselector_Data *sd, Evas_Coord w, Evas_Coord h) |
1436 | { | 1436 | { |
1437 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 1437 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
1438 | return; | ||
1438 | 1439 | ||
1439 | evas_object_resize(sd->hit_rect, w, h); | 1440 | evas_object_resize(sd->hit_rect, w, h); |
1441 | |||
1442 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
1440 | } | 1443 | } |
1441 | 1444 | ||
1442 | EOLIAN static void | 1445 | EOLIAN static void |
diff --git a/src/lib/elementary/elm_diskselector.eo b/src/lib/elementary/elm_diskselector.eo index 0b20ec6cea..54cf42281d 100644 --- a/src/lib/elementary/elm_diskselector.eo +++ b/src/lib/elementary/elm_diskselector.eo | |||
@@ -198,10 +198,10 @@ class Elm.Diskselector (Elm.Widget, Elm.Interface_Scrollable, | |||
198 | class.constructor; | 198 | class.constructor; |
199 | Efl.Object.constructor; | 199 | Efl.Object.constructor; |
200 | Efl.Gfx.position.set; | 200 | Efl.Gfx.position.set; |
201 | Efl.Gfx.size.set; | ||
201 | Efl.Canvas.Group.group_member_add; | 202 | Efl.Canvas.Group.group_member_add; |
202 | Efl.Canvas.Group.group_add; | 203 | Efl.Canvas.Group.group_add; |
203 | Efl.Canvas.Group.group_del; | 204 | Efl.Canvas.Group.group_del; |
204 | Efl.Canvas.Group.group_resize; | ||
205 | Elm.Widget.focus_next_manager_is; | 205 | Elm.Widget.focus_next_manager_is; |
206 | Elm.Widget.access; | 206 | Elm.Widget.access; |
207 | Elm.Widget.focus_next; | 207 | Elm.Widget.focus_next; |
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c index 85c039db35..2f5e353ae1 100644 --- a/src/lib/elementary/elm_entry.c +++ b/src/lib/elementary/elm_entry.c | |||
@@ -3929,13 +3929,16 @@ _elm_entry_efl_gfx_position_set(Eo *obj, Elm_Entry_Data *sd, Evas_Coord x, Evas_ | |||
3929 | } | 3929 | } |
3930 | 3930 | ||
3931 | EOLIAN static void | 3931 | EOLIAN static void |
3932 | _elm_entry_efl_canvas_group_group_resize(Eo *obj, Elm_Entry_Data *sd, Evas_Coord w, Evas_Coord h) | 3932 | _elm_entry_efl_gfx_size_set(Eo *obj, Elm_Entry_Data *sd, Evas_Coord w, Evas_Coord h) |
3933 | { | 3933 | { |
3934 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 3934 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
3935 | return; | ||
3935 | 3936 | ||
3936 | evas_object_resize(sd->hit_rect, w, h); | 3937 | evas_object_resize(sd->hit_rect, w, h); |
3937 | if (sd->have_selection) | 3938 | if (sd->have_selection) |
3938 | _update_selection_handler(obj); | 3939 | _update_selection_handler(obj); |
3940 | |||
3941 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
3939 | } | 3942 | } |
3940 | 3943 | ||
3941 | EOLIAN static void | 3944 | EOLIAN static void |
diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo index 2bd3b1f1b7..3a0aaa28f4 100644 --- a/src/lib/elementary/elm_entry.eo +++ b/src/lib/elementary/elm_entry.eo | |||
@@ -941,9 +941,9 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, | |||
941 | Efl.Object.constructor; | 941 | Efl.Object.constructor; |
942 | Efl.Gfx.visible.set; | 942 | Efl.Gfx.visible.set; |
943 | Efl.Gfx.position.set; | 943 | Efl.Gfx.position.set; |
944 | Efl.Gfx.size.set; | ||
944 | Efl.Canvas.Group.group_member_add; | 945 | Efl.Canvas.Group.group_member_add; |
945 | Efl.Canvas.Group.group_add; | 946 | Efl.Canvas.Group.group_add; |
946 | Efl.Canvas.Group.group_resize; | ||
947 | Efl.Canvas.Group.group_del; | 947 | Efl.Canvas.Group.group_del; |
948 | Elm.Widget.activate; | 948 | Elm.Widget.activate; |
949 | Elm.Widget.focus_direction_manager_is; | 949 | Elm.Widget.focus_direction_manager_is; |
diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c index 27e06ceb02..90fc7fab8a 100644 --- a/src/lib/elementary/elm_gengrid.c +++ b/src/lib/elementary/elm_gengrid.c | |||
@@ -490,12 +490,13 @@ _elm_gengrid_pan_efl_gfx_position_set(Eo *obj, Elm_Gengrid_Pan_Data *psd, Evas_C | |||
490 | } | 490 | } |
491 | 491 | ||
492 | EOLIAN static void | 492 | EOLIAN static void |
493 | _elm_gengrid_pan_efl_canvas_group_group_resize(Eo *obj, Elm_Gengrid_Pan_Data *psd, Evas_Coord w, Evas_Coord h) | 493 | _elm_gengrid_pan_efl_gfx_size_set(Eo *obj, Elm_Gengrid_Pan_Data *psd, Evas_Coord w, Evas_Coord h) |
494 | { | 494 | { |
495 | Evas_Coord ow, oh; | 495 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
496 | return; | ||
497 | |||
498 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
496 | 499 | ||
497 | evas_object_geometry_get(obj, NULL, NULL, &ow, &oh); | ||
498 | if ((ow == w) && (oh == h)) return; | ||
499 | ecore_job_del(psd->wsd->calc_job); | 500 | ecore_job_del(psd->wsd->calc_job); |
500 | psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wobj); | 501 | psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wobj); |
501 | } | 502 | } |
@@ -4347,11 +4348,13 @@ _elm_gengrid_efl_gfx_position_set(Eo *obj, Elm_Gengrid_Data *sd, Evas_Coord x, E | |||
4347 | } | 4348 | } |
4348 | 4349 | ||
4349 | EOLIAN static void | 4350 | EOLIAN static void |
4350 | _elm_gengrid_efl_canvas_group_group_resize(Eo *obj, Elm_Gengrid_Data *sd, Evas_Coord w, Evas_Coord h) | 4351 | _elm_gengrid_efl_gfx_size_set(Eo *obj, Elm_Gengrid_Data *sd, Evas_Coord w, Evas_Coord h) |
4351 | { | 4352 | { |
4352 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 4353 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
4354 | return; | ||
4353 | 4355 | ||
4354 | evas_object_resize(sd->hit_rect, w, h); | 4356 | evas_object_resize(sd->hit_rect, w, h); |
4357 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
4355 | } | 4358 | } |
4356 | 4359 | ||
4357 | EOLIAN static void | 4360 | EOLIAN static void |
diff --git a/src/lib/elementary/elm_gengrid.eo b/src/lib/elementary/elm_gengrid.eo index 63baf6ff32..fc7231e286 100644 --- a/src/lib/elementary/elm_gengrid.eo +++ b/src/lib/elementary/elm_gengrid.eo | |||
@@ -541,10 +541,10 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable, | |||
541 | class.constructor; | 541 | class.constructor; |
542 | Efl.Object.constructor; | 542 | Efl.Object.constructor; |
543 | Efl.Gfx.position.set; | 543 | Efl.Gfx.position.set; |
544 | Efl.Gfx.size.set; | ||
544 | Efl.Canvas.Group.group_add; | 545 | Efl.Canvas.Group.group_add; |
545 | Efl.Canvas.Group.group_del; | 546 | Efl.Canvas.Group.group_del; |
546 | Efl.Canvas.Group.group_member_add; | 547 | Efl.Canvas.Group.group_member_add; |
547 | Efl.Canvas.Group.group_resize; | ||
548 | Elm.Widget.theme_apply; | 548 | Elm.Widget.theme_apply; |
549 | Elm.Widget.focus_next_manager_is; | 549 | Elm.Widget.focus_next_manager_is; |
550 | Elm.Widget.focus_direction_manager_is; | 550 | Elm.Widget.focus_direction_manager_is; |
diff --git a/src/lib/elementary/elm_gengrid_pan.eo b/src/lib/elementary/elm_gengrid_pan.eo index 94ca804f2f..72a5ade975 100644 --- a/src/lib/elementary/elm_gengrid_pan.eo +++ b/src/lib/elementary/elm_gengrid_pan.eo | |||
@@ -7,8 +7,8 @@ class Elm.Gengrid.Pan (Elm.Pan) | |||
7 | class.constructor; | 7 | class.constructor; |
8 | Efl.Object.destructor; | 8 | Efl.Object.destructor; |
9 | Efl.Gfx.position.set; | 9 | Efl.Gfx.position.set; |
10 | Efl.Gfx.size.set; | ||
10 | Efl.Canvas.Group.group_calculate; | 11 | Efl.Canvas.Group.group_calculate; |
11 | Efl.Canvas.Group.group_resize; | ||
12 | Elm.Pan.content_size.get; | 12 | Elm.Pan.content_size.get; |
13 | Elm.Pan.pos; | 13 | Elm.Pan.pos; |
14 | Elm.Pan.pos_min.get; | 14 | Elm.Pan.pos_min.get; |
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c index f75b263601..b0e8da810f 100644 --- a/src/lib/elementary/elm_genlist.c +++ b/src/lib/elementary/elm_genlist.c | |||
@@ -290,14 +290,16 @@ _elm_genlist_pan_smart_resize_job(void *data) | |||
290 | } | 290 | } |
291 | 291 | ||
292 | EOLIAN static void | 292 | EOLIAN static void |
293 | _elm_genlist_pan_efl_canvas_group_group_resize(Eo *obj, Elm_Genlist_Pan_Data *psd, Evas_Coord w, Evas_Coord h) | 293 | _elm_genlist_pan_efl_gfx_size_set(Eo *obj, Elm_Genlist_Pan_Data *psd, Evas_Coord w, Evas_Coord h) |
294 | { | 294 | { |
295 | Elm_Genlist_Data *sd = psd->wsd; | ||
295 | Evas_Coord ow, oh; | 296 | Evas_Coord ow, oh; |
296 | 297 | ||
297 | Elm_Genlist_Data *sd = psd->wsd; | 298 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
299 | return; | ||
298 | 300 | ||
299 | evas_object_geometry_get(obj, NULL, NULL, &ow, &oh); | 301 | efl_gfx_size_get(obj, &ow, &oh); |
300 | if ((ow == w) && (oh == h)) return; | 302 | if ((ow == w) && (oh == h)) goto super; // should already be intercepted above |
301 | if ((sd->mode == ELM_LIST_COMPRESS) && (ow != w)) | 303 | if ((sd->mode == ELM_LIST_COMPRESS) && (ow != w)) |
302 | { | 304 | { |
303 | /* fix me later */ | 305 | /* fix me later */ |
@@ -315,6 +317,9 @@ _elm_genlist_pan_efl_canvas_group_group_resize(Eo *obj, Elm_Genlist_Pan_Data *ps | |||
315 | sd->calc_job = ecore_job_add(_calc_job, psd->wobj); | 317 | sd->calc_job = ecore_job_add(_calc_job, psd->wobj); |
316 | else | 318 | else |
317 | sd->calc_job = NULL; | 319 | sd->calc_job = NULL; |
320 | |||
321 | super: | ||
322 | efl_gfx_size_set(efl_super(obj, MY_PAN_CLASS), w, h); | ||
318 | } | 323 | } |
319 | 324 | ||
320 | static void | 325 | static void |
@@ -5674,13 +5679,16 @@ _elm_genlist_efl_gfx_position_set(Eo *obj, Elm_Genlist_Data *sd, Evas_Coord x, E | |||
5674 | } | 5679 | } |
5675 | 5680 | ||
5676 | EOLIAN static void | 5681 | EOLIAN static void |
5677 | _elm_genlist_efl_canvas_group_group_resize(Eo *obj, Elm_Genlist_Data *sd, Evas_Coord w, Evas_Coord h) | 5682 | _elm_genlist_efl_gfx_size_set(Eo *obj, Elm_Genlist_Data *sd, Evas_Coord w, Evas_Coord h) |
5678 | { | 5683 | { |
5679 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 5684 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
5685 | return; | ||
5680 | 5686 | ||
5681 | evas_object_resize(sd->hit_rect, w, h); | 5687 | evas_object_resize(sd->hit_rect, w, h); |
5682 | if ((sd->queue) && (!sd->queue_idle_enterer) && (w > 0)) | 5688 | if ((sd->queue) && (!sd->queue_idle_enterer) && (w > 0)) |
5683 | _requeue_idle_enterer(sd); | 5689 | _requeue_idle_enterer(sd); |
5690 | |||
5691 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
5684 | } | 5692 | } |
5685 | 5693 | ||
5686 | EOLIAN static void | 5694 | EOLIAN static void |
diff --git a/src/lib/elementary/elm_genlist.eo b/src/lib/elementary/elm_genlist.eo index cbdb18021f..97c7dd9960 100644 --- a/src/lib/elementary/elm_genlist.eo +++ b/src/lib/elementary/elm_genlist.eo | |||
@@ -529,10 +529,10 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, | |||
529 | class.constructor; | 529 | class.constructor; |
530 | Efl.Object.constructor; | 530 | Efl.Object.constructor; |
531 | Efl.Gfx.position.set; | 531 | Efl.Gfx.position.set; |
532 | Efl.Gfx.size.set; | ||
532 | Efl.Canvas.Group.group_member_add; | 533 | Efl.Canvas.Group.group_member_add; |
533 | Efl.Canvas.Group.group_add; | 534 | Efl.Canvas.Group.group_add; |
534 | Efl.Canvas.Group.group_del; | 535 | Efl.Canvas.Group.group_del; |
535 | Efl.Canvas.Group.group_resize; | ||
536 | Elm.Widget.theme_apply; | 536 | Elm.Widget.theme_apply; |
537 | Elm.Widget.focus_next_manager_is; | 537 | Elm.Widget.focus_next_manager_is; |
538 | Elm.Widget.sub_object_add; | 538 | Elm.Widget.sub_object_add; |
diff --git a/src/lib/elementary/elm_genlist_pan.eo b/src/lib/elementary/elm_genlist_pan.eo index f773328014..bc9a9b4eec 100644 --- a/src/lib/elementary/elm_genlist_pan.eo +++ b/src/lib/elementary/elm_genlist_pan.eo | |||
@@ -7,9 +7,9 @@ class Elm.Genlist.Pan (Elm.Pan) | |||
7 | class.constructor; | 7 | class.constructor; |
8 | Efl.Object.destructor; | 8 | Efl.Object.destructor; |
9 | Efl.Gfx.position.set; | 9 | Efl.Gfx.position.set; |
10 | Efl.Gfx.size.set; | ||
10 | Efl.Canvas.Group.group_calculate; | 11 | Efl.Canvas.Group.group_calculate; |
11 | Efl.Canvas.Group.group_del; | 12 | Efl.Canvas.Group.group_del; |
12 | Efl.Canvas.Group.group_resize; | ||
13 | Elm.Pan.content_size.get; | 13 | Elm.Pan.content_size.get; |
14 | Elm.Pan.pos; | 14 | Elm.Pan.pos; |
15 | Elm.Pan.pos_min.get; | 15 | Elm.Pan.pos_min.get; |
diff --git a/src/lib/elementary/elm_glview.c b/src/lib/elementary/elm_glview.c index ff98a271e1..966295ebdb 100644 --- a/src/lib/elementary/elm_glview.c +++ b/src/lib/elementary/elm_glview.c | |||
@@ -86,9 +86,12 @@ _glview_update_surface(Evas_Object *obj) | |||
86 | } | 86 | } |
87 | 87 | ||
88 | EOLIAN static void | 88 | EOLIAN static void |
89 | _elm_glview_efl_canvas_group_group_resize(Eo *obj, Elm_Glview_Data *sd, Evas_Coord w, Evas_Coord h) | 89 | _elm_glview_efl_gfx_size_set(Eo *obj, Elm_Glview_Data *sd, Evas_Coord w, Evas_Coord h) |
90 | { | 90 | { |
91 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 91 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
92 | return; | ||
93 | |||
94 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
92 | 95 | ||
93 | sd->resized = EINA_TRUE; | 96 | sd->resized = EINA_TRUE; |
94 | 97 | ||
@@ -100,8 +103,6 @@ _elm_glview_efl_canvas_group_group_resize(Eo *obj, Elm_Glview_Data *sd, Evas_Coo | |||
100 | h = 64; | 103 | h = 64; |
101 | } | 104 | } |
102 | 105 | ||
103 | if ((sd->w == w) && (sd->h == h)) return; | ||
104 | |||
105 | sd->w = w; | 106 | sd->w = w; |
106 | sd->h = h; | 107 | sd->h = h; |
107 | 108 | ||
diff --git a/src/lib/elementary/elm_glview.eo b/src/lib/elementary/elm_glview.eo index 54d8143a51..d50a8ae89a 100644 --- a/src/lib/elementary/elm_glview.eo +++ b/src/lib/elementary/elm_glview.eo | |||
@@ -188,9 +188,9 @@ class Elm.Glview (Elm.Widget, Efl.Gfx.View) | |||
188 | implements { | 188 | implements { |
189 | class.constructor; | 189 | class.constructor; |
190 | Efl.Object.finalize; | 190 | Efl.Object.finalize; |
191 | Efl.Gfx.size.set; | ||
191 | Efl.Canvas.Group.group_add; | 192 | Efl.Canvas.Group.group_add; |
192 | Efl.Canvas.Group.group_del; | 193 | Efl.Canvas.Group.group_del; |
193 | Efl.Canvas.Group.group_resize; | ||
194 | Elm.Widget.on_focus; | 194 | Elm.Widget.on_focus; |
195 | Efl.Gfx.View.view_size.get; | 195 | Efl.Gfx.View.view_size.get; |
196 | Efl.Gfx.View.view_size.set; | 196 | Efl.Gfx.View.view_size.set; |
diff --git a/src/lib/elementary/elm_hover.c b/src/lib/elementary/elm_hover.c index 0c8fa72682..eacfb1472c 100644 --- a/src/lib/elementary/elm_hover.c +++ b/src/lib/elementary/elm_hover.c | |||
@@ -627,9 +627,12 @@ _elm_hover_efl_gfx_position_set(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSED, Evas_C | |||
627 | } | 627 | } |
628 | 628 | ||
629 | EOLIAN static void | 629 | EOLIAN static void |
630 | _elm_hover_efl_canvas_group_group_resize(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSED, Evas_Coord w, Evas_Coord h) | 630 | _elm_hover_efl_gfx_size_set(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSED, Evas_Coord w, Evas_Coord h) |
631 | { | 631 | { |
632 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 632 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
633 | return; | ||
634 | |||
635 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
633 | 636 | ||
634 | elm_layout_sizing_eval(obj); | 637 | elm_layout_sizing_eval(obj); |
635 | } | 638 | } |
diff --git a/src/lib/elementary/elm_hover.eo b/src/lib/elementary/elm_hover.eo index 47caaabc63..a01ea229d7 100644 --- a/src/lib/elementary/elm_hover.eo +++ b/src/lib/elementary/elm_hover.eo | |||
@@ -62,9 +62,9 @@ class Elm.Hover (Elm.Layout, Efl.Ui.Clickable, Elm.Interface.Atspi_Widget_Action | |||
62 | Efl.Object.constructor; | 62 | Efl.Object.constructor; |
63 | Efl.Gfx.visible.set; | 63 | Efl.Gfx.visible.set; |
64 | Efl.Gfx.position.set; | 64 | Efl.Gfx.position.set; |
65 | Efl.Gfx.size.set; | ||
65 | Efl.Canvas.Group.group_del; | 66 | Efl.Canvas.Group.group_del; |
66 | Efl.Canvas.Group.group_add; | 67 | Efl.Canvas.Group.group_add; |
67 | Efl.Canvas.Group.group_resize; | ||
68 | Elm.Widget.theme_apply; | 68 | Elm.Widget.theme_apply; |
69 | Elm.Widget.sub_object_add; | 69 | Elm.Widget.sub_object_add; |
70 | Elm.Widget.widget_parent; | 70 | Elm.Widget.widget_parent; |
diff --git a/src/lib/elementary/elm_interface_scrollable.c b/src/lib/elementary/elm_interface_scrollable.c index f6b1623077..8d22b544c6 100644 --- a/src/lib/elementary/elm_interface_scrollable.c +++ b/src/lib/elementary/elm_interface_scrollable.c | |||
@@ -116,8 +116,13 @@ _elm_pan_efl_gfx_position_set(Eo *obj, Elm_Pan_Smart_Data *psd, Evas_Coord x, Ev | |||
116 | } | 116 | } |
117 | 117 | ||
118 | EOLIAN static void | 118 | EOLIAN static void |
119 | _elm_pan_efl_canvas_group_group_resize(Eo *obj EINA_UNUSED, Elm_Pan_Smart_Data *psd, Evas_Coord w, Evas_Coord h) | 119 | _elm_pan_efl_gfx_size_set(Eo *obj EINA_UNUSED, Elm_Pan_Smart_Data *psd, Evas_Coord w, Evas_Coord h) |
120 | { | 120 | { |
121 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) | ||
122 | return; | ||
123 | |||
124 | efl_gfx_size_set(efl_super(obj, MY_PAN_CLASS), w, h); | ||
125 | |||
121 | psd->w = w; | 126 | psd->w = w; |
122 | psd->h = h; | 127 | psd->h = h; |
123 | 128 | ||
diff --git a/src/lib/elementary/elm_list.c b/src/lib/elementary/elm_list.c index dc8e9b7ba9..8f2ca840f8 100644 --- a/src/lib/elementary/elm_list.c +++ b/src/lib/elementary/elm_list.c | |||
@@ -2520,9 +2520,12 @@ _elm_list_efl_gfx_position_set(Eo *obj, Elm_List_Data *sd, Evas_Coord x, Evas_Co | |||
2520 | } | 2520 | } |
2521 | 2521 | ||
2522 | EOLIAN static void | 2522 | EOLIAN static void |
2523 | _elm_list_efl_canvas_group_group_resize(Eo *obj, Elm_List_Data *sd, Evas_Coord w, Evas_Coord h) | 2523 | _elm_list_efl_gfx_size_set(Eo *obj, Elm_List_Data *sd, Evas_Coord w, Evas_Coord h) |
2524 | { | 2524 | { |
2525 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 2525 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
2526 | return; | ||
2527 | |||
2528 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
2526 | 2529 | ||
2527 | evas_object_resize(sd->hit_rect, w, h); | 2530 | evas_object_resize(sd->hit_rect, w, h); |
2528 | } | 2531 | } |
diff --git a/src/lib/elementary/elm_list.eo b/src/lib/elementary/elm_list.eo index 273ca41270..3c55a83f52 100644 --- a/src/lib/elementary/elm_list.eo +++ b/src/lib/elementary/elm_list.eo | |||
@@ -430,10 +430,10 @@ class Elm.List (Elm.Layout, Elm.Interface_Scrollable, | |||
430 | class.constructor; | 430 | class.constructor; |
431 | Efl.Object.constructor; | 431 | Efl.Object.constructor; |
432 | Efl.Gfx.position.set; | 432 | Efl.Gfx.position.set; |
433 | Efl.Gfx.size.set; | ||
433 | Efl.Canvas.Group.group_member_add; | 434 | Efl.Canvas.Group.group_member_add; |
434 | Efl.Canvas.Group.group_add; | 435 | Efl.Canvas.Group.group_add; |
435 | Efl.Canvas.Group.group_del; | 436 | Efl.Canvas.Group.group_del; |
436 | Efl.Canvas.Group.group_resize; | ||
437 | Elm.Widget.theme_apply; | 437 | Elm.Widget.theme_apply; |
438 | Elm.Widget.focus_next_manager_is; | 438 | Elm.Widget.focus_next_manager_is; |
439 | Elm.Widget.focus_direction_manager_is; | 439 | Elm.Widget.focus_direction_manager_is; |
diff --git a/src/lib/elementary/elm_map.c b/src/lib/elementary/elm_map.c index e600a21d32..1d57f5f070 100644 --- a/src/lib/elementary/elm_map.c +++ b/src/lib/elementary/elm_map.c | |||
@@ -3864,8 +3864,13 @@ _elm_map_pan_elm_pan_content_size_get(Eo *obj EINA_UNUSED, Elm_Map_Pan_Data *psd | |||
3864 | } | 3864 | } |
3865 | 3865 | ||
3866 | EOLIAN static void | 3866 | EOLIAN static void |
3867 | _elm_map_pan_efl_canvas_group_group_resize(Eo *obj, Elm_Map_Pan_Data *psd, Evas_Coord w EINA_UNUSED, Evas_Coord h EINA_UNUSED) | 3867 | _elm_map_pan_efl_gfx_size_set(Eo *obj, Elm_Map_Pan_Data *psd, Evas_Coord w, Evas_Coord h) |
3868 | { | 3868 | { |
3869 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) | ||
3870 | return; | ||
3871 | |||
3872 | efl_gfx_size_set(efl_super(obj, MY_PAN_CLASS), w, h); | ||
3873 | |||
3869 | _sizing_eval(psd->wsd->obj); | 3874 | _sizing_eval(psd->wsd->obj); |
3870 | elm_map_zoom_mode_set(psd->wobj, psd->wsd->mode); | 3875 | elm_map_zoom_mode_set(psd->wobj, psd->wsd->mode); |
3871 | evas_object_smart_changed(obj); | 3876 | evas_object_smart_changed(obj); |
@@ -4219,9 +4224,12 @@ _elm_map_efl_gfx_position_set(Eo *obj, Elm_Map_Data *sd, Evas_Coord x, Evas_Coor | |||
4219 | } | 4224 | } |
4220 | 4225 | ||
4221 | EOLIAN static void | 4226 | EOLIAN static void |
4222 | _elm_map_efl_canvas_group_group_resize(Eo *obj, Elm_Map_Data *sd, Evas_Coord w, Evas_Coord h) | 4227 | _elm_map_efl_gfx_size_set(Eo *obj, Elm_Map_Data *sd, Evas_Coord w, Evas_Coord h) |
4223 | { | 4228 | { |
4224 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 4229 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
4230 | return; | ||
4231 | |||
4232 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
4225 | 4233 | ||
4226 | evas_object_resize(sd->hit_rect, w, h); | 4234 | evas_object_resize(sd->hit_rect, w, h); |
4227 | } | 4235 | } |
diff --git a/src/lib/elementary/elm_map.eo b/src/lib/elementary/elm_map.eo index 9267b35f9e..d47e046159 100644 --- a/src/lib/elementary/elm_map.eo +++ b/src/lib/elementary/elm_map.eo | |||
@@ -627,10 +627,10 @@ class Elm.Map (Elm.Widget, Elm.Interface_Scrollable, | |||
627 | class.constructor; | 627 | class.constructor; |
628 | Efl.Object.constructor; | 628 | Efl.Object.constructor; |
629 | Efl.Gfx.position.set; | 629 | Efl.Gfx.position.set; |
630 | Efl.Gfx.size.set; | ||
630 | Efl.Canvas.Group.group_add; | 631 | Efl.Canvas.Group.group_add; |
631 | Efl.Canvas.Group.group_del; | 632 | Efl.Canvas.Group.group_del; |
632 | Efl.Canvas.Group.group_member_add; | 633 | Efl.Canvas.Group.group_member_add; |
633 | Efl.Canvas.Group.group_resize; | ||
634 | Elm.Widget.theme_apply; | 634 | Elm.Widget.theme_apply; |
635 | Elm.Widget.on_focus; | 635 | Elm.Widget.on_focus; |
636 | Elm.Widget.event; | 636 | Elm.Widget.event; |
diff --git a/src/lib/elementary/elm_map_pan.eo b/src/lib/elementary/elm_map_pan.eo index a073aafcf2..cbae0a077f 100644 --- a/src/lib/elementary/elm_map_pan.eo +++ b/src/lib/elementary/elm_map_pan.eo | |||
@@ -7,8 +7,8 @@ class Elm.Map.Pan (Elm.Pan) | |||
7 | class.constructor; | 7 | class.constructor; |
8 | Efl.Object.destructor; | 8 | Efl.Object.destructor; |
9 | Efl.Gfx.position.set; | 9 | Efl.Gfx.position.set; |
10 | Efl.Gfx.size.set; | ||
10 | Efl.Canvas.Group.group_calculate; | 11 | Efl.Canvas.Group.group_calculate; |
11 | Efl.Canvas.Group.group_resize; | ||
12 | Elm.Pan.content_size.get; | 12 | Elm.Pan.content_size.get; |
13 | Elm.Pan.pos; | 13 | Elm.Pan.pos; |
14 | Elm.Pan.pos_min.get; | 14 | Elm.Pan.pos_min.get; |
diff --git a/src/lib/elementary/elm_mapbuf.c b/src/lib/elementary/elm_mapbuf.c index 2034e209c8..371c634088 100644 --- a/src/lib/elementary/elm_mapbuf.c +++ b/src/lib/elementary/elm_mapbuf.c | |||
@@ -169,9 +169,12 @@ _elm_mapbuf_efl_gfx_position_set(Eo *obj, Elm_Mapbuf_Data *sd, Evas_Coord x, Eva | |||
169 | } | 169 | } |
170 | 170 | ||
171 | EOLIAN static void | 171 | EOLIAN static void |
172 | _elm_mapbuf_efl_canvas_group_group_resize(Eo *obj, Elm_Mapbuf_Data *sd, Evas_Coord w, Evas_Coord h) | 172 | _elm_mapbuf_efl_gfx_size_set(Eo *obj, Elm_Mapbuf_Data *sd, Evas_Coord w, Evas_Coord h) |
173 | { | 173 | { |
174 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 174 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
175 | return; | ||
176 | |||
177 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
175 | 178 | ||
176 | if (sd->content) evas_object_resize(sd->content, w, h); | 179 | if (sd->content) evas_object_resize(sd->content, w, h); |
177 | _mapbuf_auto_eval(obj, sd); | 180 | _mapbuf_auto_eval(obj, sd); |
diff --git a/src/lib/elementary/elm_mapbuf.eo b/src/lib/elementary/elm_mapbuf.eo index 24445109a7..62a47404d9 100644 --- a/src/lib/elementary/elm_mapbuf.eo +++ b/src/lib/elementary/elm_mapbuf.eo | |||
@@ -131,9 +131,9 @@ class Elm.Mapbuf (Elm.Widget, Efl.Container, Efl.Part) | |||
131 | Efl.Object.constructor; | 131 | Efl.Object.constructor; |
132 | Efl.Gfx.visible.set; | 132 | Efl.Gfx.visible.set; |
133 | Efl.Gfx.position.set; | 133 | Efl.Gfx.position.set; |
134 | Efl.Gfx.size.set; | ||
134 | Efl.Canvas.Group.group_add; | 135 | Efl.Canvas.Group.group_add; |
135 | Efl.Canvas.Group.group_del; | 136 | Efl.Canvas.Group.group_del; |
136 | Efl.Canvas.Group.group_resize; | ||
137 | Elm.Widget.theme_apply; | 137 | Elm.Widget.theme_apply; |
138 | Elm.Widget.sub_object_del; | 138 | Elm.Widget.sub_object_del; |
139 | Efl.Container.content.get; | 139 | Efl.Container.content.get; |
diff --git a/src/lib/elementary/elm_notify.c b/src/lib/elementary/elm_notify.c index 80ad35ef05..26aec380fb 100644 --- a/src/lib/elementary/elm_notify.c +++ b/src/lib/elementary/elm_notify.c | |||
@@ -226,15 +226,18 @@ _block_area_clicked_cb(void *data, | |||
226 | } | 226 | } |
227 | 227 | ||
228 | EOLIAN static void | 228 | EOLIAN static void |
229 | _elm_notify_efl_canvas_group_group_resize(Eo *obj, Elm_Notify_Data *sd, Evas_Coord w, Evas_Coord h) | 229 | _elm_notify_efl_gfx_size_set(Eo *obj, Elm_Notify_Data *sd, Evas_Coord w, Evas_Coord h) |
230 | { | 230 | { |
231 | Evas_Coord x, y; | 231 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
232 | return; | ||
232 | 233 | ||
233 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 234 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); |
234 | 235 | ||
235 | if (!sd->parent && sd->content) | 236 | if (!sd->parent && sd->content) |
236 | { | 237 | { |
237 | evas_object_geometry_get(obj, &x, &y, NULL, NULL); | 238 | Evas_Coord x, y; |
239 | |||
240 | efl_gfx_position_get(obj, &x, &y); | ||
238 | _notify_move_to_orientation(obj, x, y, w, h); | 241 | _notify_move_to_orientation(obj, x, y, w, h); |
239 | } | 242 | } |
240 | } | 243 | } |
diff --git a/src/lib/elementary/elm_notify.eo b/src/lib/elementary/elm_notify.eo index 93148843d7..2deaa59484 100644 --- a/src/lib/elementary/elm_notify.eo +++ b/src/lib/elementary/elm_notify.eo | |||
@@ -81,9 +81,9 @@ class Elm.Notify (Elm.Widget, Efl.Container, Efl.Part) | |||
81 | Efl.Object.constructor; | 81 | Efl.Object.constructor; |
82 | Efl.Gfx.visible.set; | 82 | Efl.Gfx.visible.set; |
83 | Efl.Gfx.position.set; | 83 | Efl.Gfx.position.set; |
84 | Efl.Gfx.size.set; | ||
84 | Efl.Canvas.Group.group_add; | 85 | Efl.Canvas.Group.group_add; |
85 | Efl.Canvas.Group.group_del; | 86 | Efl.Canvas.Group.group_del; |
86 | Efl.Canvas.Group.group_resize; | ||
87 | Elm.Widget.focus_direction; | 87 | Elm.Widget.focus_direction; |
88 | Elm.Widget.widget_parent; | 88 | Elm.Widget.widget_parent; |
89 | Elm.Widget.theme_apply; | 89 | Elm.Widget.theme_apply; |
diff --git a/src/lib/elementary/elm_pan.eo b/src/lib/elementary/elm_pan.eo index d89fedf2f6..8628914718 100644 --- a/src/lib/elementary/elm_pan.eo +++ b/src/lib/elementary/elm_pan.eo | |||
@@ -45,9 +45,9 @@ class Elm.Pan (Efl.Canvas.Group.Clipped) | |||
45 | class.constructor; | 45 | class.constructor; |
46 | Efl.Gfx.visible.set; | 46 | Efl.Gfx.visible.set; |
47 | Efl.Gfx.position.set; | 47 | Efl.Gfx.position.set; |
48 | Efl.Gfx.size.set; | ||
48 | Efl.Canvas.Group.group_add; | 49 | Efl.Canvas.Group.group_add; |
49 | Efl.Canvas.Group.group_del; | 50 | Efl.Canvas.Group.group_del; |
50 | Efl.Canvas.Group.group_resize; | ||
51 | } | 51 | } |
52 | events { | 52 | events { |
53 | changed; | 53 | changed; |
diff --git a/src/lib/elementary/elm_panel.c b/src/lib/elementary/elm_panel.c index 8eb079ceea..a8979aecaf 100644 --- a/src/lib/elementary/elm_panel.c +++ b/src/lib/elementary/elm_panel.c | |||
@@ -1108,9 +1108,12 @@ _elm_panel_efl_gfx_position_set(Eo *obj, Elm_Panel_Data *sd, Evas_Coord x, Evas_ | |||
1108 | } | 1108 | } |
1109 | 1109 | ||
1110 | EOLIAN static void | 1110 | EOLIAN static void |
1111 | _elm_panel_efl_canvas_group_group_resize(Eo *obj, Elm_Panel_Data *sd, Evas_Coord w, Evas_Coord h) | 1111 | _elm_panel_efl_gfx_size_set(Eo *obj, Elm_Panel_Data *sd, Evas_Coord w, Evas_Coord h) |
1112 | { | 1112 | { |
1113 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 1113 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
1114 | return; | ||
1115 | |||
1116 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
1114 | 1117 | ||
1115 | if (!sd->scrollable) return; | 1118 | if (!sd->scrollable) return; |
1116 | 1119 | ||
diff --git a/src/lib/elementary/elm_panel.eo b/src/lib/elementary/elm_panel.eo index 41fab5d43a..3ec22852b7 100644 --- a/src/lib/elementary/elm_panel.eo +++ b/src/lib/elementary/elm_panel.eo | |||
@@ -70,10 +70,10 @@ class Elm.Panel (Elm.Layout, Elm.Interface_Scrollable, | |||
70 | class.constructor; | 70 | class.constructor; |
71 | Efl.Object.constructor; | 71 | Efl.Object.constructor; |
72 | Efl.Gfx.position.set; | 72 | Efl.Gfx.position.set; |
73 | Efl.Gfx.size.set; | ||
73 | Efl.Canvas.Group.group_add; | 74 | Efl.Canvas.Group.group_add; |
74 | Efl.Canvas.Group.group_member_add; | 75 | Efl.Canvas.Group.group_member_add; |
75 | Efl.Canvas.Group.group_del; | 76 | Efl.Canvas.Group.group_del; |
76 | Efl.Canvas.Group.group_resize; | ||
77 | Elm.Widget.theme_apply; | 77 | Elm.Widget.theme_apply; |
78 | Elm.Widget.focus_next_manager_is; | 78 | Elm.Widget.focus_next_manager_is; |
79 | Elm.Widget.focus_next; | 79 | Elm.Widget.focus_next; |
diff --git a/src/lib/elementary/elm_photocam.c b/src/lib/elementary/elm_photocam.c index e5e987150d..840f0833b0 100644 --- a/src/lib/elementary/elm_photocam.c +++ b/src/lib/elementary/elm_photocam.c | |||
@@ -157,12 +157,12 @@ _elm_photocam_pan_efl_gfx_position_set(Eo *obj, Elm_Photocam_Pan_Data *psd, Evas | |||
157 | } | 157 | } |
158 | 158 | ||
159 | EOLIAN static void | 159 | EOLIAN static void |
160 | _elm_photocam_pan_efl_canvas_group_group_resize(Eo *obj, Elm_Photocam_Pan_Data *psd, Evas_Coord w, Evas_Coord h) | 160 | _elm_photocam_pan_efl_gfx_size_set(Eo *obj, Elm_Photocam_Pan_Data *psd, Evas_Coord w, Evas_Coord h) |
161 | { | 161 | { |
162 | Evas_Coord ow, oh; | 162 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
163 | return; | ||
163 | 164 | ||
164 | evas_object_geometry_get(obj, NULL, NULL, &ow, &oh); | 165 | efl_gfx_size_set(efl_super(obj, MY_PAN_CLASS), w, h); |
165 | if ((ow == w) && (oh == h)) return; | ||
166 | 166 | ||
167 | psd->wsd->resized = EINA_TRUE; | 167 | psd->wsd->resized = EINA_TRUE; |
168 | ecore_job_del(psd->wsd->calc_job); | 168 | ecore_job_del(psd->wsd->calc_job); |
@@ -1491,9 +1491,12 @@ _elm_photocam_efl_gfx_position_set(Eo *obj, Elm_Photocam_Data *sd, Evas_Coord x, | |||
1491 | } | 1491 | } |
1492 | 1492 | ||
1493 | EOLIAN static void | 1493 | EOLIAN static void |
1494 | _elm_photocam_efl_canvas_group_group_resize(Eo *obj, Elm_Photocam_Data *sd, Evas_Coord w, Evas_Coord h) | 1494 | _elm_photocam_efl_gfx_size_set(Eo *obj, Elm_Photocam_Data *sd, Evas_Coord w, Evas_Coord h) |
1495 | { | 1495 | { |
1496 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 1496 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
1497 | return; | ||
1498 | |||
1499 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
1497 | 1500 | ||
1498 | evas_object_resize(sd->hit_rect, w, h); | 1501 | evas_object_resize(sd->hit_rect, w, h); |
1499 | } | 1502 | } |
diff --git a/src/lib/elementary/elm_photocam.eo b/src/lib/elementary/elm_photocam.eo index c04bc2ab58..ebf0e13e56 100644 --- a/src/lib/elementary/elm_photocam.eo +++ b/src/lib/elementary/elm_photocam.eo | |||
@@ -190,10 +190,10 @@ class Elm.Photocam (Elm.Widget, Elm.Interface_Scrollable, | |||
190 | class.constructor; | 190 | class.constructor; |
191 | Efl.Object.constructor; | 191 | Efl.Object.constructor; |
192 | Efl.Gfx.position.set; | 192 | Efl.Gfx.position.set; |
193 | Efl.Gfx.size.set; | ||
193 | Efl.Canvas.Group.group_add; | 194 | Efl.Canvas.Group.group_add; |
194 | Efl.Canvas.Group.group_del; | 195 | Efl.Canvas.Group.group_del; |
195 | Efl.Canvas.Group.group_member_add; | 196 | Efl.Canvas.Group.group_member_add; |
196 | Efl.Canvas.Group.group_resize; | ||
197 | Elm.Widget.theme_apply; | 197 | Elm.Widget.theme_apply; |
198 | Elm.Widget.on_focus; | 198 | Elm.Widget.on_focus; |
199 | Elm.Widget.event; | 199 | Elm.Widget.event; |
diff --git a/src/lib/elementary/elm_photocam_pan.eo b/src/lib/elementary/elm_photocam_pan.eo index c3fcda1de7..57d1d455f3 100644 --- a/src/lib/elementary/elm_photocam_pan.eo +++ b/src/lib/elementary/elm_photocam_pan.eo | |||
@@ -7,8 +7,8 @@ class Elm.Photocam.Pan (Elm.Pan) | |||
7 | class.constructor; | 7 | class.constructor; |
8 | Efl.Object.destructor; | 8 | Efl.Object.destructor; |
9 | Efl.Gfx.position.set; | 9 | Efl.Gfx.position.set; |
10 | Efl.Gfx.size.set; | ||
10 | Efl.Canvas.Group.group_calculate; | 11 | Efl.Canvas.Group.group_calculate; |
11 | Efl.Canvas.Group.group_resize; | ||
12 | Elm.Pan.content_size.get; | 12 | Elm.Pan.content_size.get; |
13 | Elm.Pan.pos; | 13 | Elm.Pan.pos; |
14 | Elm.Pan.pos_min.get; | 14 | Elm.Pan.pos_min.get; |
diff --git a/src/lib/elementary/elm_scroller.c b/src/lib/elementary/elm_scroller.c index 371d893c6a..6e64b28262 100644 --- a/src/lib/elementary/elm_scroller.c +++ b/src/lib/elementary/elm_scroller.c | |||
@@ -930,9 +930,12 @@ _elm_scroller_efl_gfx_position_set(Eo *obj, Elm_Scroller_Data *sd, Evas_Coord x, | |||
930 | } | 930 | } |
931 | 931 | ||
932 | EOLIAN static void | 932 | EOLIAN static void |
933 | _elm_scroller_efl_canvas_group_group_resize(Eo *obj, Elm_Scroller_Data *sd, Evas_Coord w, Evas_Coord h) | 933 | _elm_scroller_efl_gfx_size_set(Eo *obj, Elm_Scroller_Data *sd, Evas_Coord w, Evas_Coord h) |
934 | { | 934 | { |
935 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 935 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
936 | return; | ||
937 | |||
938 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
936 | 939 | ||
937 | evas_object_resize(sd->hit_rect, w, h); | 940 | evas_object_resize(sd->hit_rect, w, h); |
938 | } | 941 | } |
diff --git a/src/lib/elementary/elm_scroller.eo b/src/lib/elementary/elm_scroller.eo index b8d2ee776c..8b9fe469f2 100644 --- a/src/lib/elementary/elm_scroller.eo +++ b/src/lib/elementary/elm_scroller.eo | |||
@@ -61,9 +61,9 @@ class Elm.Scroller (Elm.Layout, Elm.Interface_Scrollable, | |||
61 | class.constructor; | 61 | class.constructor; |
62 | Efl.Object.constructor; | 62 | Efl.Object.constructor; |
63 | Efl.Gfx.position.set; | 63 | Efl.Gfx.position.set; |
64 | Efl.Gfx.size.set; | ||
64 | Efl.Canvas.Group.group_add; | 65 | Efl.Canvas.Group.group_add; |
65 | Efl.Canvas.Group.group_member_add; | 66 | Efl.Canvas.Group.group_member_add; |
66 | Efl.Canvas.Group.group_resize; | ||
67 | Elm.Widget.theme_apply; | 67 | Elm.Widget.theme_apply; |
68 | Elm.Widget.activate; | 68 | Elm.Widget.activate; |
69 | Elm.Widget.focus_next_manager_is; | 69 | Elm.Widget.focus_next_manager_is; |
diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c index 0b96c5c207..cbeaddc602 100644 --- a/src/lib/elementary/elm_toolbar.c +++ b/src/lib/elementary/elm_toolbar.c | |||
@@ -2946,9 +2946,12 @@ _elm_toolbar_efl_gfx_position_set(Eo *obj, Elm_Toolbar_Data *sd, Evas_Coord x, E | |||
2946 | } | 2946 | } |
2947 | 2947 | ||
2948 | EOLIAN static void | 2948 | EOLIAN static void |
2949 | _elm_toolbar_efl_canvas_group_group_resize(Eo *obj, Elm_Toolbar_Data *sd, Evas_Coord w, Evas_Coord h) | 2949 | _elm_toolbar_efl_gfx_size_set(Eo *obj, Elm_Toolbar_Data *sd, Evas_Coord w, Evas_Coord h) |
2950 | { | 2950 | { |
2951 | efl_canvas_group_resize(efl_super(obj, MY_CLASS), w, h); | 2951 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
2952 | return; | ||
2953 | |||
2954 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
2952 | 2955 | ||
2953 | evas_object_resize(sd->hit_rect, w, h); | 2956 | evas_object_resize(sd->hit_rect, w, h); |
2954 | } | 2957 | } |
diff --git a/src/lib/elementary/elm_toolbar.eo b/src/lib/elementary/elm_toolbar.eo index 1c961fcc44..783899bd77 100644 --- a/src/lib/elementary/elm_toolbar.eo +++ b/src/lib/elementary/elm_toolbar.eo | |||
@@ -346,11 +346,11 @@ class Elm.Toolbar (Elm.Widget, Elm.Interface_Scrollable, Efl.Orientation, | |||
346 | class.constructor; | 346 | class.constructor; |
347 | Efl.Object.constructor; | 347 | Efl.Object.constructor; |
348 | Efl.Gfx.position.set; | 348 | Efl.Gfx.position.set; |
349 | Efl.Gfx.size.set; | ||
349 | Efl.Canvas.Group.group_calculate; | 350 | Efl.Canvas.Group.group_calculate; |
350 | Efl.Canvas.Group.group_add; | 351 | Efl.Canvas.Group.group_add; |
351 | Efl.Canvas.Group.group_del; | 352 | Efl.Canvas.Group.group_del; |
352 | Efl.Canvas.Group.group_member_add; | 353 | Efl.Canvas.Group.group_member_add; |
353 | Efl.Canvas.Group.group_resize; | ||
354 | Elm.Widget.focus_next_manager_is; | 354 | Elm.Widget.focus_next_manager_is; |
355 | Elm.Widget.access; | 355 | Elm.Widget.access; |
356 | Elm.Widget.focus_next; | 356 | Elm.Widget.focus_next; |
diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 292fc3e933..172d014540 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c | |||
@@ -506,21 +506,24 @@ _elm_widget_efl_gfx_position_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, | |||
506 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) | 506 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y)) |
507 | return; | 507 | return; |
508 | 508 | ||
509 | efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); | ||
510 | |||
511 | sd->x = x; | 509 | sd->x = x; |
512 | sd->y = y; | 510 | sd->y = y; |
513 | |||
514 | _smart_reconfigure(sd); | 511 | _smart_reconfigure(sd); |
512 | |||
513 | efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); | ||
515 | } | 514 | } |
516 | 515 | ||
517 | EOLIAN static void | 516 | EOLIAN static void |
518 | _elm_widget_efl_canvas_group_group_resize(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Evas_Coord w, Evas_Coord h) | 517 | _elm_widget_efl_gfx_size_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Evas_Coord w, Evas_Coord h) |
519 | { | 518 | { |
519 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) | ||
520 | return; | ||
521 | |||
520 | sd->w = w; | 522 | sd->w = w; |
521 | sd->h = h; | 523 | sd->h = h; |
522 | |||
523 | _smart_reconfigure(sd); | 524 | _smart_reconfigure(sd); |
525 | |||
526 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
524 | } | 527 | } |
525 | 528 | ||
526 | EOLIAN static void | 529 | EOLIAN static void |
diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index bab0e4fafe..fc296d44f2 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo | |||
@@ -850,6 +850,7 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, Elm.Inter | |||
850 | Efl.Gfx.color.set; | 850 | Efl.Gfx.color.set; |
851 | Efl.Gfx.visible.set; | 851 | Efl.Gfx.visible.set; |
852 | Efl.Gfx.position.set; | 852 | Efl.Gfx.position.set; |
853 | Efl.Gfx.size.set; | ||
853 | Efl.Canvas.Object.clip.set; | 854 | Efl.Canvas.Object.clip.set; |
854 | Efl.Canvas.Object.no_render.set; | 855 | Efl.Canvas.Object.no_render.set; |
855 | Efl.Canvas.Group.group_calculate; | 856 | Efl.Canvas.Group.group_calculate; |
@@ -857,7 +858,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, Elm.Inter | |||
857 | Efl.Canvas.Group.group_add; | 858 | Efl.Canvas.Group.group_add; |
858 | Efl.Canvas.Group.group_del; | 859 | Efl.Canvas.Group.group_del; |
859 | Efl.Canvas.Group.group_member_add; | 860 | Efl.Canvas.Group.group_member_add; |
860 | Efl.Canvas.Group.group_resize; | ||
861 | Elm.Interface.Atspi_Accessible.name.get; | 861 | Elm.Interface.Atspi_Accessible.name.get; |
862 | Elm.Interface.Atspi_Accessible.state_set.get; | 862 | Elm.Interface.Atspi_Accessible.state_set.get; |
863 | Elm.Interface.Atspi_Accessible.children.get; | 863 | Elm.Interface.Atspi_Accessible.children.get; |
diff --git a/src/lib/emotion/efl_canvas_video.eo b/src/lib/emotion/efl_canvas_video.eo index fb9b96d4ae..9715347def 100644 --- a/src/lib/emotion/efl_canvas_video.eo +++ b/src/lib/emotion/efl_canvas_video.eo | |||
@@ -54,10 +54,10 @@ class Efl.Canvas.Video (Efl.Canvas.Group, Efl.File, Efl.Player, Efl.Image, Efl.I | |||
54 | Efl.Gfx.color.set; | 54 | Efl.Gfx.color.set; |
55 | Efl.Gfx.visible.set; | 55 | Efl.Gfx.visible.set; |
56 | Efl.Gfx.position.set; | 56 | Efl.Gfx.position.set; |
57 | Efl.Gfx.size.set; | ||
57 | Efl.Canvas.Object.clip.set; | 58 | Efl.Canvas.Object.clip.set; |
58 | Efl.Canvas.Group.group_add; | 59 | Efl.Canvas.Group.group_add; |
59 | Efl.Canvas.Group.group_del; | 60 | Efl.Canvas.Group.group_del; |
60 | Efl.Canvas.Group.group_resize; | ||
61 | Efl.File.file.set; | 61 | Efl.File.file.set; |
62 | Efl.File.file.get; | 62 | Efl.File.file.get; |
63 | Efl.Player.play.set; | 63 | Efl.Player.play.set; |
diff --git a/src/lib/emotion/emotion_smart.c b/src/lib/emotion/emotion_smart.c index 266473905c..9b0338d1d3 100644 --- a/src/lib/emotion/emotion_smart.c +++ b/src/lib/emotion/emotion_smart.c | |||
@@ -1944,8 +1944,13 @@ _efl_canvas_video_efl_gfx_position_set(Evas_Object *obj, Efl_Canvas_Video_Data * | |||
1944 | } | 1944 | } |
1945 | 1945 | ||
1946 | EOLIAN static void | 1946 | EOLIAN static void |
1947 | _efl_canvas_video_efl_canvas_group_group_resize(Evas_Object *obj, Efl_Canvas_Video_Data *sd, Evas_Coord w, Evas_Coord h) | 1947 | _efl_canvas_video_efl_gfx_size_set(Evas_Object *obj, Efl_Canvas_Video_Data *sd, Evas_Coord w, Evas_Coord h) |
1948 | { | 1948 | { |
1949 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) | ||
1950 | return; | ||
1951 | |||
1952 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
1953 | |||
1949 | _efl_canvas_video_aspect_border_apply(obj, sd, w, h); | 1954 | _efl_canvas_video_aspect_border_apply(obj, sd, w, h); |
1950 | evas_object_resize(sd->bg, w, h); | 1955 | evas_object_resize(sd->bg, w, h); |
1951 | } | 1956 | } |
diff --git a/src/lib/evas/canvas/efl_canvas_group.eo b/src/lib/evas/canvas/efl_canvas_group.eo index 1649fa145d..a55d83fd74 100644 --- a/src/lib/evas/canvas/efl_canvas_group.eo +++ b/src/lib/evas/canvas/efl_canvas_group.eo | |||
@@ -92,14 +92,6 @@ class Efl.Canvas.Group (Efl.Canvas.Object) | |||
92 | } | 92 | } |
93 | legacy: null; | 93 | legacy: null; |
94 | } | 94 | } |
95 | group_resize { | ||
96 | [[No description supplied by the EAPI.]] | ||
97 | legacy: null; | ||
98 | params { | ||
99 | @in w: Evas.Coord; | ||
100 | @in h: Evas.Coord; | ||
101 | } | ||
102 | } | ||
103 | group_member_del { | 95 | group_member_del { |
104 | [[Removes a member object from a given smart object. | 96 | [[Removes a member object from a given smart object. |
105 | 97 | ||
diff --git a/src/lib/evas/canvas/evas_box.eo b/src/lib/evas/canvas/evas_box.eo index 26b04c39d7..66fdb40cc8 100644 --- a/src/lib/evas/canvas/evas_box.eo +++ b/src/lib/evas/canvas/evas_box.eo | |||
@@ -657,10 +657,10 @@ class Evas.Box (Efl.Canvas.Group.Clipped) | |||
657 | implements { | 657 | implements { |
658 | class.constructor; | 658 | class.constructor; |
659 | Efl.Object.constructor; | 659 | Efl.Object.constructor; |
660 | Efl.Gfx.size.set; | ||
660 | Efl.Canvas.Group.group_calculate; | 661 | Efl.Canvas.Group.group_calculate; |
661 | Efl.Canvas.Group.group_add; | 662 | Efl.Canvas.Group.group_add; |
662 | Efl.Canvas.Group.group_del; | 663 | Efl.Canvas.Group.group_del; |
663 | Efl.Canvas.Group.group_resize; | ||
664 | } | 664 | } |
665 | events { | 665 | events { |
666 | child,added; | 666 | child,added; |
diff --git a/src/lib/evas/canvas/evas_object_box.c b/src/lib/evas/canvas/evas_object_box.c index 051c5e5cb1..f2b2f9b4e9 100644 --- a/src/lib/evas/canvas/evas_object_box.c +++ b/src/lib/evas/canvas/evas_object_box.c | |||
@@ -424,11 +424,12 @@ _evas_box_efl_canvas_group_group_del(Eo *o, Evas_Object_Box_Data *priv) | |||
424 | } | 424 | } |
425 | 425 | ||
426 | EOLIAN static void | 426 | EOLIAN static void |
427 | _evas_box_efl_canvas_group_group_resize(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, Evas_Coord w, Evas_Coord h) | 427 | _evas_box_efl_gfx_size_set(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, Evas_Coord w, Evas_Coord h) |
428 | { | 428 | { |
429 | Evas_Coord ow, oh; | 429 | if (_evas_object_intercept_call(o, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
430 | evas_object_geometry_get(o, NULL, NULL, &ow, &oh); | 430 | return; |
431 | if ((ow == w) && (oh == h)) return; | 431 | |
432 | efl_gfx_size_set(efl_super(o, MY_CLASS), w, h); | ||
432 | evas_object_smart_changed(o); | 433 | evas_object_smart_changed(o); |
433 | } | 434 | } |
434 | 435 | ||
diff --git a/src/lib/evas/canvas/evas_object_intercept.c b/src/lib/evas/canvas/evas_object_intercept.c index f653f02d9a..13b9a9697e 100644 --- a/src/lib/evas/canvas/evas_object_intercept.c +++ b/src/lib/evas/canvas/evas_object_intercept.c | |||
@@ -126,10 +126,15 @@ _evas_object_intercept_call(Evas_Object *eo_obj, Evas_Object_Intercept_Cb_Type c | |||
126 | break; | 126 | break; |
127 | 127 | ||
128 | case EVAS_OBJECT_INTERCEPT_CB_RESIZE: | 128 | case EVAS_OBJECT_INTERCEPT_CB_RESIZE: |
129 | if (!obj->interceptors) return 0; | ||
130 | va_start(args, internal); | 129 | va_start(args, internal); |
131 | i = va_arg(args, int); | 130 | i = va_arg(args, int); |
132 | j = va_arg(args, int); | 131 | j = va_arg(args, int); |
132 | if (!internal) | ||
133 | { | ||
134 | if (_efl_canvas_object_efl_gfx_size_set_block(eo_obj, obj, i, j)) | ||
135 | goto end_block; | ||
136 | } | ||
137 | if (!obj->interceptors) goto end_noblock; | ||
133 | blocked = evas_object_intercept_call_resize(eo_obj, obj, i, j); | 138 | blocked = evas_object_intercept_call_resize(eo_obj, obj, i, j); |
134 | break; | 139 | break; |
135 | 140 | ||
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 4a3c2d233c..20b7798339 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c | |||
@@ -865,6 +865,26 @@ evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h) | |||
865 | efl_gfx_size_set((Evas_Object *)obj, w, h); | 865 | efl_gfx_size_set((Evas_Object *)obj, w, h); |
866 | } | 866 | } |
867 | 867 | ||
868 | Eina_Bool | ||
869 | _efl_canvas_object_efl_gfx_size_set_block(Eo *eo_obj, Evas_Object_Protected_Data *obj, | ||
870 | Evas_Coord w, Evas_Coord h) | ||
871 | { | ||
872 | if (obj->doing.in_resize > 0) | ||
873 | { | ||
874 | WRN("evas_object_resize() called on object %p (%s) when in the middle " | ||
875 | "of resizing the same object", eo_obj, efl_class_name_get(eo_obj)); | ||
876 | return EINA_TRUE; | ||
877 | } | ||
878 | |||
879 | if (w < 0) w = 0; | ||
880 | if (h < 0) h = 0; | ||
881 | |||
882 | if ((obj->cur->geometry.w == w) && (obj->cur->geometry.h == h)) | ||
883 | return EINA_TRUE; | ||
884 | |||
885 | return EINA_FALSE; | ||
886 | } | ||
887 | |||
868 | EOLIAN static void | 888 | EOLIAN static void |
869 | _efl_canvas_object_efl_gfx_size_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, | 889 | _efl_canvas_object_efl_gfx_size_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, |
870 | Evas_Coord w, Evas_Coord h) | 890 | Evas_Coord w, Evas_Coord h) |
@@ -873,21 +893,11 @@ _efl_canvas_object_efl_gfx_size_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, | |||
873 | Eina_Bool pass = EINA_FALSE, freeze = EINA_FALSE; | 893 | Eina_Bool pass = EINA_FALSE, freeze = EINA_FALSE; |
874 | Eina_Bool source_invisible = EINA_FALSE; | 894 | Eina_Bool source_invisible = EINA_FALSE; |
875 | 895 | ||
876 | if (obj->delete_me) return; | ||
877 | if (!obj->layer) return; | ||
878 | if (w < 0) w = 0; | 896 | if (w < 0) w = 0; |
879 | if (h < 0) h = 0; | 897 | if (h < 0) h = 0; |
880 | 898 | ||
881 | evas_object_async_block(obj); | 899 | if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 1, w, h)) |
882 | if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 1, w, h)) return; | 900 | return; |
883 | |||
884 | if (obj->doing.in_resize > 0) | ||
885 | { | ||
886 | WRN("evas_object_resize() called on object %p when in the middle of resizing the same object", obj); | ||
887 | return; | ||
888 | } | ||
889 | |||
890 | if ((obj->cur->geometry.w == w) && (obj->cur->geometry.h == h)) return; | ||
891 | 901 | ||
892 | if (!(obj->layer->evas->is_frozen)) | 902 | if (!(obj->layer->evas->is_frozen)) |
893 | { | 903 | { |
@@ -901,10 +911,8 @@ _efl_canvas_object_efl_gfx_size_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, | |||
901 | } | 911 | } |
902 | obj->doing.in_resize++; | 912 | obj->doing.in_resize++; |
903 | 913 | ||
904 | if (obj->is_smart) | 914 | if (obj->is_smart && obj->smart.smart && obj->smart.smart->smart_class->resize) |
905 | { | 915 | obj->smart.smart->smart_class->resize(eo_obj, w, h); |
906 | efl_canvas_group_resize(eo_obj, w, h); | ||
907 | } | ||
908 | 916 | ||
909 | EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur) | 917 | EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur) |
910 | { | 918 | { |
diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c index 359de50e7f..af9472d274 100644 --- a/src/lib/evas/canvas/evas_object_smart.c +++ b/src/lib/evas/canvas/evas_object_smart.c | |||
@@ -632,16 +632,6 @@ _efl_canvas_group_group_del(Eo *eo_obj EINA_UNUSED, Evas_Smart_Data *o EINA_UNUS | |||
632 | } | 632 | } |
633 | 633 | ||
634 | EOLIAN static void | 634 | EOLIAN static void |
635 | _efl_canvas_group_group_resize(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Evas_Coord w, Evas_Coord h) | ||
636 | { | ||
637 | // If this function is reached, so we do nothing except trying to call | ||
638 | // the function of the legacy smart class. | ||
639 | Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); | ||
640 | Evas_Smart *s = obj->smart.smart; | ||
641 | if (s && s->smart_class->resize) s->smart_class->resize(eo_obj, w, h); | ||
642 | } | ||
643 | |||
644 | EOLIAN static void | ||
645 | _efl_canvas_group_efl_canvas_object_no_render_set(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Eina_Bool enable) | 635 | _efl_canvas_group_efl_canvas_object_no_render_set(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Eina_Bool enable) |
646 | { | 636 | { |
647 | Evas_Object_Protected_Data *obj2; | 637 | Evas_Object_Protected_Data *obj2; |
diff --git a/src/lib/evas/canvas/evas_object_table.c b/src/lib/evas/canvas/evas_object_table.c index d294ba5644..e8b1351dde 100644 --- a/src/lib/evas/canvas/evas_object_table.c +++ b/src/lib/evas/canvas/evas_object_table.c | |||
@@ -930,11 +930,12 @@ _evas_table_efl_canvas_group_group_del(Eo *obj, Evas_Table_Data *priv) | |||
930 | } | 930 | } |
931 | 931 | ||
932 | EOLIAN static void | 932 | EOLIAN static void |
933 | _evas_table_efl_canvas_group_group_resize(Eo *obj, Evas_Table_Data *_pd EINA_UNUSED, Evas_Coord w, Evas_Coord h) | 933 | _evas_table_efl_gfx_size_set(Eo *obj, Evas_Table_Data *_pd EINA_UNUSED, Evas_Coord w, Evas_Coord h) |
934 | { | 934 | { |
935 | Evas_Coord ow, oh; | 935 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_RESIZE, 0, w, h)) |
936 | evas_object_geometry_get(obj, NULL, NULL, &ow, &oh); | 936 | return; |
937 | if ((ow == w) && (oh == h)) return; | 937 | |
938 | efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); | ||
938 | evas_object_smart_changed(obj); | 939 | evas_object_smart_changed(obj); |
939 | } | 940 | } |
940 | 941 | ||
diff --git a/src/lib/evas/canvas/evas_table.eo b/src/lib/evas/canvas/evas_table.eo index 6fd473f7a1..7932ec7cb9 100644 --- a/src/lib/evas/canvas/evas_table.eo +++ b/src/lib/evas/canvas/evas_table.eo | |||
@@ -216,9 +216,9 @@ class Evas.Table (Efl.Canvas.Group.Clipped) | |||
216 | implements { | 216 | implements { |
217 | class.constructor; | 217 | class.constructor; |
218 | Efl.Object.constructor; | 218 | Efl.Object.constructor; |
219 | Efl.Gfx.size.set; | ||
219 | Efl.Canvas.Group.group_add; | 220 | Efl.Canvas.Group.group_add; |
220 | Efl.Canvas.Group.group_del; | 221 | Efl.Canvas.Group.group_del; |
221 | Efl.Canvas.Group.group_calculate; | 222 | Efl.Canvas.Group.group_calculate; |
222 | Efl.Canvas.Group.group_resize; | ||
223 | } | 223 | } |
224 | } | 224 | } |
diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h index 91602d96c8..775b05a7f1 100644 --- a/src/lib/evas/include/evas_private.h +++ b/src/lib/evas/include/evas_private.h | |||
@@ -1654,6 +1654,7 @@ void _efl_canvas_object_clip_prev_reset(Evas_Object_Protected_Data *obj, Eina_Bo | |||
1654 | 1654 | ||
1655 | Eina_Bool _efl_canvas_object_clip_set_block(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object *eo_clip, Evas_Object_Protected_Data *clip); | 1655 | Eina_Bool _efl_canvas_object_clip_set_block(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object *eo_clip, Evas_Object_Protected_Data *clip); |
1656 | Eina_Bool _efl_canvas_object_clip_unset_block(Eo *eo_obj, Evas_Object_Protected_Data *obj); | 1656 | Eina_Bool _efl_canvas_object_clip_unset_block(Eo *eo_obj, Evas_Object_Protected_Data *obj); |
1657 | Eina_Bool _efl_canvas_object_efl_gfx_size_set_block(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Coord w, Evas_Coord h); | ||
1657 | 1658 | ||
1658 | void _canvas_event_default_flags_set(Eo *e, void *_pd, va_list *list); | 1659 | void _canvas_event_default_flags_set(Eo *e, void *_pd, va_list *list); |
1659 | void _canvas_event_default_flags_get(Eo *e, void *_pd, va_list *list); | 1660 | void _canvas_event_default_flags_get(Eo *e, void *_pd, va_list *list); |