#ifndef E_MOD_GADMAN_H #define E_MOD_GADMAN_H #include "e.h" #define DEFAULT_POS_X 0.1 #define DEFAULT_POS_Y 0.1 #define DEFAULT_SIZE_W 0.07 #define DEFAULT_SIZE_H 0.07 #define DRAG_START 0 #define DRAG_STOP 1 #define DRAG_MOVE 2 #define BG_STD 0 #define BG_COLOR 1 #define BG_CUSTOM 2 #define BG_TRANS 3 #define MIN_VISIBLE_MARIGIN 20 typedef struct _Manager Manager; typedef struct _Config Config; struct _Config { int bg_type; int color_r; int color_g; int color_b; int color_a; const char* custom_bg; int anim_bg; int anim_gad; }; typedef enum { GADMAN_LAYER_BG = 0, /* layer is considered unsigned int */ GADMAN_LAYER_TOP, GADMAN_LAYER_COUNT } Gadman_Layer_Type; #define ID_GADMAN_LAYER_BASE 114 #define ID_GADMAN_LAYER_BG (ID_GADMAN_LAYER_BASE + GADMAN_LAYER_BG) #define ID_GADMAN_LAYER_TOP (ID_GADMAN_LAYER_BASE + GADMAN_LAYER_TOP) struct _Manager { Eina_List *gadcons[GADMAN_LAYER_COUNT]; E_Gadcon_Location *location[GADMAN_LAYER_COUNT]; Eina_List *gadgets[GADMAN_LAYER_COUNT]; Evas_Object *movers[GADMAN_LAYER_COUNT]; Evas_Object *full_bg; const char *icon_name; E_Gadcon_Client *drag_gcc[GADMAN_LAYER_COUNT]; Eina_List *waiting; Ecore_Event_Handler *add; int visible; Evas_Object *overlay; int width, height; E_Module *module; E_Config_Dialog *config_dialog; E_Int_Menu_Augmentation *maug; E_Menu_Category_Callback *mcat; E_Action *action; E_Config_DD *conf_edd; Config *conf; }; extern Manager *Man; void gadman_init(E_Module *m); void gadman_shutdown(void); E_Gadcon_Client *gadman_gadget_add(const E_Gadcon_Client_Class *cc, E_Gadcon_Client *, Gadman_Layer_Type layer); void gadman_gadget_edit_start(E_Gadcon_Client *gcc); void gadman_gadget_edit_end(void *data, Evas_Object *obj, const char *emission, const char *source); void gadman_gadgets_toggle(void); void gadman_update_bg(void); Eina_Bool gadman_gadget_add_handler(void *d, int type, E_Event_Gadcon_Client_Add *ev); E_Config_Dialog *_config_gadman_module(Evas_Object *parent, const char *params EINA_UNUSED); /** * @addtogroup Optional_Gadgets * @{ * * @defgroup Module_Gadman Gadman (Gadget Manager) * * Manages @ref Optional_Gadgets on desktop or overlay. * * @} */ #endif