initial commit
[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
30         int colors[NUM_COLORS];
31 };
32
33 extern struct wt_context *wt_curctx_;
34 #define wt      wt_curctx_
35
36 extern void *(*wt_alloc)(size_t sz);
37 extern void (*wt_free)(void *p);
38
39 void *wt_zalloc(size_t sz);
40
41 void wt_gfx_color(int cidx);
42 void wt_gfx_fillrect(struct wt_rect *r);
43 void wt_gfx_frame(struct wt_rect *r, int style, int basecol);
44 void wt_gfx_line(int x0, int y0, int x1, int y1);
45
46 #endif  /* WTIMPL_H_ */