libobs: Implement flags for properties

OBS_PROPERTIES_DEFER_UPDATE: Makes it so the properties are not updated
until editing of the properties is complete.
master
jp9000 2015-03-19 13:42:59 -07:00 committed by John Bradley
parent c539c16ecc
commit ef4ee1fd1a
2 changed files with 18 additions and 0 deletions

View File

@ -105,6 +105,7 @@ struct obs_property {
struct obs_properties {
void *param;
void (*destroy)(void *param);
uint32_t flags;
struct obs_property *first_property;
struct obs_property **last;
@ -131,6 +132,17 @@ void obs_properties_set_param(obs_properties_t *props,
props->destroy = destroy;
}
void obs_properties_set_flags(obs_properties_t *props, uint32_t flags)
{
if (props)
props->flags = flags;
}
uint32_t obs_properties_get_flags(obs_properties_t *props)
{
return props ? props->flags : 0;
}
void *obs_properties_get_param(obs_properties_t *props)
{
return props ? props->param : NULL;

View File

@ -38,6 +38,9 @@
extern "C" {
#endif
/** Only update when the user presses OK or Apply */
#define OBS_PROPERTIES_DEFER_UPDATE (1<<0)
enum obs_property_type {
OBS_PROPERTY_INVALID,
OBS_PROPERTY_BOOL,
@ -92,6 +95,9 @@ EXPORT obs_properties_t *obs_properties_create_param(void *param,
void (*destroy)(void *param));
EXPORT void obs_properties_destroy(obs_properties_t *props);
EXPORT void obs_properties_set_flags(obs_properties_t *props, uint32_t flags);
EXPORT uint32_t obs_properties_get_flags(obs_properties_t *props);
EXPORT void obs_properties_set_param(obs_properties_t *props,
void *param, void (*destroy)(void *param));
EXPORT void *obs_properties_get_param(obs_properties_t *props);