diff options
-rw-r--r-- | ext/ui-resize.lv2/manifest.ttl | 7 | ||||
-rw-r--r-- | ext/ui-resize.lv2/ui-resize.h | 58 | ||||
-rw-r--r-- | ext/ui-resize.lv2/ui-resize.ttl | 42 |
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> +""" . |