| 1234567891011121314151617181920212223242526272829303132333435 | /* 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);
 |