diff options
author | David Robillard <d@drobilla.net> | 2012-04-22 02:38:34 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-04-22 02:38:34 +0000 |
commit | 550044fd2f09d8b1345564ab88e5156e1e5cafc7 (patch) | |
tree | 8c1d9b4264c50ec379da829b449580702a40ff83 /src/module.c | |
parent | 7f21ba930fd06a3a0a728c7aa89b44af415c7ae1 (diff) | |
download | ganv-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.c | 16 |
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 |