Tizen 2.1 release
[platform/core/uifw/e17.git] / src / modules / gadman / e_mod_gadman.h
1 #ifndef E_MOD_GADMAN_H
2 #define E_MOD_GADMAN_H
3
4 #define DEFAULT_POS_X  0.1
5 #define DEFAULT_POS_Y  0.1
6 #define DEFAULT_SIZE_W 0.07
7 #define DEFAULT_SIZE_H 0.07
8
9 #define DRAG_START 0
10 #define DRAG_STOP  1
11 #define DRAG_MOVE  2
12
13 #define BG_STD    0
14 #define BG_COLOR  1
15 #define BG_CUSTOM 2
16 #define BG_TRANS  3
17
18 #define MIN_VISIBLE_MARIGIN 20
19
20 typedef struct _Manager Manager;
21 typedef struct _Config Config;
22
23 struct _Config
24 {
25    int bg_type;
26    int color_r;
27    int color_g;
28    int color_b;
29    int color_a;
30    const char* custom_bg;
31    int anim_bg;
32    int anim_gad;
33 };
34
35 typedef enum
36 {
37   GADMAN_LAYER_BG = 0, /* layer is considered unsigned int */
38   GADMAN_LAYER_TOP,
39   GADMAN_LAYER_COUNT
40 } Gadman_Layer_Type;
41
42 #define ID_GADMAN_LAYER_BASE 114
43 #define ID_GADMAN_LAYER_BG (ID_GADMAN_LAYER_BASE + GADMAN_LAYER_BG)
44 #define ID_GADMAN_LAYER_TOP (ID_GADMAN_LAYER_BASE + GADMAN_LAYER_TOP)
45
46 struct _Manager
47 {
48    Eina_List   *gadcons[GADMAN_LAYER_COUNT];
49    E_Gadcon    *gc_top;
50    Eina_List   *gadgets[GADMAN_LAYER_COUNT];
51    Evas_Object *movers[GADMAN_LAYER_COUNT];
52    Evas_Object *full_bg;
53    const char  *icon_name;
54
55    Eina_List *drag_handlers;
56    
57    int             visible;
58    int             use_composite;
59    Ecore_X_Window  top_win;
60    Ecore_Evas     *top_ee;
61    E_Container    *container;
62
63    Evas_Coord  width, height;
64    
65    E_Module                *module;
66    E_Config_Dialog         *config_dialog;
67    E_Int_Menu_Augmentation *maug;
68    E_Action                *action;
69
70    E_Config_DD    *conf_edd;
71    Config         *conf;
72 };
73
74 extern Manager *Man;
75
76 void             gadman_init(E_Module *m);
77 void             gadman_shutdown(void);
78 E_Gadcon_Client *gadman_gadget_add(const E_Gadcon_Client_Class *cc, Gadman_Layer_Type layer);
79 void             gadman_gadget_edit_start(E_Gadcon_Client *gcc);
80 void             gadman_gadget_edit_end(void *data, Evas_Object *obj, const char *emission, const char *source);
81 void             gadman_gadgets_toggle(void);
82 void             gadman_update_bg(void);
83
84 #endif