forked from enlightenment/efl
evas: Remove method group_color_set
Widgets should simply override efl_gfx_color_set and call super all the way up to evas object. Legacy compatibility with call interceptors and early call abortion (eg. delete_me or obj->layer == NULL) are implemented with an internal call. See the previous commit introducing the API.
This commit is contained in:
parent
39949b022d
commit
52969ccd9b
|
@ -621,9 +621,12 @@ _efl_ui_image_efl_canvas_group_group_member_add(Eo *obj, Efl_Ui_Image_Data *sd,
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_image_efl_canvas_group_group_color_set(Eo *obj, Efl_Ui_Image_Data *sd, int r, int g, int b, int a)
|
||||
_efl_ui_image_efl_gfx_color_set(Eo *obj, Efl_Ui_Image_Data *sd, int r, int g, int b, int a)
|
||||
{
|
||||
efl_canvas_group_color_set(efl_super(obj, MY_CLASS), r, g, b, a);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_COLOR_SET, 0, r, g, b, a))
|
||||
return;
|
||||
|
||||
efl_gfx_color_set(efl_super(obj, MY_CLASS), r, g, b, a);
|
||||
|
||||
evas_object_color_set(sd->hit_rect, 0, 0, 0, 0);
|
||||
evas_object_color_set(sd->img, r, g, b, a);
|
||||
|
|
|
@ -122,6 +122,7 @@ class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Draggable,
|
|||
Efl.File.file.set;
|
||||
Efl.File.file.get;
|
||||
Efl.File.mmap.set;
|
||||
Efl.Gfx.color.set;
|
||||
Efl.Gfx.View.view_size.get;
|
||||
Efl.Image.Load.load_size.set;
|
||||
Efl.Image.Load.load_size.get;
|
||||
|
@ -143,7 +144,6 @@ class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Draggable,
|
|||
Efl.Canvas.Group.group_clip.set;
|
||||
Efl.Canvas.Group.group_clip_unset;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_color.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
|
|
|
@ -559,11 +559,14 @@ _elm_widget_efl_canvas_group_group_hide(Eo *obj, Elm_Widget_Smart_Data *_pd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_widget_efl_canvas_group_group_color_set(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED, int r, int g, int b, int a)
|
||||
_elm_widget_efl_gfx_color_set(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED, int r, int g, int b, int a)
|
||||
{
|
||||
Eina_Iterator *it;
|
||||
Evas_Object *o;
|
||||
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_COLOR_SET, 0, r, g, b, a))
|
||||
return;
|
||||
|
||||
it = evas_object_smart_iterator_new(obj);
|
||||
EINA_ITERATOR_FOREACH(it, o)
|
||||
{
|
||||
|
|
|
@ -847,12 +847,12 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, Elm.Inter
|
|||
Efl.Object.destructor;
|
||||
Efl.Object.dbg_info_get;
|
||||
Efl.Object.provider_find;
|
||||
Efl.Gfx.color.set;
|
||||
Efl.Canvas.Object.no_render.set;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_calculate;
|
||||
Efl.Canvas.Group.group_clip_unset;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_color.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_member_del;
|
||||
Efl.Canvas.Group.group_add;
|
||||
|
|
|
@ -51,13 +51,13 @@ class Efl.Canvas.Video (Efl.Canvas.Group, Efl.File, Efl.Player, Efl.Image, Efl.I
|
|||
}
|
||||
implements {
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.color.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_color.set;
|
||||
Efl.Canvas.Group.group_clip.set;
|
||||
Efl.Canvas.Group.group_clip_unset;
|
||||
Efl.File.file.set;
|
||||
|
|
|
@ -1966,8 +1966,12 @@ _efl_canvas_video_efl_canvas_group_group_hide(Evas_Object *obj EINA_UNUSED, Efl_
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_video_efl_canvas_group_group_color_set(Evas_Object *obj EINA_UNUSED, Efl_Canvas_Video_Data *sd, int r, int g, int b, int a)
|
||||
_efl_canvas_video_efl_gfx_color_set(Evas_Object *obj, Efl_Canvas_Video_Data *sd, int r, int g, int b, int a)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_COLOR_SET, 0, r, g, b, a))
|
||||
return;
|
||||
|
||||
efl_gfx_color_set(efl_super(obj, MY_CLASS), r, g, b, a);
|
||||
evas_object_color_set(sd->obj, r, g, b, a);
|
||||
evas_object_color_set(sd->crop.clipper, r, g, b, a);
|
||||
}
|
||||
|
|
|
@ -87,18 +87,6 @@ class Efl.Canvas.Group (Efl.Canvas.Object)
|
|||
clip: Efl.Canvas.Object;
|
||||
}
|
||||
}
|
||||
@property group_color {
|
||||
set {
|
||||
[[No description supplied by the EAPI.]]
|
||||
legacy: null;
|
||||
}
|
||||
values {
|
||||
r: int;
|
||||
g: int;
|
||||
b: int;
|
||||
a: int;
|
||||
}
|
||||
}
|
||||
group_show {
|
||||
[[No description supplied by the EAPI.]]
|
||||
legacy: null;
|
||||
|
|
|
@ -3,12 +3,12 @@ abstract Efl.Canvas.Group.Clipped (Efl.Canvas.Group)
|
|||
[[Internal class representing a canvas object group with a clipper.]]
|
||||
data: Evas_Object_Smart_Clipped_Data;
|
||||
implements {
|
||||
Efl.Gfx.color.set;
|
||||
Efl.Canvas.Object.no_render.set;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_clip.set;
|
||||
Efl.Canvas.Group.group_clip_unset;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_color.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_member_del;
|
||||
Efl.Canvas.Group.group_add;
|
||||
|
|
|
@ -1520,8 +1520,11 @@ _efl_canvas_object_efl_gfx_color_set(Eo *eo_obj, Evas_Object_Protected_Data *obj
|
|||
}
|
||||
EINA_COW_STATE_WRITE_END(obj, state_write, cur);
|
||||
|
||||
if (obj->is_smart)
|
||||
efl_canvas_group_color_set(eo_obj, r, g, b, a);
|
||||
if (obj->is_smart && obj->smart.smart->smart_class &&
|
||||
obj->smart.smart->smart_class->color_set)
|
||||
{
|
||||
obj->smart.smart->smart_class->color_set(eo_obj, r, g, b, a);
|
||||
}
|
||||
|
||||
evas_object_clip_dirty(eo_obj, obj);
|
||||
if ((prev_a == 0) && (a == 0) && (obj->cur->render_op == EVAS_RENDER_BLEND)) return;
|
||||
|
|
|
@ -649,16 +649,6 @@ _efl_canvas_group_group_hide(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED)
|
|||
if (s && s->smart_class->hide) s->smart_class->hide(eo_obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_group_group_color_set(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, int r, int g, int b, int a)
|
||||
{
|
||||
// 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->color_set) s->smart_class->color_set(eo_obj, r, g, b, a);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_group_group_clip_set(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Evas_Object *clip)
|
||||
{
|
||||
|
|
|
@ -163,7 +163,7 @@ evas_object_smart_clipped_smart_color_set(Evas_Object *eo_obj, int r, int g, int
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_group_clipped_efl_canvas_group_group_color_set(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, int r, int g, int b, int a)
|
||||
_efl_canvas_group_clipped_efl_gfx_color_set(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, int r, int g, int b, int a)
|
||||
{
|
||||
evas_object_smart_clipped_smart_color_set(eo_obj, r, g, b, a);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue