23 lines
715 B
C
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
|