Xinqi Bao's Git
1 /* See LICENSE file for copyright and license details. */
15 enum { ColFg
, ColBg
, ColBorder
}; /* Clr scheme index */
32 /* Drawable abstraction */
33 Drw
*drw_create(Display
*dpy
, int screen
, Window win
, unsigned int w
, unsigned int h
, Visual
*visual
, unsigned int depth
, Colormap cmap
);
34 void drw_resize(Drw
*drw
, unsigned int w
, unsigned int h
);
35 void drw_free(Drw
*drw
);
38 Fnt
*drw_fontset_create(Drw
* drw
, const char *fonts
[], size_t fontcount
);
39 void drw_fontset_free(Fnt
* set
);
40 unsigned int drw_fontset_getwidth(Drw
*drw
, const char *text
);
41 void drw_font_getexts(Fnt
*font
, const char *text
, unsigned int len
, unsigned int *w
, unsigned int *h
);
43 /* Colorscheme abstraction */
44 void drw_clr_create(Drw
*drw
, Clr
*dest
, const char *clrname
, unsigned int alpha
);
45 Clr
*drw_scm_create(Drw
*drw
, const char *clrnames
[], const unsigned int alphas
[], size_t clrcount
);
47 /* Cursor abstraction */
48 Cur
*drw_cur_create(Drw
*drw
, int shape
);
49 void drw_cur_free(Drw
*drw
, Cur
*cursor
);
51 /* Drawing context manipulation */
52 void drw_setfontset(Drw
*drw
, Fnt
*set
);
53 void drw_setscheme(Drw
*drw
, Clr
*scm
);
55 /* Drawing functions */
56 void drw_rect(Drw
*drw
, int x
, int y
, unsigned int w
, unsigned int h
, int filled
, int invert
);
57 int drw_text(Drw
*drw
, int x
, int y
, unsigned int w
, unsigned int h
, unsigned int lpad
, const char *text
, int invert
);
60 void drw_map(Drw
*drw
, Window win
, int x
, int y
, unsigned int w
, unsigned int h
);