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_Name_Change E_Event_Desk_Name_Change; 8 typedef struct _E_Event_Desk_Window_Profile_Change E_Event_Desk_Window_Profile_Change; 9 10 typedef void (*E_Desk_Flip_Cb)(void *data, E_Desk *desk, int dx, int dy, Eina_Bool show); 11 12 #else 13 #ifndef E_DESK_H 14 #define E_DESK_H 15 16 #define E_DESK_TYPE (int)0xE0b01005 17 18 typedef enum 19 { 20 E_DESKFLIP_ANIMATION_MODE_OFF, 21 E_DESKFLIP_ANIMATION_MODE_PANE, 22 E_DESKFLIP_ANIMATION_MODE_ZOOM 23 } E_Deskflip_Animation_Mode; 24 25 struct _E_Desk 26 { 27 E_Object e_obj_inherit; 28 29 E_Zone *zone; 30 Eina_Stringshare *name; 31 Eina_Stringshare *window_profile; 32 int x, y; 33 unsigned char visible E_BITFIELD; 34 unsigned int deskshow_toggle E_BITFIELD; 35 Eina_List *fullscreen_clients; 36 37 Evas_Object *bg_object; 38 39 unsigned int animate_count; 40 Eina_Inlist *obstacles; 41 }; 42 43 struct _E_Event_Desk_Show 44 { 45 E_Desk *desk; 46 }; 47 48 struct _E_Event_Desk_Before_Show 49 { 50 E_Desk *desk; 51 }; 52 53 struct _E_Event_Desk_After_Show 54 { 55 E_Desk *desk; 56 }; 57 58 struct _E_Event_Desk_Name_Change 59 { 60 E_Desk *desk; 61 }; 62 63 struct _E_Event_Desk_Window_Profile_Change 64 { 65 E_Desk *desk; 66 }; 67 68 EINTERN int e_desk_init(void); 69 EINTERN int e_desk_shutdown(void); 70 E_API E_Desk *e_desk_new(E_Zone *zone, int x, int y); 71 E_API void e_desk_name_set(E_Desk *desk, const char *name); 72 E_API void e_desk_name_add(int zone, int desk_x, int desk_y, const char *name); 73 E_API void e_desk_name_del(int zone, int desk_x, int desk_y); 74 E_API void e_desk_name_update(void); 75 E_API void e_desk_show(E_Desk *desk); 76 E_API void e_desk_deskshow(E_Zone *zone); 77 E_API E_Client *e_desk_last_focused_focus(E_Desk *desk); 78 E_API E_Client *e_desk_client_top_visible_get(const E_Desk *desk); 79 E_API E_Desk *e_desk_current_get(E_Zone *zone); 80 E_API E_Desk *e_desk_at_xy_get(const E_Zone *zone, int x, int y); 81 E_API E_Desk *e_desk_at_pos_get(E_Zone *zone, int pos); 82 E_API void e_desk_xy_get(E_Desk *desk, int *x, int *y); 83 E_API void e_desk_next(E_Zone *zone); 84 E_API void e_desk_prev(E_Zone *zone); 85 E_API void e_desk_row_add(E_Zone *zone); 86 E_API void e_desk_row_remove(E_Zone *zone); 87 E_API void e_desk_col_add(E_Zone *zone); 88 E_API void e_desk_col_remove(E_Zone *zone); 89 E_API void e_desk_window_profile_set(E_Desk *desk, const char *profile); 90 E_API void e_desk_window_profile_update(E_Zone *zone); 91 92 E_API void e_desk_flip_cb_set(E_Desk_Flip_Cb cb, const void *data); 93 E_API void e_desk_flip_end(E_Desk *desk); 94 95 E_API unsigned int e_desks_count(void); 96 97 extern E_API int E_EVENT_DESK_SHOW; 98 extern E_API int E_EVENT_DESK_BEFORE_SHOW; 99 extern E_API int E_EVENT_DESK_AFTER_SHOW; 100 extern E_API int E_EVENT_DESK_DESKSHOW; 101 extern E_API int E_EVENT_DESK_NAME_CHANGE; 102 extern E_API int E_EVENT_DESK_WINDOW_PROFILE_CHANGE; 103 104 #endif 105 #endif 106