shithub: neindaw

ref: 22f7e9038ca004a322d82d3ee543eb8ed42dbec9
dir: neindaw/uiglue.h

View raw version
typedef struct UIGlue UIGlue;
typedef struct MetaGlue MetaGlue;

struct File;
struct UI;

struct UIGlue {
	union {
		void *uiInterface;
		struct File *f;
	};
	void (*openTabBox)(void *uiInterface, const char *label);
	void (*openHorizontalBox)(void *uiInterface, const char *label);
	void (*openVerticalBox)(void *uiInterface, const char *label);
	void (*closeBox)(void *uiInterface);
	void (*addButton)(void *uiInterface, const char *label, float *zone);
	void (*addCheckButton)(void *uiInterface, const char *label, float *zone);
	void (*addVerticalSlider)(void *uiInterface, const char *label, float *zone, float init, float min, float max, float step);
	void (*addHorizontalSlider)(void *uiInterface, const char *label, float *zone, float init, float min, float max, float step);
	void (*addNumEntry)(void *uiInterface, const char *label, float *zone, float init, float min, float max, float step);
	void (*addHorizontalBargraph)(void *uiInterface, const char *label, float *zone, float min, float max);
	void (*addVerticalBargraph)(void *uiInterface, const char *label, float *zone, float min, float max);
	void (*declare)(void *uiInterface, float *zone, const char *key, const char *value);

	char *(*readstr)(struct UI *ui, int auxtype, char *s, int sz);
	int (*writestr)(struct UI *ui, int auxtype, char *s);
};

struct MetaGlue {
	void *metaInterface;
	void (*declare)(void *metaInterface, const char *key, const char *value);
};

extern UIGlue uiglue;

char *ui_readstr(struct UI *ui, int type, char *s, int sz);
int ui_writestr(struct UI *ui, int type, char *s);