FIRE-9630: Vignette UI controls

Cinders 2013-04-03 15:31:36 -06:00
parent 91d122e8cb
commit 803e8afb47
3 changed files with 289 additions and 71 deletions

View File

@ -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));
// <FS:CR> FIRE-9630 - Vignette UI controls
getChild<LLSpinCtrl>("VignetteSpinnerX")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onChangeVignetteSpinnerX, this));
getChild<LLSlider>("VignetteSliderX")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onChangeVignetteX, this));
getChild<LLButton>("Reset_VignetteX")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onClickResetVignetteX, this));
getChild<LLSpinCtrl>("VignetteSpinnerY")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onChangeVignetteSpinnerY, this));
getChild<LLSlider>("VignetteSliderY")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onChangeVignetteY, this));
getChild<LLButton>("Reset_VignetteY")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onClickResetVignetteY, this));
getChild<LLSpinCtrl>("VignetteSpinnerZ")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onChangeVignetteSpinnerZ, this));
getChild<LLSlider>("VignetteSliderZ")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onChangeVignetteZ, this));
getChild<LLButton>("Reset_VignetteZ")->setCommitCallback(boost::bind(&FloaterQuickPrefs::onClickResetVignetteZ, this));
// </FS:CR>
}
else
{
@ -293,6 +304,14 @@ BOOL FloaterQuickPrefs::postBuild()
mCtrlUseDoF = getChild<LLCheckBoxCtrl>("UseDepthofField");
mCtrlShadowDetail = getChild<LLComboBox>("ShadowDetail");
mCtrlReflectionDetail = getChild<LLComboBox>("Reflections");
// <FS:CR> FIRE-9630 - Vignette UI controls
mSpinnerVignetteX = getChild<LLSpinCtrl>("VignetteSpinnerX");
mSpinnerVignetteY = getChild<LLSpinCtrl>("VignetteSpinnerY");
mSpinnerVignetteZ = getChild<LLSpinCtrl>("VignetteSpinnerZ");
mSliderVignetteX = getChild<LLSlider>("VignetteSliderX");
mSliderVignetteY = getChild<LLSlider>("VignetteSliderY");
mSliderVignetteZ = getChild<LLSlider>("VignetteSliderZ");
// </FS:CR>
refreshSettings();
}
@ -790,6 +809,19 @@ void FloaterQuickPrefs::refreshSettings()
mCtrlDeferred->setEnabled(FALSE);
mCtrlDeferred->setValue(FALSE);
}
// <FS:CR> 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]);
}
// </FS:CR>
}
void FloaterQuickPrefs::updateRlvRestrictions(ERlvBehaviour behavior, ERlvParamType type)
@ -1557,3 +1589,83 @@ void FloaterQuickPrefs::onClose(bool app_quitting)
gSavedSettings.setBOOL("QuickPrefsEditMode",FALSE);
}
// </FS:Zi>
// <FS:CR> 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);
}
// </FS:CR>

View File

@ -121,6 +121,26 @@ private:
LLCheckBoxCtrl* mCtrlUseDoF;
LLComboBox* mCtrlShadowDetail;
LLComboBox* mCtrlReflectionDetail;
// <FS:CR> 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();
// </FS:CR>
// <FS:Zi> Dynamic quick prefs
public:

View File

