enlightenment/src/bin/e_gadget.h

68 lines
1.5 KiB
C

#ifdef E_TYPEDEFS
typedef struct _E_Gadget E_Gadget;
typedef struct _E_Gadget_Face E_Gadget_Face;
typedef struct _E_Gadget_Change E_Gadget_Change;
#else
#ifndef E_GADGET_H
#define E_GADGET_H
#define E_GADGET_TYPE 0xE0b01021
struct _E_Gadget
{
E_Object e_obj_inherit;
Evas_List *faces;
E_Module *module;
char *name;
E_Menu *menu;
struct {
void (*face_init) (void *data, E_Gadget_Face *gadget_face);
void (*face_free) (void *data, E_Gadget_Face *gadget_face);
void (*change) (void *data, E_Gadget_Face *gadget_face, E_Gadman_Client *gmc, E_Gadman_Change change);
void (*menu_init) (void *data, E_Gadget *gadget);
void (*face_menu_init) (void *data, E_Gadget_Face *gadget_face);
} funcs;
void *data;
};
struct _E_Gadget_Face
{
E_Gadget *gad;
E_Container *con;
Evas *evas;
E_Menu *menu;
void *conf;
Evas_Object *main_obj;
Evas_Object *event_obj;
E_Gadman_Client *gmc;
void *data;
};
struct _E_Gadget_Change
{
E_Gadget *gadget;
E_Gadget_Face *face;
};
E_Gadget *e_gadget_new(E_Module *module,
const char *name,
void (*func_face_init) (void *data, E_Gadget_Face *gadget_face),
void (*func_face_free) (void *data, E_Gadget_Face *gadget_face),
void (*func_change) (void *data, E_Gadget_Face *gadget_face, E_Gadman_Client *gmc, E_Gadman_Change change),
void (*func_menu_init) (void *data, E_Gadget *gadget),
void (*func_face_menu_init) (void *data, E_Gadget_Face *gadget_face),
void *data);
void e_gadget_face_theme_set(E_Gadget_Face *face, char *category, char *group);
#endif
#endif