aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ext/ui-resize.lv2/manifest.ttl7
-rw-r--r--ext/ui-resize.lv2/ui-resize.h58
-rw-r--r--ext/ui-resize.lv2/ui-resize.ttl42
3 files changed, 107 insertions, 0 deletions
diff --git a/ext/ui-resize.lv2/manifest.ttl b/ext/ui-resize.lv2/manifest.ttl
new file mode 100644
index 0000000..0c9ce4a
--- /dev/null
+++ b/ext/ui-resize.lv2/manifest.ttl
@@ -0,0 +1,7 @@
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<http://lv2plug.in/ns/ext/ui-resize>
+ a lv2:Specification ;
+ rdfs:seeAlso <ui-resize.ttl> .
+
diff --git a/ext/ui-resize.lv2/ui-resize.h b/ext/ui-resize.lv2/ui-resize.h
new file mode 100644
index 0000000..cf5ccc6
--- /dev/null
+++ b/ext/ui-resize.lv2/ui-resize.h
@@ -0,0 +1,58 @@
+/*
+ Copyright 2011 David Robillard <http://drobilla.net>
+
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+
+ THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#ifndef LV2_UI_RESIZE_H
+#define LV2_UI_RESIZE_H
+
+#define LV2_UI_RESIZE_URI "http://lv2plug.in/ns/ext/ui-resize"
+
+typedef void* LV2_UI_Resize_Feature_Data;
+
+/**
+ UI Resize Feature.
+
+ This structure may be used in two ways: as a feature passed by the host
+ (e.g. via the features parameter of LV2UI_Descriptor::instantiate()) or
+ as a feature exposed by a UI (e.g. via LV2UI_Descriptor::extension_data()).
+
+ In both cases, the URI to be used is
+ http://lv2plug.in/ns/ext/ui-resize#UIResize
+*/
+typedef struct {
+
+ LV2_UI_Resize_Feature_Data data;
+
+ /**
+ Request or notify a size change.
+
+ When this struct is provided by the host, the UI may call this
+ function to notify the host that a size change is desired, or notify
+ the host of the initial size of the UI.
+
+ When this struct is provided by the plugin, the host may call this
+ function in the UI thread to notify the UI that it should change its
+ size to the given dimensions.
+
+ @return 0 on success.
+ */
+ int (*ui_resize)(LV2_UI_Resize_Feature_Data data,
+ int width,
+ int height);
+
+} LV2_UI_Resize_Feature;
+
+#endif /* LV2_UI_RESIZE_H */
+
diff --git a/ext/ui-resize.lv2/ui-resize.ttl b/ext/ui-resize.lv2/ui-resize.ttl
new file mode 100644
index 0000000..83c4206
--- /dev/null
+++ b/ext/ui-resize.lv2/ui-resize.ttl
@@ -0,0 +1,42 @@
+# LV2 UI Resize Extension
+# Copyright 2011 David Robillard <d@drobilla.net>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+@prefix uirsz: <http://lv2plug.in/ns/ext/ui-resize#> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+
+<http://lv2plug.in/ns/ext/ui-resize>
+ a lv2:Specification ;
+ doap:name "LV2 UI Resize Extension" ;
+ doap:license <http://opensource.org/licenses/isc-license> ;
+ lv2:documentation """
+<p>An extension that allows LV2 plugin UIs to notify the host about size
+changes, or for the host to notify plugin UIs about size changes.</p>
+""" .
+
+uirsz:UIResize
+ a lv2:Feature ;
+ lv2:documentation """
+<p>A feature that allows the UI to notify the host about its current size, or
+request a size change. This feature corresponds to the LV2_UI_Resize_Feature
+struct, which should be passed with the feature URI
+<code>http://lv2plug.in/ns/ext/ui-resize#UIResize</code>. This struct may also
+be provided by the UI as extension data using the same URI, in which case it
+is used by the host to request that the UI change its size.</p>
+""" .