implement scene adding callbacks, make a few API tweaks
This commit is contained in:
@@ -97,7 +97,7 @@ static const struct source_info scene_info =
|
||||
.getheight = scene_getsize,
|
||||
};
|
||||
|
||||
obs_scene_t obs_scene_create(void)
|
||||
obs_scene_t obs_scene_create(const char *name)
|
||||
{
|
||||
struct obs_source *source = bmalloc(sizeof(struct obs_source));
|
||||
struct obs_scene *scene = scene_create(NULL, source);
|
||||
@@ -110,6 +110,9 @@ obs_scene_t obs_scene_create(void)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
source->name = bstrdup(name);
|
||||
source->type = SOURCE_SCENE;
|
||||
|
||||
scene->source = source;
|
||||
obs_source_init(source, NULL, &scene_info);
|
||||
memcpy(&source->callbacks, &scene_info, sizeof(struct source_info));
|
||||
@@ -127,6 +130,14 @@ obs_source_t obs_scene_getsource(obs_scene_t scene)
|
||||
return scene->source;
|
||||
}
|
||||
|
||||
obs_scene_t obs_scene_fromsource(obs_source_t source)
|
||||
{
|
||||
if (source->type != SOURCE_SCENE)
|
||||
return NULL;
|
||||
|
||||
return source->data;
|
||||
}
|
||||
|
||||
obs_sceneitem_t obs_scene_add(obs_scene_t scene, obs_source_t source)
|
||||
{
|
||||
struct obs_scene_item *item = bmalloc(sizeof(struct obs_scene_item));
|
||||
|
Reference in New Issue
Block a user