aboutsummaryrefslogtreecommitdiffstats
path: root/ns/ext/ui-resize
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-11-20 23:08:57 +0000
committerDavid Robillard <d@drobilla.net>2011-11-20 23:08:57 +0000
commit725d4a404b838da6b67d9da66228a1125bddef57 (patch)
treea1daab3d767c85b1b67ff3a9eb60d54721b2e5fc /ns/ext/ui-resize
parent5ae0165d6d0420e95e22c1451e319b9e83398c28 (diff)
downloadlv2-725d4a404b838da6b67d9da66228a1125bddef57.tar.xz
Lay out repository structure to match include and URI structure.
Treat lv2core like all the other specifications in gendoc.py.
Diffstat (limited to 'ns/ext/ui-resize')
l---------ns/ext/ui-resize/ext.pc.in1
-rw-r--r--ns/ext/ui-resize/manifest.ttl9
-rw-r--r--ns/ext/ui-resize/ui-resize.h58
-rw-r--r--ns/ext/ui-resize/ui-resize.ttl43
l---------ns/ext/ui-resize/waf1
l---------ns/ext/ui-resize/wscript1
6 files changed, 113 insertions, 0 deletions
diff --git a/ns/ext/ui-resize/ext.pc.in b/ns/ext/ui-resize/ext.pc.in
new file mode 120000
index 0000000..1cdad2a
--- /dev/null
+++ b/ns/ext/ui-resize/ext.pc.in
@@ -0,0 +1 @@
+../../../ext.pc.in \ No newline at end of file
diff --git a/ns/ext/ui-resize/manifest.ttl b/ns/ext/ui-resize/manifest.ttl
new file mode 100644
index 0000000..ca5cdf9
--- /dev/null
+++ b/ns/ext/ui-resize/manifest.ttl
@@ -0,0 +1,9 @@
+@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 ;
+ lv2:minorVersion 0 ;
+ lv2:microVersion 1 ;
+ rdfs:seeAlso <ui-resize.ttl> .
+
diff --git a/ns/ext/ui-resize/ui-resize.h b/ns/ext/ui-resize/ui-resize.h
new file mode 100644
index 0000000..cf5ccc6
--- /dev/null
+++ b/ns/ext/ui-resize/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/ns/ext/ui-resize/ui-resize.ttl b/ns/ext/ui-resize/ui-resize.ttl
new file mode 100644
index 0000000..5e2a5a8
--- /dev/null
+++ b/ns/ext/ui-resize/ui-resize.ttl
@@ -0,0 +1,43 @@
+# 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:shortdesc "A feature for self-resizing plugin UIs." ;
+ 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>
+""" .
diff --git a/ns/ext/ui-resize/waf b/ns/ext/ui-resize/waf
new file mode 120000
index 0000000..917d5c5
--- /dev/null
+++ b/ns/ext/ui-resize/waf
@@ -0,0 +1 @@
+../../../waf \ No newline at end of file
diff --git a/ns/ext/ui-resize/wscript b/ns/ext/ui-resize/wscript
new file mode 120000
index 0000000..cf8cbae
--- /dev/null
+++ b/ns/ext/ui-resize/wscript
@@ -0,0 +1 @@
+../../../ext.wscript \ No newline at end of file