3 typedef enum _E_Container_Shape_Change
7 E_CONTAINER_SHAPE_SHOW,
8 E_CONTAINER_SHAPE_HIDE,
9 E_CONTAINER_SHAPE_MOVE,
10 E_CONTAINER_SHAPE_RESIZE,
11 E_CONTAINER_SHAPE_RECTS
12 } E_Container_Shape_Change;
14 typedef struct _E_Container E_Container;
15 typedef struct _E_Border_List E_Border_List;
16 typedef struct _E_Container_Shape E_Container_Shape;
17 typedef struct _E_Container_Shape_Callback E_Container_Shape_Callback;
18 typedef struct _E_Event_Container_Resize E_Event_Container_Resize;
24 #define E_CONTAINER_TYPE (int) 0xE0b01003
25 #define E_CONTAINER_SHAPE_TYPE (int) 0xE0b01004
29 E_Object e_obj_inherit;
39 Ecore_Evas *bg_ecore_evas;
41 Evas_Object *bg_blank_object;
42 Ecore_X_Window bg_win;
43 Ecore_X_Window event_win;
46 Eina_List *shape_change_cb;
55 Ecore_X_Window scratch_win;
60 E_Container *container;
61 Eina_Array client_array;
65 struct _E_Container_Shape
67 E_Object e_obj_inherit;
71 unsigned char visible : 1;
78 struct _E_Container_Shape_Callback
80 void (*func) (void *data, E_Container_Shape *es, E_Container_Shape_Change ch);
84 struct _E_Event_Container_Resize
86 E_Container *container;
89 EINTERN int e_container_init(void);
90 EINTERN int e_container_shutdown(void);
92 EAPI E_Container *e_container_new(E_Manager *man);
93 EAPI void e_container_show(E_Container *con);
94 EAPI void e_container_hide(E_Container *con);
95 EAPI E_Container *e_container_current_get(E_Manager *man);
96 EAPI E_Container *e_container_number_get(E_Manager *man, int num);
97 EAPI void e_container_move(E_Container *con, int x, int y);
98 EAPI void e_container_resize(E_Container *con, int w, int h);
99 EAPI void e_container_move_resize(E_Container *con, int x, int y, int w, int h);
100 EAPI void e_container_raise(E_Container *con);
101 EAPI void e_container_lower(E_Container *con);
103 EAPI E_Border_List *e_container_border_list_first(E_Container *con);
104 EAPI E_Border_List *e_container_border_list_last(E_Container *con);
105 EAPI E_Border *e_container_border_list_next(E_Border_List *list);
106 EAPI E_Border *e_container_border_list_prev(E_Border_List *list);
107 EAPI void e_container_border_list_free(E_Border_List *list);
109 EAPI E_Zone *e_container_zone_at_point_get(E_Container *con, int x, int y);
110 EAPI E_Zone *e_container_zone_number_get(E_Container *con, int num);
111 EAPI E_Zone *e_container_zone_id_get(E_Container *con, int id);
113 #ifdef _F_USE_DESK_WINDOW_PROFILE_
114 EAPI E_Desk *e_container_desk_window_profile_get(E_Container *con, const char *profile);
117 EAPI E_Container_Shape *e_container_shape_add(E_Container *con);
118 EAPI void e_container_shape_show(E_Container_Shape *es);
119 EAPI void e_container_shape_hide(E_Container_Shape *es);
120 EAPI void e_container_shape_move(E_Container_Shape *es, int x, int y);
121 EAPI void e_container_shape_resize(E_Container_Shape *es, int w, int h);
122 EAPI Eina_List *e_container_shape_list_get(E_Container *con);
123 EAPI void e_container_shape_geometry_get(E_Container_Shape *es, int *x, int *y, int *w, int *h);
124 EAPI E_Container *e_container_shape_container_get(E_Container_Shape *es);
125 EAPI void e_container_shape_change_callback_add(E_Container *con, void (*func) (void *data, E_Container_Shape *es, E_Container_Shape_Change ch), void *data);
126 EAPI void e_container_shape_change_callback_del(E_Container *con, void (*func) (void *data, E_Container_Shape *es, E_Container_Shape_Change ch), void *data);
127 EAPI Eina_List *e_container_shape_rects_get(E_Container_Shape *es);
128 EAPI void e_container_shape_rects_set(E_Container_Shape *es, Ecore_X_Rectangle *rects, int num);
129 EAPI void e_container_shape_solid_rect_set(E_Container_Shape *es, int x, int y, int w, int h);
130 EAPI void e_container_shape_solid_rect_get(E_Container_Shape *es, int *x, int *y, int *w, int *h);
132 EAPI int e_container_borders_count(E_Container *con);
133 EAPI void e_container_border_add(E_Border *bd);
134 EAPI void e_container_border_remove(E_Border *bd);
135 EAPI void e_container_window_raise(E_Container *con, Ecore_X_Window win, int layer);
136 EAPI void e_container_window_lower(E_Container *con, Ecore_X_Window win, int layer);
137 EAPI E_Border *e_container_border_raise(E_Border *bd);
138 EAPI E_Border *e_container_border_lower(E_Border *bd);
139 EAPI void e_container_border_stack_above(E_Border *bd, E_Border *above);
140 EAPI void e_container_border_stack_below(E_Border *bd, E_Border *below);
142 EAPI void e_container_all_freeze(void);
143 EAPI void e_container_all_thaw(void);
145 extern EAPI int E_EVENT_CONTAINER_RESIZE;