Xinqi Bao's Git
1 /* See LICENSE file for copyright and license details. */
2 #define DRW_FONT_CACHE_SIZE 32
37 Fnt
*fonts
[DRW_FONT_CACHE_SIZE
];
45 /* Drawable abstraction */
46 Drw
*drw_create(Display
*dpy
, int screen
, Window win
, unsigned int w
, unsigned int h
);
47 void drw_resize(Drw
*drw
, unsigned int w
, unsigned int h
);
48 void drw_free(Drw
*drw
);
51 Fnt
*drw_font_create(Drw
*drw
, const char *fontname
);
52 void drw_load_fonts(Drw
* drw
, const char *fonts
[], size_t fontcount
);
53 void drw_font_free(Fnt
*font
);
54 void drw_font_getexts(Fnt
*font
, const char *text
, unsigned int len
, Extnts
*extnts
);
55 unsigned int drw_font_getexts_width(Fnt
*font
, const char *text
, unsigned int len
);
57 /* Colour abstraction */
58 Clr
*drw_clr_create(Drw
*drw
, const char *clrname
);
59 void drw_clr_free(Clr
*clr
);
61 /* Cursor abstraction */
62 Cur
*drw_cur_create(Drw
*drw
, int shape
);
63 void drw_cur_free(Drw
*drw
, Cur
*cursor
);
65 /* Drawing context manipulation */
66 void drw_setfont(Drw
*drw
, Fnt
*font
);
67 void drw_setscheme(Drw
*drw
, ClrScheme
*scheme
);
69 /* Drawing functions */
70 void drw_rect(Drw
*drw
, int x
, int y
, unsigned int w
, unsigned int h
, int filled
, int empty
, int invert
);
71 int drw_text(Drw
*drw
, int x
, int y
, unsigned int w
, unsigned int h
, const char *text
, int invert
);
74 void drw_map(Drw
*drw
, Window win
, int x
, int y
, unsigned int w
, unsigned int h
);