e_comp_object: remove "hiding" smart call
[platform/upstream/enlightenment.git] / src / bin / e_comp_object_intern.h
index 675076b..be895f4 100644 (file)
@@ -1,6 +1,10 @@
 #ifndef E_COMP_OBJECT_INTERN_H
 #define E_COMP_OBJECT_INTERN_H
 
+#include "e_intern.h"
+#include "e_comp_object.h"
+#include "e_object.h"
+
 #include <wayland-server.h>
 
 //#ifdef REFACTOR_DESK_AREA
@@ -128,6 +132,7 @@ struct _E_Comp_Object
    struct
      {
         Eina_Bool        set;
+        Eina_Bool        setting;
         int              user_r;
         int              user_g;
         int              user_b;
@@ -137,13 +142,23 @@ struct _E_Comp_Object
    struct
      {
         struct wl_signal lower;
+        struct wl_signal lower_done;
         struct wl_signal raise;
         struct wl_signal show;
         struct wl_signal hide;
+        struct wl_signal hiding;
         struct wl_signal set_layer;
         struct wl_signal stack_above;
         struct wl_signal stack_below;
+        struct wl_signal image_filter_set;
+        struct wl_signal render_op_set;
+        struct wl_signal content_type_set;
+        struct wl_signal color_set;
+        struct wl_signal color_visible_set;
+        struct wl_signal resize;
      } events;
+
+   Eina_Bool color_visible;
 };
 //#endif
 
@@ -164,16 +179,121 @@ typedef struct _E_Comp_Object_Data_Stack_Below
    E_Comp_Object *cw;
    Evas_Object   *below_obj; // below_obj
 } E_Comp_Object_Data_Stack_Below;
