theme
[windtk] / src / wtimpl.h
1 #ifndef WTIMPL_H_
2 #define WTIMPL_H_
3
4 #include <stdlib.h>
5 #include "windtk.h"
6 #include "widget.h"
7
8 enum {
9         COL_FG,
10         COL_BG,
11         COL_BGHI,
12         COL_BGLO,
13         COL_FRM,
14         COL_FRMHI,
15         COL_FRMLO,
16         COL_FFRM,
17         COL_FFRMHI,
18         COL_FFRMLO,
19
20         NUM_COLORS
21 };
22
23 enum { FRM_OUT, FRM_IN };
24
25 struct wt_context {
26         struct wt_graphics gfx;
27         struct wt_rect vp;
28         wt_widget *root;
29         struct wt_theme *theme;
30
31         int colors[NUM_COLORS];
32 };
33
34 extern struct wt_context *wt_curctx_;
35 #define wt      wt_curctx_
36
37 extern void *(*wt_alloc)(size_t sz);
38 extern void (*wt_free)(void *p);
39
40 void *wt_zalloc(size_t sz);
41
42 void wt_gfx_color(int cidx);
43 void wt_gfx_fillrect(struct wt_rect *r);
44 void wt_gfx_frame(struct wt_rect *r, int style, int basecol);
45 void wt_gfx_line(int x0, int y0, int x1, int y1);
46
47 #endif  /* WTIMPL_H_ */