X-Git-Url: https://git.subgeniuskitty.com/xmenu/.git/blobdiff_plain/675a2008a6c9ad34d199aebdac6447d33a9cb53e..3d8536642e0a252737588654a9142962348302d6:/xmenu.h diff --git a/xmenu.h b/xmenu.h index efecca4..2405a8b 100644 --- a/xmenu.h +++ b/xmenu.h @@ -5,9 +5,10 @@ #define ITEMNEXT 1 /* macros */ -#define LEN(x) (sizeof (x) / sizeof (x[0])) -#define MAX(x,y) ((x)>(y)?(x):(y)) -#define MIN(x,y) ((x)<(y)?(x):(y)) +#define LEN(x) (sizeof (x) / sizeof (x[0])) +#define MAX(x,y) ((x)>(y)?(x):(y)) +#define MIN(x,y) ((x)<(y)?(x):(y)) +#define BETWEEN(x, a, b) ((a) <= (x) && (x) <= (b)) /* color enum */ enum {ColorFG, ColorBG, ColorLast}; @@ -49,7 +50,9 @@ struct DC { XftColor separator; GC gc; - XftFont *font; + + XftFont **fonts; + size_t nfonts; }; /* menu item structure */ @@ -63,7 +66,7 @@ struct Item { struct Item *prev; /* previous item */ struct Item *next; /* next item */ struct Menu *submenu; /* submenu spawned by clicking on item */ - Drawable sel, unsel; /* pixmap for selected and unselected icons */ + Drawable sel, unsel; /* pixmap for selected and unselected item */ Imlib_Image icon; }; @@ -74,8 +77,7 @@ struct Menu { struct Item *list; /* list of items contained by the menu */ struct Item *selected; /* item currently selected in the menu */ int x, y, w, h; /* menu geometry */ + int drawn; /* whether the menu was already drawn */ unsigned level; /* menu level relative to root */ - Drawable pixmap; /* pixmap to draw the menu on */ - XftDraw *draw; Window win; /* menu window to map on the screen */ };