diff --git a/indra/newview/quickprefs.cpp b/indra/newview/quickprefs.cpp
index 87ac6aa280..2af84a7904 100644
--- a/indra/newview/quickprefs.cpp
+++ b/indra/newview/quickprefs.cpp
@@ -162,6 +162,17 @@ void FloaterQuickPrefs::initCallbacks()
gSavedSettings.getControl("WindLightUseAtmosShaders")->getSignal()->connect(boost::bind(&FloaterQuickPrefs::refreshSettings, this));
gSavedSettings.getControl("RenderDeferred")->getSignal()->connect(boost::bind(&FloaterQuickPrefs::refreshSettings, this));
gSavedSettings.getControl("RenderAvatarVP")->getSignal()->connect(boost::bind(&FloaterQuickPrefs::refreshSettings, this));
+// FIRE-9630 - Vignette UI controls
+ getChild("VignetteSpinnerX")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onChangeVignetteSpinnerX, this));
+ getChild("VignetteSliderX")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onChangeVignetteX, this));
+ getChild("Reset_VignetteX")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onClickResetVignetteX, this));
+ getChild("VignetteSpinnerY")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onChangeVignetteSpinnerY, this));
+ getChild("VignetteSliderY")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onChangeVignetteY, this));
+ getChild("Reset_VignetteY")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onClickResetVignetteY, this));
+ getChild("VignetteSpinnerZ")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onChangeVignetteSpinnerZ, this));
+ getChild("VignetteSliderZ")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onChangeVignetteZ, this));
+ getChild("Reset_VignetteZ")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onClickResetVignetteZ, this));
+//
}
else
{
@@ -293,6 +304,14 @@ BOOL FloaterQuickPrefs::postBuild()
mCtrlUseDoF = getChild("UseDepthofField");
mCtrlShadowDetail = getChild("ShadowDetail");
mCtrlReflectionDetail = getChild("Reflections");
+// FIRE-9630 - Vignette UI controls
+ mSpinnerVignetteX = getChild("VignetteSpinnerX");
+ mSpinnerVignetteY = getChild("VignetteSpinnerY");
+ mSpinnerVignetteZ = getChild("VignetteSpinnerZ");
+ mSliderVignetteX = getChild("VignetteSliderX");
+ mSliderVignetteY = getChild("VignetteSliderY");
+ mSliderVignetteZ = getChild("VignetteSliderZ");
+//
refreshSettings();
}
@@ -790,6 +809,19 @@ void FloaterQuickPrefs::refreshSettings()
mCtrlDeferred->setEnabled(FALSE);
mCtrlDeferred->setValue(FALSE);
}
+
+ // FIRE-9630 - Vignette UI controls
+ if (getIsPhototools())
+ {
+ LLVector3 vignette = gSavedSettings.getVector3("FSRenderVignette");
+ mSpinnerVignetteX->setValue(vignette.mV[VX]);
+ mSpinnerVignetteY->setValue(vignette.mV[VY]);
+ mSpinnerVignetteZ->setValue(vignette.mV[VZ]);
+ mSliderVignetteX->setValue(vignette.mV[VX]);
+ mSliderVignetteY->setValue(vignette.mV[VY]);
+ mSliderVignetteZ->setValue(vignette.mV[VZ]);
+ }
+ //
}
void FloaterQuickPrefs::updateRlvRestrictions(ERlvBehaviour behavior, ERlvParamType type)
@@ -1557,3 +1589,83 @@ void FloaterQuickPrefs::onClose(bool app_quitting)
gSavedSettings.setBOOL("QuickPrefsEditMode",FALSE);
}
//
+
+// FIRE-9630 - Vignette UI callbacks
+void FloaterQuickPrefs::onChangeVignetteX()
+{
+ LLVector3 vignette = gSavedSettings.getVector3("FSRenderVignette");
+ vignette.mV[VX] = mSliderVignetteX->getValueF32();
+ mSpinnerVignetteX->setValue(vignette.mV[VX]);
+ gSavedSettings.setVector3("FSRenderVignette", vignette);
+}
+
+void FloaterQuickPrefs::onChangeVignetteY()
+{
+ LLVector3 vignette = gSavedSettings.getVector3("FSRenderVignette");
+ vignette.mV[VY] = mSliderVignetteY->getValueF32();
+ mSpinnerVignetteY->setValue(vignette.mV[VY]);
+ gSavedSettings.setVector3("FSRenderVignette", vignette);
+}
+
+void FloaterQuickPrefs::onChangeVignetteZ()
+{
+ LLVector3 vignette = gSavedSettings.getVector3("FSRenderVignette");
+ vignette.mV[VZ] = mSliderVignetteZ->getValueF32();
+ mSpinnerVignetteZ->setValue(vignette.mV[VZ]);
+ gSavedSettings.setVector3("FSRenderVignette", vignette);
+}
+
+void FloaterQuickPrefs::onChangeVignetteSpinnerX()
+{
+ LLVector3 vignette = gSavedSettings.getVector3("FSRenderVignette");
+ vignette.mV[VX] = mSpinnerVignetteX->getValueF32();
+ mSliderVignetteX->setValue(vignette.mV[VX]);
+ gSavedSettings.setVector3("FSRenderVignette", vignette);
+}
+
+void FloaterQuickPrefs::onChangeVignetteSpinnerY()
+{
+ LLVector3 vignette = gSavedSettings.getVector3("FSRenderVignette");
+ vignette.mV[VY] = mSpinnerVignetteY->getValueF32();
+ mSliderVignetteY->setValue(vignette.mV[VY]);
+ gSavedSettings.setVector3("FSRenderVignette", vignette);
+}
+
+void FloaterQuickPrefs::onChangeVignetteSpinnerZ()
+{
+ LLVector3 vignette = gSavedSettings.getVector3("FSRenderVignette");
+ vignette.mV[VZ] = mSpinnerVignetteZ->getValueF32();
+ mSliderVignetteZ->setValue(vignette.mV[VZ]);
+ gSavedSettings.setVector3("FSRenderVignette", vignette);
+}
+
+void FloaterQuickPrefs::onClickResetVignetteX()
+{
+ LLVector3 vignette = gSavedSettings.getVector3("FSRenderVignette");
+ // FIXME: Don't use a hardcoded default value for resetting to default.
+ vignette.mV[VX] = 0.0;
+ mSliderVignetteX->setValue(0);
+ mSpinnerVignetteX->setValue(0);
+ gSavedSettings.setVector3("FSRenderVignette", vignette);
+}
+
+void FloaterQuickPrefs::onClickResetVignetteY()
+{
+ LLVector3 vignette = gSavedSettings.getVector3("FSRenderVignette");
+ // FIXME: Don't use a hardcoded default value for resetting to default.
+ vignette.mV[VY] = 1.0;
+ mSliderVignetteY->setValue(1);
+ mSpinnerVignetteY->setValue(1);
+ gSavedSettings.setVector3("FSRenderVignette", vignette);
+}
+
+void FloaterQuickPrefs::onClickResetVignetteZ()
+{
+ LLVector3 vignette = gSavedSettings.getVector3("FSRenderVignette");
+ // FIXME: Don't use a hardcoded default value for resetting to default.
+ vignette.mV[VZ] = 1.0;
+ mSliderVignetteZ->setValue(1);
+ mSpinnerVignetteZ->setValue(1);
+ gSavedSettings.setVector3("FSRenderVignette", vignette);
+}
+//
diff --git a/indra/newview/quickprefs.h b/indra/newview/quickprefs.h
index a8a34405fd..cf65ebc0bf 100644
--- a/indra/newview/quickprefs.h
+++ b/indra/newview/quickprefs.h
@@ -121,6 +121,26 @@ private:
LLCheckBoxCtrl* mCtrlUseDoF;
LLComboBox* mCtrlShadowDetail;
LLComboBox* mCtrlReflectionDetail;
+
+ // FIRE-9630 Vignette UI controls
+ LLSpinCtrl* mSpinnerVignetteX;
+ LLSpinCtrl* mSpinnerVignetteY;
+ LLSpinCtrl* mSpinnerVignetteZ;
+ LLSlider* mSliderVignetteX;
+ LLSlider* mSliderVignetteY;
+ LLSlider* mSliderVignetteZ;
+
+ // Vignette UI callbacks
+ void onChangeVignetteX();
+ void onChangeVignetteY();
+ void onChangeVignetteZ();
+ void onChangeVignetteSpinnerX();
+ void onChangeVignetteSpinnerY();
+ void onChangeVignetteSpinnerZ();
+ void onClickResetVignetteX();
+ void onClickResetVignetteY();
+ void onClickResetVignetteZ();
+ //
// Dynamic quick prefs
public:
diff --git a/indra/newview/skins/default/xui/en/floater_phototools.xml b/indra/newview/skins/default/xui/en/floater_phototools.xml
index aae0062526..1a37ab6004 100644
--- a/indra/newview/skins/default/xui/en/floater_phototools.xml
+++ b/indra/newview/skins/default/xui/en/floater_phototools.xml
@@ -2436,10 +2436,10 @@
name="P_General_Settings"
follows="top|left"
layout="topleft"
- top_pad="5"
+ top_pad="3"
left="4"
width="275"
- height="275"
+ height="250"
border_visible="true"
background_visible="true">
-
-
- Avatar Floor Offset
-
-
-
-
+
+
+
+ Vig. Amount
+
+
+
+
+
+ Vig. Power
+
+
+
+
+
+ Vig. Multiply
+
+
+
+
+
@@ -3213,25 +3312,12 @@
name="16x"
value="16"/>
-
-
-