@ -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">
<text
@ -3013,58 +3013,6 @@
function="ResetControl"
parameter="WLSkyDetail"/>
</button>
<text
name="T_Av_Floor_Offset"
follows="left|top"
layout="topleft"
left="5"
top_pad="5"
tool_tip="Controls how far above or below the floor your avatar stands. Helpful if your find yourself above or below the floor."
width="110">
Avatar Floor Offset
</text>
<slider_bar
name="SB_Av_Floor_Offset"
can_edit_text="true"
control_name="AvatarZOffset"
follows="left|top"
height="16"
increment=".001"
layout="topleft"
left_pad="0"
min_val="-2"
max_val="2"
top_delta="-2"
width="77"/>
<spinner
name="S_Av_Floor_Offset"
can_edit_text="true"
control_name="AvatarZOffset"
top_delta="-3"
label_width="0"
left_pad="3"
decimal_digits="2"
follows="left|top"
max_val="2"
min_val="-2"
width="53"
increment=".01"
border_visible="false"/>
<button
follows="left|top"
name="Reset_Av_Floor_Offset"
height="22"
label="D"
layout="topleft"
left_pad="0"
top_delta="0"
width="20"
tool_tip="Reset to the default value.">
<button.commit_callback
function="ResetPerAccountControl"
parameter="AvatarZOffset"/>
</button>
</panel>
<!--view_border
@ -3076,12 +3024,163 @@
name="horiz_separator4"
top_pad="5"
width="260"/-->
<panel
name="P_Vignetting"
follows="top|left"
layout="topleft"
top_pad="3"
left="4"
width="275"
height="70"
border_visible="true"
border_thickness="1"
background_visible="true">
<text
name="T_VignetteX"
follows="left|top"
layout="topleft"
left="5"
top_pad="10"
tool_tip=""
width="80">
Vig. Amount
</text>
<slider_bar
name="VignetteSliderX"
can_edit_text="true"
follows="left|top"
height="16"
increment="0.05"
layout="topleft"
left_pad="-10"
min_val="0.0"
max_val="1.0"
initial_value="0"
top_delta="-2"
width="117"/>
<spinner
name="VignetteSpinnerX"
can_edit_text="true"
top_delta="-3"
label_width="0"
left_pad="3"
decimal_digits="3"
follows="left|top"
max_val="1.0"
min_val="0.0"
width="53"
increment="0.05"
border_visible="false"/>
<button
follows="left|top"
name="Reset_VignetteX"
height="22"
label="D"
layout="topleft"
left_pad="0"
top_delta="0"
width="20"
tool_tip="Reset to the default value." />
<text
name="T_VignetteY"
follows="left|top"
layout="topleft"
left="5"
top_pad="5"
tool_tip=""
width="80">
Vig. Power
</text>
<slider_bar
name="VignetteSliderY"
can_edit_text="true"
follows="left|top"
height="16"
increment="0.1"
layout="topleft"
left_pad="-10"
min_val="0.0"
max_val="32.0"
initial_value="1"
top_delta="-2"
width="117"/>
<spinner
name="VignetteSpinnerY"
can_edit_text="true"
top_delta="-3"
label_width="0"
left_pad="3"
decimal_digits="2"
follows="left|top"
max_val="32.0"
min_val="0.0"
width="53"
increment="0.1"
border_visible="false"/>
<button
follows="left|top"
name="Reset_VignetteY"
height="22"
label="D"
layout="topleft"
left_pad="0"
top_delta="0"
width="20"
tool_tip="Reset to the default value." />
<text
name="T_VignetteZ"
follows="left|top"
layout="topleft"
left="5"
top_pad="5"
tool_tip=""
width="80">
Vig. Multiply
</text>
<slider_bar
name="VignetteSliderZ"
can_edit_text="true"
follows="left|top"
height="16"
increment="0.1"
layout="topleft"
left_pad="-10"
min_val="0.0"
max_val="8.0"
initial_value="1"
top_delta="-2"
width="117"/>
<spinner
name="VignetteSpinnerZ"
can_edit_text="true"
top_delta="-3"
label_width="0"
left_pad="3"
decimal_digits="3"
follows="left|top"
max_val="8.0"
min_val="0.0"
width="53"
increment="0.1"
border_visible="false"/>
<button
follows="left|top"
name="Reset_VignetteZ"
height="22"
label="D"
layout="topleft"
left_pad="0"
top_delta="0"
width="20"
tool_tip="Reset to the default value." />
</panel>
<panel
name="P_Render"
follows="top|left"
layout="topleft"
top_pad="5"
top_pad="3"
left="4"
width="275"
height="100"
@ -3164,10 +3263,10 @@
name="P_Anti-aliasing"
follows="top|left"
layout="topleft"
top_pad="5"
top_pad="3"
left="4"
width="275"
height="35"
height="60"
border_visible="true"
border_thickness="1"
background_visible="true">
@ -3213,25 +3312,12 @@
name="16x"
value="16"/>
</combo_box>
</panel>
<panel
name="P_Texture_Bumpiness"
follows="top|left"
layout="topleft"
top_pad="5"
left="4"
width="275"
height="55"
border_visible="true"
border_thickness="1"
background_visible="true">
<text
name="T_Texture_Bumpiness"
follows="left|top"
height="15"
left="10"
top_pad="25"
top_pad="12"
width="110"
layout="topleft"
tool_tip="Controls the strength and resolution of normal and bump maps.">