summaryrefslogtreecommitdiffstats
path: root/src/module.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-04-22 02:38:34 +0000
committerDavid Robillard <d@drobilla.net>2012-04-22 02:38:34 +0000
commit550044fd2f09d8b1345564ab88e5156e1e5cafc7 (patch)
tree8c1d9b4264c50ec379da829b449580702a40ff83 /src/module.c
parent7f21ba930fd06a3a0a728c7aa89b44af415c7ae1 (diff)
downloadganv-550044fd2f09d8b1345564ab88e5156e1e5cafc7.tar.gz
ganv-550044fd2f09d8b1345564ab88e5156e1e5cafc7.tar.bz2
ganv-550044fd2f09d8b1345564ab88e5156e1e5cafc7.zip
Fix various problems with embedding plugin GUIs.
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4229 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/module.c')
-rw-r--r--src/module.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/module.c b/src/module.c
index 36d45a2..6cfcde9 100644
--- a/src/module.c
+++ b/src/module.c
@@ -648,6 +648,10 @@ ganv_module_update(GanvItem* item, int flags)
FOREACH_PORT(module->impl->ports, p) {
ganv_item_invoke_update(GANV_ITEM(*p), flags);
}
+
+ if (module->impl->embed_item) {
+ ganv_item_invoke_update(GANV_ITEM(module->impl->embed_item), flags);
+ }
}
static void
@@ -675,6 +679,12 @@ ganv_module_draw(GanvItem* item,
GANV_ITEM_GET_CLASS(GANV_ITEM(*p))->draw(
GANV_ITEM(*p), cr, cx, cy, width, height);
}
+
+ // Draw embed item
+ if (module->impl->embed_item) {
+ GANV_ITEM_GET_CLASS(module->impl->embed_item)->draw(
+ module->impl->embed_item, cr, cx, cy, width, height);
+ }
}
static void
@@ -687,6 +697,9 @@ ganv_module_move_to(GanvNode* node,
FOREACH_PORT(module->impl->ports, p) {
ganv_node_move(GANV_NODE(*p), 0.0, 0.0);
}
+ if (module->impl->embed_item) {
+ ganv_item_move(GANV_ITEM(module->impl->embed_item), 0.0, 0.0);
+ }
}
static void
@@ -699,6 +712,9 @@ ganv_module_move(GanvNode* node,
FOREACH_PORT(module->impl->ports, p) {
ganv_node_move(GANV_NODE(*p), 0.0, 0.0);
}
+ if (module->impl->embed_item) {
+ ganv_item_move(GANV_ITEM(module->impl->embed_item), 0.0, 0.0);
+ }
}
static double