aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-07-02 00:45:51 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-07-02 00:45:51 +0200
commitec9f41f1abf741bcb14ff14217d9686528c6eb48 (patch)
tree7ed348852d0540af840fef8306b4bb074de9d2ff /src
parentd55fb31e217adc1c1f6b5adca84b8ef6bd03ff00 (diff)
downloadrts-ec9f41f1abf741bcb14ff14217d9686528c6eb48.tar.gz
gui: allow custom add_child callback
Diffstat (limited to 'src')
-rw-r--r--src/gui/inc/gui.h1
-rw-r--r--src/gui/src/gui.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/gui/inc/gui.h b/src/gui/inc/gui.h
index 6678b1b..7198af0 100644
--- a/src/gui/inc/gui.h
+++ b/src/gui/inc/gui.h
@@ -12,6 +12,7 @@ extern "C"
struct gui_common
{
+ void (*add_child)(struct gui_common *parent, struct gui_common *child);
int (*update)(struct gui_common *, const union peripheral *,
const struct camera *);
int (*render)(const struct gui_common *);
diff --git a/src/gui/src/gui.c b/src/gui/src/gui.c
index 0a937f2..99701f1 100644
--- a/src/gui/src/gui.c
+++ b/src/gui/src/gui.c
@@ -69,6 +69,9 @@ void gui_add_child(struct gui_common *const p,
p->child = c;
c->parent = p;
+
+ if (p->add_child)
+ p->add_child(p, c);
}
int gui_update(struct gui_common *const g, const union peripheral *const p,