added custom render interface for checkboxes
This commit is contained in:
parent
2cd0bc13d5
commit
9945b011a9
2 changed files with 25 additions and 1 deletions
|
@ -104,6 +104,17 @@ void gwinCheckboxDraw(GHandle gh);
|
||||||
*/
|
*/
|
||||||
void gwinCheckboxSetEnabled(GHandle gh, bool_t enabled);
|
void gwinCheckboxSetEnabled(GHandle gh, bool_t enabled);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set the callback routine to perform a custom drawing.
|
||||||
|
*
|
||||||
|
* @param[in] gh The window handle (must be a checkbox window)
|
||||||
|
* @param[in] fn The function to use to draw the checkbox
|
||||||
|
* @param[in] param A parameter to pass to the checkbox drawing function
|
||||||
|
*
|
||||||
|
* @api
|
||||||
|
*/
|
||||||
|
void gwinCheckboxSetCustom(GHandle gh, GCheckboxDrawFunction fn, void *param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Enable a checkbox
|
* @brief Enable a checkbox
|
||||||
*
|
*
|
||||||
|
|
|
@ -122,6 +122,19 @@ GHandle gwinCheckboxCreate(GCheckboxObject *gb, coord_t x, coord_t y, coord_t wi
|
||||||
return (GHandle)gb;
|
return (GHandle)gb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void gwinCheckboxSetCustom(GHandle gh, GCheckboxDrawFunction fn, void *param) {
|
||||||
|
#define gcw ((GCheckboxObject *)gh)
|
||||||
|
|
||||||
|
if (gh->type != GW_CHECKBOX)
|
||||||
|
return;
|
||||||
|
|
||||||
|
gcw->fn = fn;
|
||||||
|
gcw->param = param;
|
||||||
|
|
||||||
|
#undef gcw
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void gwinCheckboxSetEnabled(GHandle gh, bool_t enabled) {
|
void gwinCheckboxSetEnabled(GHandle gh, bool_t enabled) {
|
||||||
if (gh->type != GW_CHECKBOX)
|
if (gh->type != GW_CHECKBOX)
|
||||||
return;
|
return;
|
||||||
|
@ -136,7 +149,7 @@ void gwinCheckboxDraw(GHandle gh) {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if GDISP_NEED_CLIP
|
#if GDISP_NEED_CLIP
|
||||||
gdispSetClip(gh->x, gh->y, gh->width, gh->height);
|
//gdispSetClip(gh->x, gh->y, gh->width, gh->height);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
gcw->fn(gh,
|
gcw->fn(gh,
|
||||||
|
|
Loading…
Add table
Reference in a new issue