summaryrefslogtreecommitdiffstats
path: root/src/instance.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-08-03 01:57:22 +0000
committerDavid Robillard <d@drobilla.net>2012-08-03 01:57:22 +0000
commiteb33777e6ab2f9ebd5f398bb9c9a9ae92ac3531d (patch)
tree393f9b51f56cced6f7a09186178328d16cdee62f /src/instance.c
parent0bb37e7451f42fe82b28145455a71c56c92174b8 (diff)
downloadsuil-eb33777e6ab2f9ebd5f398bb9c9a9ae92ac3531d.tar.gz
suil-eb33777e6ab2f9ebd5f398bb9c9a9ae92ac3531d.tar.bz2
suil-eb33777e6ab2f9ebd5f398bb9c9a9ae92ac3531d.zip
Support for embedding native Windows UIs in Gtk2.
git-svn-id: http://svn.drobilla.net/lad/trunk/suil@4603 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/instance.c')
-rw-r--r--src/instance.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/instance.c b/src/instance.c
index 5b53328..951b12f 100644
--- a/src/instance.c
+++ b/src/instance.c
@@ -26,6 +26,7 @@
#define GTK2_UI_URI LV2_UI__GtkUI
#define QT4_UI_URI LV2_UI__Qt4UI
#define X11_UI_URI LV2_UI__X11UI
+#define WIN_UI_URI LV2_UI_PREFIX "WindowsUI"
SUIL_API
unsigned
@@ -45,6 +46,8 @@ suil_ui_supported(const char* container_type_uri,
&& !strcmp(ui_type_uri, GTK2_UI_URI))
|| (!strcmp(container_type_uri, GTK2_UI_URI)
&& !strcmp(ui_type_uri, X11_UI_URI))
+ || (!strcmp(container_type_uri, GTK2_UI_URI)
+ && !strcmp(ui_type_uri, WIN_UI_URI))
|| (!strcmp(container_type_uri, QT4_UI_URI)
&& !strcmp(ui_type_uri, X11_UI_URI))) {
return SUIL_WRAPPING_EMBEDDED;
@@ -67,16 +70,19 @@ open_wrapper(SuilHost* host,
const char* module_name = NULL;
if (!strcmp(container_type_uri, QT4_UI_URI)
&& !strcmp(ui_type_uri, GTK2_UI_URI)) {
- module_name = "libsuil_gtk2_in_qt4";
+ module_name = "suil_gtk2_in_qt4";
} else if (!strcmp(container_type_uri, GTK2_UI_URI)
&& !strcmp(ui_type_uri, QT4_UI_URI)) {
- module_name = "libsuil_qt4_in_gtk2";
+ module_name = "suil_qt4_in_gtk2";
} else if (!strcmp(container_type_uri, GTK2_UI_URI)
&& !strcmp(ui_type_uri, X11_UI_URI)) {
- module_name = "libsuil_x11_in_gtk2";
+ module_name = "suil_x11_in_gtk2";
+ } else if (!strcmp(container_type_uri, GTK2_UI_URI)
+ && !strcmp(ui_type_uri, WIN_UI_URI)) {
+ module_name = "suil_win_in_gtk2";
} else if (!strcmp(container_type_uri, QT4_UI_URI)
&& !strcmp(ui_type_uri, X11_UI_URI)) {
- module_name = "libsuil_x11_in_qt4";
+ module_name = "suil_x11_in_qt4";
}
if (!module_name) {
@@ -94,8 +100,9 @@ open_wrapper(SuilHost* host,
+ 2;
char* const path = calloc(path_len, 1);
- snprintf(path, path_len, "%s%s%s%s",
- mod_dir, SUIL_DIR_SEP, module_name, SUIL_MODULE_EXT);
+ snprintf(path, path_len, "%s%s%s%s%s",
+ mod_dir, SUIL_DIR_SEP,
+ SUIL_MODULE_PREFIX, module_name, SUIL_MODULE_EXT);
// Open wrap module
dlerror();