enlightenment/src/modules/ibar/e_mod_main.h

74 lines
1.5 KiB
C
Raw Normal View History

#ifndef E_MOD_MAIN_H
#define E_MOD_MAIN_H
typedef struct _IBar IBar;
typedef struct _IBar_Bar IBar_Bar;
typedef struct _IBar_Icon IBar_Icon;
struct _IBar
{
E_App *apps;
Evas_List *bars;
E_Menu *config_menu;
struct {
char *appdir;
double follow_speed;
double autoscroll_speed;
int width;
int iconsize;
int edge;
double anchor;
double handle;
unsigned char autohide : 1;
} conf;
};
struct _IBar_Bar
{
IBar *ibar;
E_Container *con;
Evas *evas;
Evas_Object *bar_object;
Evas_Object *overlay_object;
Evas_Object *box_object;
Evas_Object *event_object;
Evas_List *icons;
Evas_Coord minsize, maxsize;
double align, align_req;
double follow, follow_req;
Ecore_Timer *timer;
Ecore_Animator *animator;
Evas_Coord x, y, w, h;
unsigned char move : 1;
unsigned char resize1 : 1;
unsigned char resize2 : 1;
Evas_Coord start_x, start_y;
Evas_Coord start_bx, start_by, start_bw, start_bh;
};
struct _IBar_Icon
{
IBar_Bar *ibb;
E_App *app;
Evas_Object *bg_object;
Evas_Object *overlay_object;
Evas_Object *icon_object;
Evas_Object *event_object;
Evas_List *extra_icons;
unsigned char raise_on_hilight : 1;
};
#define EDGE_BOTTOM 0
#define EDGE_TOP 1
#define EDGE_LEFT 2
#define EDGE_RIGHT 3
#endif