#ifndef _WINFANG_H_ #define _WINFANG_H_ #define EFL_API_OVERRIDE 1 /* Enable access to unstable EFL API that are still in beta */ #define EFL_BETA_API_SUPPORT 1 /* Enable access to unstable EFL EO API. */ #define EFL_EO_API_SUPPORT 1 #include #include #include #include #include #define WF_BACKGROUND "winFang/background" #define WF_LAYOUT "winFang/layout" #define WF_UNDERLAY "winFang/underlay" #define WF_TITLE "winFang/title" #define WF_BOX "winFang/box" #define WF_SWALLOW "winFang/content" typedef struct _winFang { Evas *e; struct _winFang *parent; Evas_Object *win; Evas_Object *layout; Evas_Object *title; Evas_Object *bg; Evas_Object *grid; EPhysics_Body *body; Eina_Clist widgets; Eina_Clist winFangs; int x, y, w, h, mw, mh; Evas_Object *hand[4]; Eina_Clist node; void *data; Evas_Smart_Cb on_del; } winFang; typedef struct _Widget { char magic[8]; Evas_Object *obj; char *label, *look, *action, *help; // foreground / background colour // thing // types {} // skangCoord x, y, w, h Eina_Clist node; void *data; Evas_Smart_Cb on_del; } Widget; winFang *winFangAdd(winFang *parent, int x, int y, int w, int h, char *title, char *name, EPhysics_World *world); void winFangHide(winFang *win); void winFangShow(winFang *win); void winFangCalcMinSize(winFang *win); void winFangDel(winFang *win); Widget *widgetAdd(winFang *win, const Eo_Class *klass, char *title, int x, int y, int w, int h); #endif