9ee9547adeafcb0e436ff9883379b3f8e7ca8d02
[framework/uifw/e17.git] / src / bin / e_desk.h
1 #ifdef E_TYPEDEFS
2
3 typedef struct _E_Desk E_Desk;
4 typedef struct _E_Event_Desk_Show E_Event_Desk_Show;
5 typedef struct _E_Event_Desk_Before_Show E_Event_Desk_Before_Show;
6 typedef struct _E_Event_Desk_After_Show E_Event_Desk_After_Show;
7 typedef struct _E_Event_Desk_DeskShow E_Event_Desk_DeskShow;
8 typedef struct _E_Event_Desk_Name_Change E_Event_Desk_Name_Change;
9
10 #else
11 #ifndef E_DESK_H
12 #define E_DESK_H
13
14 #define E_DESK_TYPE 0xE0b01005
15
16 struct _E_Desk
17 {
18    E_Object             e_obj_inherit;
19
20    E_Zone              *zone;
21    const char          *name;
22    int                  x, y;
23    unsigned char        visible : 1;
24    unsigned int         deskshow_toggle : 1;
25    int                  fullscreen_borders;
26
27    Evas_Object         *bg_object;
28    
29    Ecore_Animator      *animator;
30    Eina_Bool            animating;
31 };
32
33 struct _E_Event_Desk_Show
34 {
35    E_Desk   *desk;
36 };
37
38 struct _E_Event_Desk_Before_Show
39 {
40    E_Desk   *desk;
41 };
42
43 struct _E_Event_Desk_After_Show
44 {
45    E_Desk   *desk;
46 };
47
48 struct _E_Event_Desk_Name_Change
49 {
50    E_Desk   *desk;
51 };
52
53 EINTERN int          e_desk_init(void);
54 EINTERN int          e_desk_shutdown(void);
55 EAPI E_Desk      *e_desk_new(E_Zone *zone, int x, int y);
56 EAPI void         e_desk_name_set(E_Desk *desk, const char *name);
57 EAPI void         e_desk_name_add(int container, int zone, int desk_x, int desk_y, const char *name);
58 EAPI void         e_desk_name_del(int container, int zone, int desk_x, int desk_y);
59 EAPI void         e_desk_name_update(void);
60 EAPI void         e_desk_show(E_Desk *desk);
61 EAPI void         e_desk_deskshow(E_Zone *zone);
62 EAPI void         e_desk_last_focused_focus(E_Desk *desk);
63 EAPI E_Desk      *e_desk_current_get(E_Zone *zone);
64 EAPI E_Desk      *e_desk_at_xy_get(E_Zone *zone, int x, int y);
65 EAPI E_Desk      *e_desk_at_pos_get(E_Zone *zone, int pos);
66 EAPI void         e_desk_xy_get(E_Desk *desk, int *x, int *y);
67 EAPI void         e_desk_next(E_Zone *zone);
68 EAPI void         e_desk_prev(E_Zone *zone);
69 EAPI void         e_desk_row_add(E_Zone *zone);
70 EAPI void         e_desk_row_remove(E_Zone *zone);
71 EAPI void         e_desk_col_add(E_Zone *zone);
72 EAPI void         e_desk_col_remove(E_Zone *zone);
73
74 extern EAPI int E_EVENT_DESK_SHOW;
75 extern EAPI int E_EVENT_DESK_BEFORE_SHOW;
76 extern EAPI int E_EVENT_DESK_AFTER_SHOW;
77 extern EAPI int E_EVENT_DESK_DESKSHOW;
78 extern EAPI int E_EVENT_DESK_NAME_CHANGE;
79
80 #endif
81 #endif