X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Futil%2Farea.h;h=5ddd0c3a95e773ba72814c2e05d33cb3195ce78b;hb=71d6d4f99d476ea747069aa236eadeab30249c7f;hp=da32592c39b31cd005f5bf75973983124775a094;hpb=da65866b2388391052e3ce95818c1d5ebd2b26b5;p=chaz%2Ftint2 diff --git a/src/util/area.h b/src/util/area.h index da32592..5ddd0c3 100644 --- a/src/util/area.h +++ b/src/util/area.h @@ -27,57 +27,59 @@ typedef struct { - double color[3]; - double alpha; - int width; - int rounded; + double color[3]; + double alpha; + int width; + int rounded; } Border; typedef struct { - double color[3]; - double alpha; + double color[3]; + double alpha; } Color; typedef struct { - Pixmap pmap; - Color back; - Border border; + Pixmap pmap; + Color back; + Border border; } Pmap; typedef struct { - // absolute coordinate in panel - int posx, posy; - int width, height; - Pmap pix; - Pmap pix_active; + // absolute coordinate in panel + int posx, posy; + // width and height including border + int width, height; + Pmap pix; + Pmap pix_active; - // list of child : Area object - GSList *list; + // list of child : Area object + GSList *list; - int visible; + int on_screen; // need compute position and width int resize; - // need redraw Pixmap - int redraw; - int use_active, is_active; - // paddingxlr = horizontal padding left/right - // paddingx = horizontal padding between childs - int paddingxlr, paddingx, paddingy; - // parent Area - void *parent; - // panel - void *panel; - - // each object can overwrite following function - void (*_draw_foreground)(void *obj, cairo_t *c, int active); - void (*_resize)(void *obj); - void (*_add_child)(void *obj); - int (*_remove_child)(void *obj); + // need redraw Pixmap + int redraw; + int use_active, is_active; + // paddingxlr = horizontal padding left/right + // paddingx = horizontal padding between childs + int paddingxlr, paddingx, paddingy; + // parent Area + void *parent; + // panel + void *panel; + + // each object can overwrite following function + void (*_draw_foreground)(void *obj, cairo_t *c, int active); + void (*_resize)(void *obj); + void (*_add_child)(void *obj); + int (*_remove_child)(void *obj); + const char* (*_get_tooltip_text)(void *obj); } Area; @@ -85,6 +87,8 @@ typedef struct { // draw background and foreground void refresh (Area *a); +void size (Area *a); + // set 'redraw' on an area and childs void set_redraw (Area *a); @@ -98,6 +102,5 @@ void free_area (Area *a); // draw rounded rectangle void draw_rect(cairo_t *c, double x, double y, double w, double h, double r); - #endif