23 lines
732 B
C
23 lines
732 B
C
// slider.h -- Slider widget API
|
|
#ifndef SLIDER_H
|
|
#define SLIDER_H
|
|
|
|
#include "../../core/dvxWgt.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 // SLIDER_H
|