drw.h - libsl - shared code master of various suckless projects | |
git clone git://git.suckless.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 Fnt { | |
8 Display *dpy; | |
9 unsigned int h; | |
10 XftFont *xfont; | |
11 FcPattern *pattern; | |
12 struct Fnt *next; | |
13 } Fnt; | |
14 | |
15 enum { ColFg, ColBg, ColBorder }; /* Clr scheme index */ | |
16 typedef XftColor Clr; | |
17 | |
18 typedef struct { | |
19 unsigned int w, h; | |
20 Display *dpy; | |
21 int screen; | |
22 Window root; | |
23 Drawable drawable; | |
24 GC gc; | |
25 Clr *scheme; | |
26 Fnt *fonts; | |
27 } Drw; | |
28 | |
29 /* Drawable abstraction */ | |
30 Drw *drw_create(Display *dpy, int screen, Window win, unsigned int w, un… | |
31 void drw_resize(Drw *drw, unsigned int w, unsigned int h); | |
32 void drw_free(Drw *drw); | |
33 | |
34 /* Fnt abstraction */ | |
35 Fnt *drw_fontset_create(Drw* drw, const char *fonts[], size_t fontcount); | |
36 void drw_fontset_free(Fnt* set); | |
37 unsigned int drw_fontset_getwidth(Drw *drw, const char *text); | |
38 unsigned int drw_fontset_getwidth_clamp(Drw *drw, const char *text, unsi… | |
39 void drw_font_getexts(Fnt *font, const char *text, unsigned int len, uns… | |
40 | |
41 /* Colorscheme abstraction */ | |
42 void drw_clr_create(Drw *drw, Clr *dest, const char *clrname); | |
43 Clr *drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount); | |
44 | |
45 /* Cursor abstraction */ | |
46 Cur *drw_cur_create(Drw *drw, int shape); | |
47 void drw_cur_free(Drw *drw, Cur *cursor); | |
48 | |
49 /* Drawing context manipulation */ | |
50 void drw_setfontset(Drw *drw, Fnt *set); | |
51 void drw_setscheme(Drw *drw, Clr *scm); | |
52 | |
53 /* Drawing functions */ | |
54 void drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, in… | |
55 int drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, uns… | |
56 | |
57 /* Map functions */ | |
58 void drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigne… |