diff options
author | David Robillard <d@drobilla.net> | 2023-09-02 19:23:32 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2023-09-02 19:23:32 -0400 |
commit | f75ff9c2ed3ce219ac6f2ab257a61e5232e24dfa (patch) | |
tree | 36b9dcb1f875f96a3a8b52966b7533478a18ffb8 /include | |
parent | ce8a14731e78aa68b79f34396ad5dc3d7d7b8ea3 (diff) | |
download | suil-f75ff9c2ed3ce219ac6f2ab257a61e5232e24dfa.tar.gz suil-f75ff9c2ed3ce219ac6f2ab257a61e5232e24dfa.tar.bz2 suil-f75ff9c2ed3ce219ac6f2ab257a61e5232e24dfa.zip |
Arrange API into documentation groups
Diffstat (limited to 'include')
-rw-r--r-- | include/suil/suil.h | 81 |
1 files changed, 54 insertions, 27 deletions
diff --git a/include/suil/suil.h b/include/suil/suil.h index 7f7f3a7..ba55a91 100644 --- a/include/suil/suil.h +++ b/include/suil/suil.h @@ -36,27 +36,14 @@ extern "C" { #endif /** - @defgroup suil Suil + @defgroup suil Suil C API @{ */ /** - UI host descriptor. - - This contains the various functions that a plugin UI may use to communicate - with the plugin. It is passed to suil_instance_new() to provide these - functions to the UI. + @defgroup suil_callbacks Callbacks + @{ */ -typedef struct SuilHostImpl SuilHost; - -/// An instance of an LV2 plugin UI -typedef struct SuilInstanceImpl SuilInstance; - -/// Opaque pointer to a UI handle -typedef void* SuilHandle; - -/// Opaque pointer to a UI widget -typedef void* SuilWidget; /** UI controller. @@ -101,6 +88,12 @@ typedef void (*SuilTouchFunc)( // uint32_t port_index, bool grabbed); +/** + @} + @defgroup suil_library Library + @{ +*/ + /// Initialization argument typedef enum { SUIL_ARG_NONE } SuilArg; @@ -117,6 +110,37 @@ void suil_init(int* argc, char*** argv, SuilArg key, ...); /** + Check if suil can wrap a UI type. + + @param host_type_uri The URI of the desired widget type of the host, + corresponding to the `type_uri` parameter of suil_instance_new(). + + @param ui_type_uri The URI of the UI widget type. + + @return 0 if wrapping is unsupported, otherwise the quality of the wrapping + where 1 is the highest quality (direct native embedding with no wrapping) + and increasing values are of a progressively lower quality and/or stability. +*/ +SUIL_API +unsigned +suil_ui_supported(const char* host_type_uri, const char* ui_type_uri); + +/** + @} + @defgroup suil_host Host + @{ +*/ + +/** + UI host descriptor. + + This contains the various functions that a plugin UI may use to communicate + with the plugin. It is passed to suil_instance_new() to provide these + functions to the UI. +*/ +typedef struct SuilHostImpl SuilHost; + +/** Create a new UI host descriptor. @param write_func Function to send a value to a plugin port. @@ -148,20 +172,22 @@ void suil_host_free(SuilHost* host); /** - Check if suil can wrap a UI type. + @} +*/ - @param host_type_uri The URI of the desired widget type of the host, - corresponding to the `type_uri` parameter of suil_instance_new(). +/** + @defgroup suil_instance Instance + @{ +*/ - @param ui_type_uri The URI of the UI widget type. +/// An instance of an LV2 plugin UI +typedef struct SuilInstanceImpl SuilInstance; - @return 0 if wrapping is unsupported, otherwise the quality of the wrapping - where 1 is the highest quality (direct native embedding with no wrapping) - and increasing values are of a progressively lower quality and/or stability. -*/ -SUIL_API -unsigned -suil_ui_supported(const char* host_type_uri, const char* ui_type_uri); +/// Opaque pointer to a UI handle +typedef void* SuilHandle; + +/// Opaque pointer to a UI widget +typedef void* SuilWidget; /** Instantiate a UI for an LV2 plugin. @@ -266,6 +292,7 @@ suil_instance_extension_data(SuilInstance* instance, const char* uri); /** @} + @} */ #ifdef __cplusplus |