diff --git a/libobs/obs-scene.c b/libobs/obs-scene.c index 9aa3f4a59..a3ba2d806 100644 --- a/libobs/obs-scene.c +++ b/libobs/obs-scene.c @@ -2885,3 +2885,12 @@ void obs_sceneitem_group_enum_items(obs_sceneitem_t *group, if (scene) obs_scene_enum_items(scene, callback, param); } + +void obs_sceneitem_force_update_transform(obs_sceneitem_t *item) +{ + if (!item) + return; + + if (os_atomic_set_bool(&item->update_transform, false)) + update_item_transform(item, false); +} diff --git a/libobs/obs.h b/libobs/obs.h index 53bdafe28..181bd6faf 100644 --- a/libobs/obs.h +++ b/libobs/obs.h @@ -1427,6 +1427,8 @@ EXPORT void obs_sceneitem_set_scale_filter(obs_sceneitem_t *item, EXPORT enum obs_scale_type obs_sceneitem_get_scale_filter( obs_sceneitem_t *item); +EXPORT void obs_sceneitem_force_update_transform(obs_sceneitem_t *item); + EXPORT void obs_sceneitem_defer_update_begin(obs_sceneitem_t *item); EXPORT void obs_sceneitem_defer_update_end(obs_sceneitem_t *item);