/* See LICENSE file for copyright and license details. */
enum { ColFg
, ColBg
, ColBorder
}; /* Clr scheme index */
/* Drawable abstraction */
Drw
*drw_create(Display
*dpy
, int screen
, Window win
, unsigned int w
, unsigned int h
);
void drw_resize(Drw
*drw
, unsigned int w
, unsigned int h
);
Fnt
*drw_fontset_create(Drw
* drw
, const char *fonts
[], size_t fontcount
);
void drw_fontset_free(Fnt
* set
);
unsigned int drw_fontset_getwidth(Drw
*drw
, const char *text
);
unsigned int drw_fontset_getwidth_clamp(Drw
*drw
, const char *text
, unsigned int n
);
void drw_font_getexts(Fnt
*font
, const char *text
, unsigned int len
, unsigned int *w
, unsigned int *h
);
/* Colorscheme abstraction */
void drw_clr_create(Drw
*drw
, Clr
*dest
, const char *clrname
);
Clr
*drw_scm_create(Drw
*drw
, const char *clrnames
[], size_t clrcount
);
Cur
*drw_cur_create(Drw
*drw
, int shape
);
void drw_cur_free(Drw
*drw
, Cur
*cursor
);
/* Drawing context manipulation */
void drw_setfontset(Drw
*drw
, Fnt
*set
);
void drw_setscheme(Drw
*drw
, Clr
*scm
);
void drw_rect(Drw
*drw
, int x
, int y
, unsigned int w
, unsigned int h
, int filled
, int invert
);
int drw_text(Drw
*drw
, int x
, int y
, unsigned int w
, unsigned int h
, unsigned int lpad
, const char *text
, int invert
);
void drw_map(Drw
*drw
, Window win
, int x
, int y
, unsigned int w
, unsigned int h
);