diff options
author | Connor Lane Smith <cls@lubutu.com> | 2011-05-20 19:10:26 +0100 |
---|---|---|
committer | Connor Lane Smith <cls@lubutu.com> | 2011-05-20 19:10:26 +0100 |
commit | e7d41cc18824114300a09d3bdb26c536f30b466e (patch) | |
tree | 442c48c4b7f8465e5f922e54143f97d8299da340 /draw.h | |
parent | 22d88188505b2f08296c32ca82a81cce2b59c909 (diff) |
added draw.h, draw.c
Diffstat (limited to 'draw.h')
-rw-r--r-- | draw.h | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -0,0 +1,35 @@ +/* See LICENSE file for copyright and license details. */ + +#define FG(dc, col) ((col)[(dc)->invert ? ColBG : ColFG]) +#define BG(dc, col) ((col)[(dc)->invert ? ColFG : ColBG]) + +enum { ColBG, ColFG, ColBorder, ColLast }; + +typedef struct { + int x, y, w, h; + Bool invert; + Display *dpy; + GC gc; + Pixmap canvas; + struct { + int ascent; + int descent; + int height; + int width; + XFontSet set; + XFontStruct *xfont; + } font; +} DC; /* draw context */ + +void drawrect(DC *dc, int x, int y, unsigned int w, unsigned int h, Bool fill, unsigned long color); +void drawtext(DC *dc, const char *text, unsigned long col[ColLast]); +void drawtextn(DC *dc, const char *text, size_t n, unsigned long col[ColLast]); +void eprintf(const char *fmt, ...); +void freedc(DC *dc); +unsigned long getcolor(DC *dc, const char *colstr); +DC *initdc(void); +void initfont(DC *dc, const char *fontstr); +void mapdc(DC *dc, Window win, unsigned int w, unsigned int h); +void resizedc(DC *dc, unsigned int w, unsigned int h); +int textnw(DC *dc, const char *text, size_t len); +int textw(DC *dc, const char *text); |