// widgetRadio.h -- Radio button widget API #ifndef WIDGET_RADIO_H #define WIDGET_RADIO_H #include "../core/dvxWidget.h" typedef struct { WidgetT *(*group)(WidgetT *parent); WidgetT *(*create)(WidgetT *parent, const char *text); void (*groupSetSelected)(WidgetT *w, int32_t idx); int32_t (*getIndex)(const WidgetT *w); } RadioApiT; static inline const RadioApiT *dvxRadioApi(void) { static const RadioApiT *sApi; if (!sApi) { sApi = (const RadioApiT *)wgtGetApi("radio"); } return sApi; } #define wgtRadioGroup(parent) dvxRadioApi()->group(parent) #define wgtRadio(parent, text) dvxRadioApi()->create(parent, text) #define wgtRadioGroupSetSelected(w, idx) dvxRadioApi()->groupSetSelected(w, idx) #define wgtRadioGetIndex(w) dvxRadioApi()->getIndex(w) #endif // WIDGET_RADIO_H