+
+extern EINTERN int E_EVENT_COMP_OBJECT_ADD;
+extern EINTERN int E_EVENT_COMP_OBJECT_IMG_RENDER;
+extern EINTERN int E_EVENT_COMP_OBJECT_EFFECT_START;
+extern EINTERN int E_EVENT_COMP_OBJECT_EFFECT_END;
+
+EINTERN void e_comp_object_init(void);
+EINTERN void e_comp_object_shutdown(void);
+
+EINTERN Evas_Object *e_comp_object_client_add(E_Client *ec);
+EINTERN Eina_Bool    e_comp_object_alpha_get(Evas_Object *obj);
+EINTERN Eina_Bool    e_comp_object_color_visible_get(Evas_Object *obj);
+EINTERN void         e_comp_object_clear(Evas_Object *obj);
+EINTERN Eina_Bool    e_comp_object_redirected_get(Evas_Object *obj);
+EINTERN Eina_Bool    e_comp_object_mirror_visibility_check(Evas_Object *obj);
+EINTERN void         e_comp_object_input_objs_del(Evas_Object *obj);
+EINTERN Eina_Bool    e_comp_object_hwc_update_exists(Evas_Object *obj);
+EINTERN void         e_comp_object_damage_trace_debug(Eina_Bool onoff);
+
+EINTERN Eina_Bool e_comp_object_frame_allowed(Evas_Object *obj);
+EINTERN void      e_comp_object_frame_geometry_get(Evas_Object *obj, int *l, int *r, int *t, int *b);
+EINTERN void      e_comp_object_frame_geometry_set(Evas_Object *obj, int l, int r, int t, int b);
+EINTERN Eina_Bool e_comp_object_frame_exists(Evas_Object *obj);
+EINTERN Eina_Bool e_comp_object_frame_theme_set(Evas_Object *obj, const char *name);
+EINTERN void      e_comp_object_frame_extends_get(Evas_Object *obj, int *x, int *y, int *w, int *h);
+
+EINTERN E_Zone   *e_comp_object_util_zone_get(Evas_Object *obj);
+EINTERN void      e_comp_object_util_del_list_append(Evas_Object *obj, Evas_Object *to_del);
+EINTERN void      e_comp_object_util_del_list_remove(Evas_Object *obj, Evas_Object *to_del);
+EINTERN void      e_comp_object_util_autoclose(Evas_Object *obj, E_Comp_Object_Autoclose_Cb del_cb, E_Comp_Object_Key_Cb cb, const void *data);
+EINTERN void      e_comp_object_util_center(Evas_Object *obj);
+EINTERN void      e_comp_object_util_center_on(Evas_Object *obj, Evas_Object *on);
+EINTERN void      e_comp_object_util_center_pos_get(Evas_Object *obj, int *x, int *y);
+EINTERN void      e_comp_object_util_fullscreen(Evas_Object *obj);
+
+EINTERN Eina_Bool e_comp_object_damage_exists(Evas_Object *obj);
+EINTERN void      e_comp_object_shape_apply(Evas_Object *obj);
+EINTERN void      e_comp_object_redirected_set(Evas_Object *obj, Eina_Bool set);
+EINTERN void      e_comp_object_blank(Evas_Object *obj, Eina_Bool set);
+EINTERN void      e_comp_object_size_update(Evas_Object *obj, int w, int h);
+
+EINTERN void      e_comp_object_render_update_add(Evas_Object *obj);
+EINTERN void      e_comp_object_render_update_del(Evas_Object *obj);
+
+EINTERN void      e_comp_object_native_surface_set(Evas_Object *obj, Eina_Bool set);
+EINTERN void      e_comp_object_native_surface_override(Evas_Object *obj, Evas_Native_Surface *ns);
+
+EINTERN Eina_Bool e_comp_object_effect_allowed_get(Evas_Object *obj);
+EINTERN void      e_comp_object_effect_clip(Evas_Object *obj);
+EINTERN void      e_comp_object_effect_unclip(Evas_Object *obj);
+
+EINTERN void      e_comp_object_transform_bg_vertices_set(Evas_Object *obj, E_Util_Transform_Rect_Vertex *vertices);
+EINTERN void      e_comp_object_transform_bg_vertices_set_with_zoom(Evas_Object *obj, E_Util_Transform_Rect_Vertex *vertices, E_Util_Transform_Zoom zoom);
+EINTERN void      e_comp_object_transform_transp_vertices_set(Evas_Object *obj, E_Util_Transform_Rect_Vertex *vertices);
+EINTERN void      e_comp_object_transform_transp_vertices_set_with_zoom(Evas_Object *obj, E_Util_Transform_Rect_Vertex *vertices, E_Util_Transform_Zoom zoom);
+
+//#ifdef REFACTOR_DESK_AREA
+//#else
+EINTERN void      e_comp_object_layer_update(Evas_Object *obj, Evas_Object *above, Evas_Object *below);
+//#endif
+EINTERN int       e_comp_object_layer_get(Evas_Object *obj);
+
+EINTERN Eina_Bool    e_comp_object_content_unset(Evas_Object* obj);
+EINTERN Evas_Object *e_comp_object_content_get(Evas_Object* obj);
+
+EINTERN E_Client *e_comp_object_dim_client_get(void);
+EINTERN void      e_comp_object_dim_mask_set(Evas_Object *obj, Eina_Bool set);
+
+EINTERN void e_comp_object_indicator_swallow(Evas_Object *obj, Evas_Object *indicator);
+EINTERN void e_comp_object_indicator_unswallow(Evas_Object *obj, Evas_Object *indicator);
+EINTERN void e_comp_object_indicator_size_set(Evas_Object *obj, int w, int h);
+
+EINTERN Eina_Bool           e_comp_object_image_filter_set(Evas_Object *obj, E_Comp_Image_Filter filter);
+EINTERN E_Comp_Image_Filter e_comp_object_image_filter_get(Evas_Object *obj);
+
+EINTERN E_Map *e_comp_object_map_get(const Evas_Object *obj);
+EINTERN void   e_comp_object_map_update(Evas_Object *obj);
+
+EINTERN void           e_comp_object_render_op_set(Evas_Object *obj, Evas_Render_Op op);
+EINTERN Evas_Render_Op e_comp_object_render_op_get(Evas_Object *obj);
+EINTERN Eina_Bool      e_comp_object_render_trace_set(Evas_Object *obj, Eina_Bool set);
+
+//#ifdef REFACTOR_DESK_AREA
+typedef void (*E_Comp_Object_Stack_Func)(Evas_Object *obj, Evas_Object *stack);
+//#endif
+
+//#ifdef REFACTOR_DESK_AREA
+EINTERN void e_comp_object_lower(E_Comp_Object *cw, Evas_Object *obj);
+EINTERN void e_comp_object_raise(Evas_Object *obj);
+EINTERN void e_comp_object_layer_set(Evas_Object *obj, short layer);
+EINTERN void e_comp_object_stack_above(Evas_Object *obj, Evas_Object *target);
+EINTERN void e_comp_object_stack_below(Evas_Object *obj, Evas_Object *target);
+EINTERN void e_comp_object_transform_obj_stack_update(Evas_Object *obj);
+//#endif
+
+// listeners
 EINTERN void e_comp_object_lower_listener_add(Evas_Object *obj, struct wl_listener *listener);
 //#ifdef REFACTOR_DESK_AREA
+EINTERN void e_comp_object_lower_done_listener_add(Evas_Object *obj, struct wl_listener *listener);
 EINTERN void e_comp_object_raise_listener_add(Evas_Object *obj, struct wl_listener *listener);
 //#endif
 EINTERN void e_comp_object_show_listener_add(Evas_Object *obj, struct wl_listener *listener);
 EINTERN void e_comp_object_hide_listener_add(Evas_Object *obj, struct wl_listener *listener);
+EINTERN void e_comp_object_hiding_listener_add(Evas_Object *obj, struct wl_listener *listener);
 //#ifdef REFACTOR_DESK_AREA
 EINTERN void e_comp_object_set_layer_listener_add(Evas_Object *obj, struct wl_listener *listener);
 EINTERN void e_comp_object_stack_above_listener_add(Evas_Object *obj, struct wl_listener *listener);
 EINTERN void e_comp_object_stack_below_listener_add(Evas_Object *obj, struct wl_listener *listener);
 //#endif
 
+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);
+EINTERN void e_comp_object_color_set_listener_add(Evas_Object *obj, struct wl_listener *listener);
+EINTERN void e_comp_object_color_visible_set_listener_add(Evas_Object *obj, struct wl_listener *listener);
+EINTERN void e_comp_object_resize_listener_add(Evas_Object *obj, struct wl_listener *listener);
+
 #endif