DVX_GUI/widgets/splitter/splitter.h

23 lines
715 B
C

// splitter.h -- Splitter widget API
#ifndef SPLITTER_H
#define SPLITTER_H
#include "../../core/dvxWgt.h"
typedef struct {
WidgetT *(*create)(WidgetT *parent, bool vertical);
void (*setPos)(WidgetT *w, int32_t pos);
int32_t (*getPos)(const WidgetT *w);
} SplitterApiT;
static inline const SplitterApiT *dvxSplitterApi(void) {
static const SplitterApiT *sApi;
if (!sApi) { sApi = (const SplitterApiT *)wgtGetApi("splitter"); }
return sApi;
}
#define wgtSplitter(parent, vertical) dvxSplitterApi()->create(parent, vertical)
#define wgtSplitterSetPos(w, pos) dvxSplitterApi()->setPos(w, pos)
#define wgtSplitterGetPos(w) dvxSplitterApi()->getPos(w)
#endif // SPLITTER_H