DVX_GUI/widgets/widgetSlider.h

23 lines
759 B
C

// widgetSlider.h -- Slider widget API
#ifndef WIDGET_SLIDER_H
#define WIDGET_SLIDER_H
#include "../core/dvxWidget.h"
typedef struct {
WidgetT *(*create)(WidgetT *parent, int32_t minVal, int32_t maxVal);
void (*setValue)(WidgetT *w, int32_t value);
int32_t (*getValue)(const WidgetT *w);
} SliderApiT;
static inline const SliderApiT *dvxSliderApi(void) {
static const SliderApiT *sApi;
if (!sApi) { sApi = (const SliderApiT *)wgtGetApi("slider"); }
return sApi;
}
#define wgtSlider(parent, minVal, maxVal) dvxSliderApi()->create(parent, minVal, maxVal)
#define wgtSliderSetValue(w, value) dvxSliderApi()->setValue(w, value)
#define wgtSliderGetValue(w) dvxSliderApi()->getValue(w)
#endif // WIDGET_SLIDER_H