/* See LICENSE file for copyright and license details. */
+typedef struct _DDC DDC;
+
/* X11 types - begin */
+typedef struct _XDraw Draw;
struct _XDraw {
unsigned int w, h;
Display *dpy;
+ int screen;
+ Window win;
Drawable drawable;
GC gc;
+ DDC *dc;
};
-typedef struct _XDraw Draw;
struct _XCol {
unsigned long rgb;
typedef struct _XFont Fnt;
/* X11 types - end */
-typedef struct {
+struct _DDC {
Draw *draw;
Col *fg;
Col *bg;
Fnt *font;
Bool fill;
-} DDC;
+ DDC *next;
+};
typedef struct {
unsigned int w;
} TextExtents;
/* Drawable abstraction */
-Draw *draw_create(Display *dpy, Window win, unsigned int w, unsigned int h);
+Draw *draw_create(Display *dpy, int screen, Window win, unsigned int w, unsigned int h);
void draw_resize(Draw *draw, unsigned int w, unsigned int h);
void draw_free(Draw *draw);
/* Drawing context manipulation */
void dc_setfont(DDC *dc, Fnt *font);
-void dc_setfg(DDC *dc, Col col);
-void dc_setbg(DDC *dc, Col col);
+void dc_setfg(DDC *dc, Col *col);
+void dc_setbg(DDC *dc, Col *col);
void dc_setfill(DDC *dc, Bool fill);
/* Drawing functions */