e_comp_object: add e_comp_object_content_type_set_listener_add 05/306005/3
authorChangyeon Lee <cyeon.lee@samsung.com>
Mon, 22 Jan 2024 09:25:09 +0000 (18:25 +0900)
committerchangyeon lee <cyeon.lee@samsung.com>
Mon, 19 Feb 2024 05:51:10 +0000 (05:51 +0000)
Change-Id: I4b25cca0193023cb48e97b8bf72546f8eb0a71e2

src/bin/e_comp_object.c
src/bin/e_comp_object_intern.h

index 2df5130add951216db4a5f596af32a2795be0192..2549eef5757c37ffeae9170274c0175777a5d2fe 100644 (file)
@@ -192,6 +192,7 @@ typedef struct _E_Comp_Object
         struct wl_signal hide;
         struct wl_signal image_filter_set;
         struct wl_signal render_op_set;
+        struct wl_signal content_type_set;
      } events;
 } E_Comp_Object;
 
@@ -3149,6 +3150,7 @@ _e_comp_smart_add(Evas_Object *obj)
    wl_signal_init(&cw->events.hide);
    wl_signal_init(&cw->events.image_filter_set);
    wl_signal_init(&cw->events.render_op_set);
+   wl_signal_init(&cw->events.content_type_set);
 
    cw->smart_obj = obj;
    cw->x = cw->y = cw->w = cw->h = -1;
@@ -5855,6 +5857,8 @@ e_comp_object_content_set(Evas_Object *obj,
    if (cw->shobj)
      _e_comp_object_shadow_setup(cw);
 
+   wl_signal_emit_mutable(&cw->events.content_type_set, NULL);
+
    return EINA_TRUE;
 }
 
@@ -5929,6 +5933,8 @@ e_comp_object_content_unset(Evas_Object *obj)
    e_comp_object_render(cw->smart_obj);
    e_comp_object_render_update_add(obj);
 
+   wl_signal_emit_mutable(&cw->events.content_type_set, NULL);
+
    return EINA_TRUE;
 }
 
@@ -6657,3 +6663,10 @@ e_comp_object_render_op_set_listener_add(Evas_Object *obj, struct wl_listener *l
    API_ENTRY;
    wl_signal_add(&cw->events.render_op_set, listener);
 }
+
+EINTERN void
+e_comp_object_content_type_set_listener_add(Evas_Object *obj, struct wl_listener *listener)
+{
+   API_ENTRY;
+   wl_signal_add(&cw->events.content_type_set, listener);
+}
index 2602359571a32396a0931b1a54f1cdf00ea594f4..59ce262723135b4266b001412d4765d6880d3f86 100644 (file)
@@ -8,5 +8,6 @@ EINTERN void e_comp_object_show_listener_add(Evas_Object *obj, struct wl_listene
 EINTERN void e_comp_object_hide_listener_add(Evas_Object *obj, struct wl_listener *listener);
 EINTERN void e_comp_object_image_filter_set_listener_add(Evas_Object *obj, struct wl_listener *listener);
 EINTERN void e_comp_object_render_op_set_listener_add(Evas_Object *obj, struct wl_listener *listener);
+EINTERN void e_comp_object_content_type_set_listener_add(Evas_Object *obj, struct wl_listener *listener);
 
 #endif