1 #ifndef E_MOD_GADMAN_H 2 #define E_MOD_GADMAN_H 3 4 #include "e.h" 5 6 #define DEFAULT_POS_X 0.1 7 #define DEFAULT_POS_Y 0.1 8 #define DEFAULT_SIZE_W 0.07 9 #define DEFAULT_SIZE_H 0.07 10 11 #define DRAG_START 0 12 #define DRAG_STOP 1 13 #define DRAG_MOVE 2 14 15 #define BG_STD 0 16 #define BG_COLOR 1 17 #define BG_CUSTOM 2 18 #define BG_TRANS 3 19 20 #define MIN_VISIBLE_MARIGIN 20 21 22 typedef struct _Manager Manager; 23 typedef struct _Config Config; 24 25 struct _Config 26 { 27 int bg_type; 28 int color_r; 29 int color_g; 30 int color_b; 31 int color_a; 32 const char* custom_bg; 33 int anim_bg; 34 int anim_gad; 35 }; 36 37 typedef enum 38 { 39 GADMAN_LAYER_BG = 0, /* layer is considered unsigned int */ 40 GADMAN_LAYER_TOP, 41 GADMAN_LAYER_COUNT 42 } Gadman_Layer_Type; 43 44 #define ID_GADMAN_LAYER_BASE 114 45 #define ID_GADMAN_LAYER_BG (ID_GADMAN_LAYER_BASE + GADMAN_LAYER_BG) 46 #define ID_GADMAN_LAYER_TOP (ID_GADMAN_LAYER_BASE + GADMAN_LAYER_TOP) 47 48 struct _Manager 49 { 50 Eina_List *gadcons[GADMAN_LAYER_COUNT]; 51 E_Gadcon_Location *location[GADMAN_LAYER_COUNT]; 52 Eina_List *gadgets[GADMAN_LAYER_COUNT]; 53 Evas_Object *movers[GADMAN_LAYER_COUNT]; 54 Evas_Object *full_bg; 55 const char *icon_name; 56 E_Gadcon_Client *drag_gcc[GADMAN_LAYER_COUNT]; 57 58 Eina_List *waiting; 59 Ecore_Event_Handler *add; 60 61 int visible; 62 Evas_Object *overlay; 63 64 int width, height; 65 66 E_Module *module; 67 E_Config_Dialog *config_dialog; 68 E_Int_Menu_Augmentation *maug; 69 E_Menu_Category_Callback *mcat; 70 E_Action *action; 71 72 E_Config_DD *conf_edd; 73 Config *conf; 74 }; 75 76 extern Manager *Man; 77 78 void gadman_init(E_Module *m); 79 void gadman_shutdown(void); 80 E_Gadcon_Client *gadman_gadget_add(const E_Gadcon_Client_Class *cc, E_Gadcon_Client *, Gadman_Layer_Type layer); 81 void gadman_gadget_edit_start(E_Gadcon_Client *gcc); 82 void gadman_gadget_edit_end(void *data, Evas_Object *obj, const char *emission, const char *source); 83 void gadman_gadgets_toggle(void); 84 void gadman_update_bg(void); 85 Eina_Bool gadman_gadget_add_handler(void *d, int type, E_Event_Gadcon_Client_Add *ev); 86 87 E_Config_Dialog *_config_gadman_module(Evas_Object *parent, const char *params EINA_UNUSED); 88 89 /** 90 * @addtogroup Optional_Gadgets 91 * @{ 92 * 93 * @defgroup Module_Gadman Gadman (Gadget Manager) 94 * 95 * Manages @ref Optional_Gadgets on desktop or overlay. 96 * 97 * @} 98 */ 99 #endif 100