Button proper freeing/newing.
[mikachu/openbox.git] / obrender / button.h
1 #ifndef __button_h
2 #define __button_h
3
4 #include "render.h"
5
6 #include <X11/Xlib.h>
7 #include <X11/Xutil.h>
8 #include <glib.h>
9
10 struct _RrButton {
11     const RrInstance *inst;
12
13     /* colors */
14     RrColor *focused_unpressed_color;
15     RrColor *unfocused_unpressed_color;
16     RrColor *focused_pressed_color;
17     RrColor *unfocused_pressed_color;
18     RrColor *disabled_focused_color;
19     RrColor *disabled_unfocused_color;
20     RrColor *hover_focused_color;
21     RrColor *hover_unfocused_color;
22     RrColor *toggled_hover_focused_color;
23     RrColor *toggled_hover_unfocused_color;
24     RrColor *toggled_focused_pressed_color;
25     RrColor *toggled_unfocused_pressed_color;
26     RrColor *toggled_focused_unpressed_color;
27     RrColor *toggled_unfocused_unpressed_color;
28     
29     /* masks */
30     RrPixmapMask *mask;
31     RrPixmapMask *pressed_mask;
32     RrPixmapMask *disabled_mask;
33     RrPixmapMask *hover_mask;
34     RrPixmapMask *toggled_mask;
35     RrPixmapMask *toggled_hover_mask;
36     RrPixmapMask *toggled_pressed_mask;
37    
38     /* textures */
39     RrAppearance *a_focused_unpressed;
40     RrAppearance *a_unfocused_unpressed;
41     RrAppearance *a_focused_pressed;
42     RrAppearance *a_unfocused_pressed;
43     RrAppearance *a_disabled_focused;
44     RrAppearance *a_disabled_unfocused;
45     RrAppearance *a_hover_focused;
46     RrAppearance *a_hover_unfocused;
47     RrAppearance *a_toggled_focused_unpressed;
48     RrAppearance *a_toggled_unfocused_unpressed;
49     RrAppearance *a_toggled_focused_pressed;
50     RrAppearance *a_toggled_unfocused_pressed;
51     RrAppearance *a_toggled_hover_focused;
52     RrAppearance *a_toggled_hover_unfocused;
53
54 };
55
56 #endif /* __button_h */