UI: Allow centering/stretching for groups items
parent
448399d5ea
commit
90327563e8
|
@ -5677,6 +5677,9 @@ static bool CenterAlignSelectedItems(obs_scene_t *scene, obs_sceneitem_t *item,
|
||||||
{
|
{
|
||||||
obs_bounds_type boundsType = *reinterpret_cast<obs_bounds_type*>(param);
|
obs_bounds_type boundsType = *reinterpret_cast<obs_bounds_type*>(param);
|
||||||
|
|
||||||
|
if (obs_sceneitem_is_group(item))
|
||||||
|
obs_sceneitem_group_enum_items(item, CenterAlignSelectedItems,
|
||||||
|
param);
|
||||||
if (!obs_sceneitem_selected(item))
|
if (!obs_sceneitem_selected(item))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
@ -5714,13 +5717,13 @@ void OBSBasic::on_actionStretchToScreen_triggered()
|
||||||
&boundsType);
|
&boundsType);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OBSBasic::on_actionCenterToScreen_triggered()
|
static bool center_to_scene(obs_scene_t *, obs_sceneitem_t *item, void *)
|
||||||
{
|
{
|
||||||
auto func = [] (obs_scene_t *scene, obs_sceneitem_t *item, void *param)
|
|
||||||
{
|
|
||||||
vec3 tl, br, itemCenter, screenCenter, offset;
|
vec3 tl, br, itemCenter, screenCenter, offset;
|
||||||
obs_video_info ovi;
|
obs_video_info ovi;
|
||||||
|
|
||||||
|
if (obs_sceneitem_is_group(item))
|
||||||
|
obs_sceneitem_group_enum_items(item, center_to_scene, nullptr);
|
||||||
if (!obs_sceneitem_selected(item))
|
if (!obs_sceneitem_selected(item))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
@ -5740,13 +5743,12 @@ void OBSBasic::on_actionCenterToScreen_triggered()
|
||||||
vec3_add(&tl, &tl, &offset);
|
vec3_add(&tl, &tl, &offset);
|
||||||
|
|
||||||
SetItemTL(item, tl);
|
SetItemTL(item, tl);
|
||||||
|
|
||||||
UNUSED_PARAMETER(scene);
|
|
||||||
UNUSED_PARAMETER(param);
|
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
obs_scene_enum_items(GetCurrentScene(), func, nullptr);
|
void OBSBasic::on_actionCenterToScreen_triggered()
|
||||||
|
{
|
||||||
|
obs_scene_enum_items(GetCurrentScene(), center_to_scene, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OBSBasic::EnablePreviewDisplay(bool enable)
|
void OBSBasic::EnablePreviewDisplay(bool enable)
|
||||||
|
|
Loading…
Reference in New Issue