Xinqi Bao's Git
1 /* See LICENSE file for copyright and license details. */
6 typedef struct _XCol Col
;
15 typedef struct _XFont Fnt
;
17 typedef struct _XDraw Draw
;
37 /* Drawable abstraction */
38 Draw
*draw_create(Display
*dpy
, int screen
, Window win
, unsigned int w
, unsigned int h
);
39 void draw_resize(Draw
*draw
, unsigned int w
, unsigned int h
);
40 void draw_free(Draw
*draw
);
43 Fnt
*draw_font_create(Draw
*draw
, const char *fontname
);
44 void draw_font_free(Draw
*draw
, Fnt
*font
);
46 /* Colour abstraction */
47 Col
*draw_col_create(Draw
*draw
, const char *colname
);
48 void draw_col_free(Draw
*draw
, Col
*col
);
50 /* Drawing context manipulation */
51 void draw_setfont(Draw
*draw
, Fnt
*font
);
52 void draw_setfg(Draw
*draw
, Col
*col
);
53 void draw_setbg(Draw
*draw
, Col
*col
);
55 /* Drawing functions */
56 void draw_rect(Draw
*draw
, int x
, int y
, unsigned int w
, unsigned int h
, Bool filled
, Bool empty
, Bool invert
);
57 void draw_text(Draw
*draw
, int x
, int y
, unsigned int w
, unsigned int h
, const char *text
, Bool invert
);
60 void draw_map(Draw
*draw
, int x
, int y
, unsigned int w
, unsigned int h
);
63 void draw_getextents(Draw
*draw
, const char *text
, unsigned int len
, TextExtents
*extents
);