drw.h - libsl - draw back-ends for dwm, dmenu, etc | |
git clone git://git.codemadness.org/libsl | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
drw.h (1755B) | |
--- | |
1 /* See LICENSE file for copyright and license details. */ | |
2 | |
3 typedef struct { | |
4 Cursor cursor; | |
5 } Cur; | |
6 | |
7 typedef struct { | |
8 Display *dpy; | |
9 int ascent; | |
10 int descent; | |
11 unsigned int h; | |
12 XFontSet set; | |
13 XFontStruct *xfont; | |
14 } Fnt; | |
15 | |
16 enum { ColFg, ColBg, ColBorder }; /* Clr scheme index */ | |
17 typedef XColor Clr; | |
18 | |
19 typedef struct { | |
20 unsigned int w, h; | |
21 Display *dpy; | |
22 int screen; | |
23 Window root; | |
24 Drawable drawable; | |
25 GC gc; | |
26 Clr *scheme; | |
27 Fnt *fonts; | |
28 } Drw; | |
29 | |
30 /* Drawable abstraction */ | |
31 Drw *drw_create(Display *dpy, int screen, Window win, unsigned int w, un… | |
32 void drw_resize(Drw *drw, unsigned int w, unsigned int h); | |
33 void drw_free(Drw *drw); | |
34 | |
35 /* Fnt abstraction */ | |
36 Fnt *drw_fontset_create(Drw* drw, const char *fonts[], size_t fontcount); | |
37 void drw_fontset_free(Fnt* set); | |
38 unsigned int drw_fontset_getwidth(Drw *drw, const char *text); | |
39 unsigned int drw_fontset_getwidth_clamp(Drw *drw, const char *text, unsi… | |
40 void drw_font_getexts(Fnt *font, const char *text, unsigned int len, uns… | |
41 | |
42 /* Colorscheme abstraction */ | |
43 void drw_clr_create(Drw *drw, Clr *dest, const char *clrname); | |
44 Clr *drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount); | |
45 | |
46 /* Cursor abstraction */ | |
47 Cur *drw_cur_create(Drw *drw, int shape); | |
48 void drw_cur_free(Drw *drw, Cur *cursor); | |
49 | |
50 /* Drawing context manipulation */ | |
51 void drw_setfontset(Drw *drw, Fnt *set); | |
52 void drw_setscheme(Drw *drw, Clr *scm); | |
53 | |
54 /* Drawing functions */ | |
55 void drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, in… | |
56 int drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, uns… | |
57 | |
58 /* Map functions */ | |
59 void drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigne… |