diff options
author | Markus Teich <markus.teich@stusta.mhn.de> | 2016-05-21 21:39:58 +0200 |
---|---|---|
committer | Markus Teich <markus.teich@stusta.mhn.de> | 2016-05-24 19:28:44 +0200 |
commit | 27a904c1dd40d185dd5123ca354f6080e853ec92 (patch) | |
tree | 2affa3c111ddc9f7b2034f64e83451b17e6f74b1 /drw.h | |
parent | 268d1968ea951b3eb2d1411a9e0d7c0fcb23217b (diff) |
import new drw and util from libsl.
Diffstat (limited to 'drw.h')
-rw-r--r-- | drw.h | 28 |
1 files changed, 10 insertions, 18 deletions
@@ -1,27 +1,19 @@ /* See LICENSE file for copyright and license details. */ -#define DRW_FONT_CACHE_SIZE 32 typedef struct { Cursor cursor; } Cur; -typedef struct Fnt Fnt; -struct Fnt { +typedef struct Fnt { Display *dpy; - int ascent; - int descent; unsigned int h; XftFont *xfont; FcPattern *pattern; - Fnt *next; -}; + struct Fnt *next; +} Fnt; -typedef struct { - struct { - unsigned long pix; - XftColor rgb; - } fg, bg; -} Scm; +enum { ColFg, ColBg }; /* Clr scheme index */ +typedef XftColor Clr; typedef struct { unsigned int w, h; @@ -30,7 +22,7 @@ typedef struct { Window root; Drawable drawable; GC gc; - Scm *scheme; + Clr *scheme; Fnt *fonts; } Drw; @@ -46,8 +38,8 @@ unsigned int drw_fontset_getwidth(Drw *drw, const char *text); void drw_font_getexts(Fnt *font, const char *text, unsigned int len, unsigned int *w, unsigned int *h); /* Colorscheme abstraction */ -Scm *drw_scm_create(Drw *drw, const char *fgname, const char *bgname); -void drw_scm_free(Scm *scm); +void drw_clr_create(Drw *drw, Clr *dest, const char *clrname); +Clr *drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount); /* Cursor abstraction */ Cur *drw_cur_create(Drw *drw, int shape); @@ -55,11 +47,11 @@ void drw_cur_free(Drw *drw, Cur *cursor); /* Drawing context manipulation */ void drw_setfontset(Drw *drw, Fnt *set); -void drw_setscheme(Drw *drw, Scm *scm); +void drw_setscheme(Drw *drw, Clr *scm); /* Drawing functions */ void drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled, int invert); -int drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, const char *text, int invert); +int drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lpad, const char *text, int invert); /* Map functions */ void drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigned int h); |