DVX_GUI/widgets/widgetCheckbox.h

23 lines
775 B
C

// widgetCheckbox.h -- Checkbox widget API
#ifndef WIDGET_CHECKBOX_H
#define WIDGET_CHECKBOX_H
#include "../core/dvxWidget.h"
typedef struct {
WidgetT *(*create)(WidgetT *parent, const char *text);
bool (*isChecked)(const WidgetT *w);
void (*setChecked)(WidgetT *w, bool checked);
} CheckboxApiT;
static inline const CheckboxApiT *dvxCheckboxApi(void) {
static const CheckboxApiT *sApi;
if (!sApi) { sApi = (const CheckboxApiT *)wgtGetApi("checkbox"); }
return sApi;
}
#define wgtCheckbox(parent, text) dvxCheckboxApi()->create(parent, text)
#define wgtCheckboxIsChecked(w) dvxCheckboxApi()->isChecked(w)
#define wgtCheckboxSetChecked(w, checked) dvxCheckboxApi()->setChecked(w, checked)
#endif // WIDGET_CHECKBOX_H