diff options
Diffstat (limited to 'matchbox/theme-engines/mb-wm-theme-xml.h')
-rw-r--r-- | matchbox/theme-engines/mb-wm-theme-xml.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/matchbox/theme-engines/mb-wm-theme-xml.h b/matchbox/theme-engines/mb-wm-theme-xml.h new file mode 100644 index 0000000..161cee5 --- /dev/null +++ b/matchbox/theme-engines/mb-wm-theme-xml.h @@ -0,0 +1,103 @@ +#ifndef _HAVE_MB_WM_THEME_PRIVATE_H +#define _HAVE_MB_WM_THEME_PRIVATE_H + +#include <matchbox/core/mb-wm.h> + +/* + * Helper structs for xml theme + */ +typedef struct Button +{ + MBWMDecorButtonType type; + MBWMDecorButtonPack packing; + + MBWMColor clr_fg; + MBWMColor clr_bg; + + int x; + int y; + int width; + int height; + + /* Needed by png themes */ + int active_x; + int active_y; + + int inactive_x; + int inactive_y; + + int press_activated; +} MBWMXmlButton; + +typedef struct Decor +{ + MBWMDecorType type; + + MBWMColor clr_fg; + MBWMColor clr_bg; + MBWMColor clr_bg2; + MBWMColor clr_frame; + + int x; + int y; + int width; + int height; + int font_size; + int show_title; + + char * font_family; + + MBWMList * buttons; +}MBWMXmlDecor; + +typedef struct Client +{ + MBWMClientType type; + + int x; + int y; + int width; + int height; + + Bool shaped; + + MBWMList *decors; + + MBWMClientLayoutHints layout_hints; + +#ifdef ENABLE_COMPOSITE + MBWMList *effects; +#endif +}MBWMXmlClient; + +MBWMXmlButton * +mb_wm_xml_button_new (); + +void +mb_wm_xml_button_free (MBWMXmlButton * b); + +MBWMXmlDecor * +mb_wm_xml_decor_new (); + +void +mb_wm_xml_decor_free (MBWMXmlDecor * d); + +MBWMXmlClient * +mb_wm_xml_client_new (); + +void +mb_wm_xml_client_free (MBWMXmlClient * c); + +MBWMXmlClient * +mb_wm_xml_client_find_by_type (MBWMList *l, MBWMClientType type); + +MBWMXmlDecor * +mb_wm_xml_decor_find_by_type (MBWMList *l, MBWMDecorType type); + +MBWMXmlButton * +mb_wm_xml_button_find_by_type (MBWMList *l, MBWMDecorButtonType type); + +void +mb_wm_xml_clr_from_string (MBWMColor * clr, const char *s); + +#endif |