summaryrefslogtreecommitdiffstats
path: root/src/tk/widget.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tk/widget.h')
-rw-r--r--src/tk/widget.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/tk/widget.h b/src/tk/widget.h
index 2336388..ae81553 100644
--- a/src/tk/widget.h
+++ b/src/tk/widget.h
@@ -36,4 +36,17 @@ struct mftk_widget {
struct mftk_widget *
mftk_widget_new(size_t size);
+#define mftk_widget_init(w, t_w, name) \
+ do { \
+ w = mftk_widget_new(sizeof(struct mftk_##name)); \
+ if (w == NULL) { \
+ return NULL; \
+ }; \
+ w->layout = &_mftk_##name##_layout; \
+ w->event = &_mftk_##name##_event; \
+ w->render = &_mftk_##name##_render; \
+ w->destroy = &_mftk_##name##_destroy; \
+ t_w = (struct mftk_##name *) w; \
+ } while (0)
+
#endif /* MFTK_WIDGET_H_ */