DVX_GUI/widgets/widgetBox.h

23 lines
671 B
C

// widgetBox.h -- Box container widget API (VBox, HBox, Frame)
#ifndef WIDGET_BOX_H
#define WIDGET_BOX_H
#include "../core/dvxWidget.h"
typedef struct {
WidgetT *(*vBox)(WidgetT *parent);
WidgetT *(*hBox)(WidgetT *parent);
WidgetT *(*frame)(WidgetT *parent, const char *title);
} BoxApiT;
static inline const BoxApiT *dvxBoxApi(void) {
static const BoxApiT *sApi;
if (!sApi) { sApi = (const BoxApiT *)wgtGetApi("box"); }
return sApi;
}
#define wgtVBox(parent) dvxBoxApi()->vBox(parent)
#define wgtHBox(parent) dvxBoxApi()->hBox(parent)
#define wgtFrame(parent, title) dvxBoxApi()->frame(parent, title)
#endif // WIDGET_BOX_H