diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini index 0d2570f0e..6fbf4fcd4 100644 --- a/UI/data/locale/en-US.ini +++ b/UI/data/locale/en-US.ini @@ -684,6 +684,7 @@ Basic.TransformWindow.BoundsAlignment="Alignment in Bounding Box" Basic.TransformWindow.Bounds="Bounding Box Size" Basic.TransformWindow.BoundsWidth="Bounding Box Width" Basic.TransformWindow.BoundsHeight="Bounding Box Height" +Basic.TransformWindow.CropToBounds="Crop to Bounding Box" Basic.TransformWindow.Crop="Crop" Basic.TransformWindow.CropLeft="Crop Left" Basic.TransformWindow.CropRight="Crop Right" diff --git a/UI/forms/OBSBasicTransform.ui b/UI/forms/OBSBasicTransform.ui index 37be8b269..56a36a0a4 100644 --- a/UI/forms/OBSBasicTransform.ui +++ b/UI/forms/OBSBasicTransform.ui @@ -602,6 +602,16 @@ + + + Basic.TransformWindow.BoundsAlignment + + + Basic.TransformWindow.CropToBounds + + + + Qt::Vertical @@ -614,7 +624,7 @@ - + Basic.TransformWindow.Crop @@ -624,7 +634,7 @@ - + diff --git a/UI/window-basic-transform.cpp b/UI/window-basic-transform.cpp index f13aaeb0e..bc84bc900 100644 --- a/UI/window-basic-transform.cpp +++ b/UI/window-basic-transform.cpp @@ -71,6 +71,8 @@ OBSBasicTransform::OBSBasicTransform(OBSSceneItem item, OBSBasic *parent) &OBSBasicTransform::OnCropChanged); HookWidget(ui->cropBottom, ISCROLL_CHANGED, &OBSBasicTransform::OnCropChanged); + HookWidget(ui->cropToBounds, &QCheckBox::stateChanged, + &OBSBasicTransform::OnControlChanged); ui->buttonBox->button(QDialogButtonBox::Close)->setDefault(true); @@ -297,6 +299,7 @@ void OBSBasicTransform::RefreshControls() ui->boundsAlign->setCurrentIndex(boundsAlignIndex); ui->boundsWidth->setValue(osi.bounds.x); ui->boundsHeight->setValue(osi.bounds.y); + ui->cropToBounds->setChecked(osi.crop_to_bounds); ui->cropLeft->setValue(int(crop.left)); ui->cropRight->setValue(int(crop.right)); @@ -319,6 +322,7 @@ void OBSBasicTransform::OnBoundsType(int index) ui->boundsAlign->setEnabled(enable); ui->boundsWidth->setEnabled(enable); ui->boundsHeight->setEnabled(enable); + ui->cropToBounds->setEnabled(enable); if (!ignoreItemChange) { obs_bounds_type lastType = obs_sceneitem_get_bounds_type(item); @@ -364,6 +368,7 @@ void OBSBasicTransform::OnControlChanged() oti.bounds_alignment = listToAlign[ui->boundsAlign->currentIndex()]; oti.bounds.x = float(ui->boundsWidth->value()); oti.bounds.y = float(ui->boundsHeight->value()); + oti.crop_to_bounds = ui->cropToBounds->isChecked(); ignoreTransformSignal = true; obs_sceneitem_set_info(item, &oti);