diff options
Diffstat (limited to '')
| -rw-r--r-- | src/drw/drw.c (renamed from drw.c) | 0 | ||||
| -rw-r--r-- | src/drw/drw.h (renamed from drw.h) | 50 |
2 files changed, 28 insertions, 22 deletions
| @@ -1,42 +1,45 @@ | |||
| 1 | /* See LICENSE file for copyright and license details. */ | 1 | /* See LICENSE file for copyright and license details. */ |
| 2 | 2 | ||
| 3 | typedef struct { | 3 | typedef struct { |
| 4 | Cursor cursor; | 4 | Cursor cursor; |
| 5 | } Cur; | 5 | } Cur; |
| 6 | 6 | ||
| 7 | typedef struct Fnt { | 7 | typedef struct Fnt { |
| 8 | Display *dpy; | 8 | Display *dpy; |
| 9 | unsigned int h; | 9 | unsigned int h; |
| 10 | XftFont *xfont; | 10 | XftFont *xfont; |
| 11 | FcPattern *pattern; | 11 | FcPattern *pattern; |
| 12 | struct Fnt *next; | 12 | struct Fnt *next; |
| 13 | } Fnt; | 13 | } Fnt; |
| 14 | 14 | ||
| 15 | enum { ColFg, ColBg, ColBorder }; /* Clr scheme index */ | 15 | enum { ColFg, ColBg, ColBorder }; /* Clr scheme index */ |
| 16 | typedef XftColor Clr; | 16 | typedef XftColor Clr; |
| 17 | 17 | ||
| 18 | typedef struct { | 18 | typedef struct { |
| 19 | unsigned int w, h; | 19 | unsigned int w, h; |
| 20 | Display *dpy; | 20 | Display *dpy; |
| 21 | int screen; | 21 | int screen; |
| 22 | Window root; | 22 | Window root; |
| 23 | Drawable drawable; | 23 | Drawable drawable; |
| 24 | GC gc; | 24 | GC gc; |
| 25 | Clr *scheme; | 25 | Clr *scheme; |
| 26 | Fnt *fonts; | 26 | Fnt *fonts; |
| 27 | } Drw; | 27 | } Drw; |
| 28 | 28 | ||
| 29 | /* Drawable abstraction */ | 29 | /* Drawable abstraction */ |
| 30 | Drw *drw_create(Display *dpy, int screen, Window win, unsigned int w, unsigned int h); | 30 | Drw *drw_create(Display *dpy, int screen, Window win, unsigned int w, |
| 31 | unsigned int h); | ||
| 31 | void drw_resize(Drw *drw, unsigned int w, unsigned int h); | 32 | void drw_resize(Drw *drw, unsigned int w, unsigned int h); |
| 32 | void drw_free(Drw *drw); | 33 | void drw_free(Drw *drw); |
| 33 | 34 | ||
| 34 | /* Fnt abstraction */ | 35 | /* Fnt abstraction */ |
| 35 | Fnt *drw_fontset_create(Drw* drw, const char *fonts[], size_t fontcount); | 36 | Fnt *drw_fontset_create(Drw *drw, const char *fonts[], size_t fontcount); |
| 36 | void drw_fontset_free(Fnt* set); | 37 | void drw_fontset_free(Fnt *set); |
| 37 | unsigned int drw_fontset_getwidth(Drw *drw, const char *text); | 38 | unsigned int drw_fontset_getwidth(Drw *drw, const char *text); |
| 38 | unsigned int drw_fontset_getwidth_clamp(Drw *drw, const char *text, unsigned int n); | 39 | unsigned int drw_fontset_getwidth_clamp(Drw *drw, const char *text, |
| 39 | void drw_font_getexts(Fnt *font, const char *text, unsigned int len, unsigned int *w, unsigned int *h); | 40 | unsigned int n); |
| 41 | void drw_font_getexts(Fnt *font, const char *text, unsigned int len, | ||
| 42 | unsigned int *w, unsigned int *h); | ||
| 40 | 43 | ||
| 41 | /* Colorscheme abstraction */ | 44 | /* Colorscheme abstraction */ |
| 42 | void drw_clr_create(Drw *drw, Clr *dest, const char *clrname); | 45 | void drw_clr_create(Drw *drw, Clr *dest, const char *clrname); |
| @@ -51,8 +54,11 @@ void drw_setfontset(Drw *drw, Fnt *set); | |||
| 51 | void drw_setscheme(Drw *drw, Clr *scm); | 54 | void drw_setscheme(Drw *drw, Clr *scm); |
| 52 | 55 | ||
| 53 | /* Drawing functions */ | 56 | /* Drawing functions */ |
| 54 | void drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled, int invert); | 57 | void drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, |
| 55 | int drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lpad, const char *text, int invert); | 58 | int filled, int invert); |
| 59 | int drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, | ||
| 60 | unsigned int lpad, const char *text, int invert); | ||
| 56 | 61 | ||
| 57 | /* Map functions */ | 62 | /* Map functions */ |
| 58 | void drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigned int h); | 63 | void drw_map(Drw *drw, Window win, int x, int y, unsigned int w, |
| 64 | unsigned int h); | ||
