From 803e8afb47698648ebfde97ac78af58fa2e8a181 Mon Sep 17 00:00:00 2001 From: Cinders Date: Wed, 3 Apr 2013 15:31:36 -0600 Subject: [PATCH] FIRE-9630: Vignette UI controls --- indra/newview/quickprefs.cpp | 112 +++++++++ indra/newview/quickprefs.h | 20 ++ .../default/xui/en/floater_phototools.xml | 228 ++++++++++++------ 3 files changed, 289 insertions(+), 71 deletions(-) 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 + + + +