Introduction
Introduction Statistics Contact Development Disclaimer Help
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…
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.