diff options
-rw-r--r-- | indra/newview/CMakeLists.txt | 2 | ||||
-rw-r--r-- | indra/newview/llenvadapters.h | 12 | ||||
-rw-r--r-- | indra/newview/llfloatereditsky.cpp | 65 | ||||
-rw-r--r-- | indra/newview/llfloatereditsky.h | 3 | ||||
-rw-r--r-- | indra/newview/llfloatereditwater.cpp | 2 | ||||
-rw-r--r-- | indra/newview/lljoystickbutton.cpp | 57 | ||||
-rw-r--r-- | indra/newview/lljoystickbutton.h | 13 | ||||
-rw-r--r-- | indra/newview/llsettingsdaycycle.cpp | 113 | ||||
-rw-r--r-- | indra/newview/llsettingsdaycycle.h | 66 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_edit_sky_preset.xml | 31 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/widgets/joystick_quat.xml | 7 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/widgets/joystick_rotate.xml | 4 |
12 files changed, 342 insertions, 33 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index b46e0971e2..8cb029a2be 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -536,6 +536,7 @@ set(viewer_SOURCE_FILES llsechandler_basic.cpp llselectmgr.cpp llsettingsbase.cpp + llsettingsdaycycle.cpp llsettingssky.cpp llsettingswater.cpp llshareavatarhandler.cpp @@ -1153,6 +1154,7 @@ set(viewer_HEADER_FILES llsechandler_basic.h llselectmgr.h llsettingsbase.h + llsettingsdaycycle.h llsettingssky.h llsettingswater.h llsidepanelappearance.h diff --git a/indra/newview/llenvadapters.h b/indra/newview/llenvadapters.h index 3241e43191..8b93bbbe9f 100644 --- a/indra/newview/llenvadapters.h +++ b/indra/newview/llenvadapters.h @@ -51,18 +51,22 @@ public: mIsBlueHorizonOrDensity = (mSliderName == "WLBlueHorizon" || mSliderName == "WLBlueDensity"); } - inline WLColorControl & operator = (const LLColor4 & val) + inline void setColor4(const LLColor4 & val) + { + mColor = val; + } + + inline void setColor3(const LLColor3 & val) { mColor = val; - return *this; } - inline operator LLColor4 (void) const + inline LLColor4 getColor4() const { return mColor; } - inline operator LLColor3 (void) const + inline LLColor3 getColor3(void) const { return vec4to3(mColor); } diff --git a/indra/newview/llfloatereditsky.cpp b/indra/newview/llfloatereditsky.cpp index 40f86e3778..bd83bdd9c5 100644 --- a/indra/newview/llfloatereditsky.cpp +++ b/indra/newview/llfloatereditsky.cpp @@ -40,6 +40,7 @@ #include "llsliderctrl.h" #include "lltabcontainer.h" #include "lltimectrl.h" +#include "lljoystickbutton.h" // newview #include "llagent.h" @@ -88,8 +89,8 @@ BOOL LLFloaterEditSky::postBuild() initCallbacks(); - // Create the sun position scrubber on the slider. - getChild<LLMultiSliderCtrl>("WLSunPos")->addSlider(12.f); +// // Create the sun position scrubber on the slider. +// getChild<LLMultiSliderCtrl>("WLSunPos")->addSlider(12.f); return TRUE; } @@ -175,9 +176,11 @@ void LLFloaterEditSky::initCallbacks(void) getChild<LLUICtrl>("WLAmbient")->setCommitCallback(boost::bind(&LLFloaterEditSky::onColorControlMoved, this, _1, &mSkyAdapter->mAmbient)); // time of day - getChild<LLUICtrl>("WLSunPos")->setCommitCallback(boost::bind(&LLFloaterEditSky::onSunMoved, this, _1, &mSkyAdapter->mLightnorm)); // multi-slider - getChild<LLTimeCtrl>("WLDayTime")->setCommitCallback(boost::bind(&LLFloaterEditSky::onTimeChanged, this)); // time ctrl - getChild<LLUICtrl>("WLEastAngle")->setCommitCallback(boost::bind(&LLFloaterEditSky::onSunMoved, this, _1, &mSkyAdapter->mLightnorm)); +// getChild<LLUICtrl>("WLSunPos")->setCommitCallback(boost::bind(&LLFloaterEditSky::onSunMoved, this, _1, &mSkyAdapter->mLightnorm)); // multi-slider +// getChild<LLTimeCtrl>("WLDayTime")->setCommitCallback(boost::bind(&LLFloaterEditSky::onTimeChanged, this)); // time ctrl +// getChild<LLUICtrl>("WLEastAngle")->setCommitCallback(boost::bind(&LLFloaterEditSky::onSunMoved, this, _1, &mSkyAdapter->mLightnorm)); + getChild<LLJoystickQuaternion>("WLSunRotation")->setCommitCallback(boost::bind(&LLFloaterEditSky::onSunRotationChanged, this)); + getChild<LLJoystickQuaternion>("WLMoonRotation")->setCommitCallback(boost::bind(&LLFloaterEditSky::onMoonRotationChanged, this)); // Clouds @@ -215,7 +218,7 @@ void LLFloaterEditSky::syncControls() // blue horizon - mSkyAdapter->mBlueHorizon = psky->getBlueHorizon(); + mSkyAdapter->mBlueHorizon.setColor3( psky->getBlueHorizon() ); setColorSwatch("WLBlueHorizon", mSkyAdapter->mBlueHorizon, WL_BLUE_HORIZON_DENSITY_SCALE); // haze density, horizon, mult, and altitude @@ -229,45 +232,47 @@ void LLFloaterEditSky::syncControls() childSetValue("WLMaxAltitude", (F32) mSkyAdapter->mMaxAlt); // blue density - mSkyAdapter->mBlueDensity = psky->getBlueDensity(); + mSkyAdapter->mBlueDensity.setColor3( psky->getBlueDensity() ); setColorSwatch("WLBlueDensity", mSkyAdapter->mBlueDensity, WL_BLUE_HORIZON_DENSITY_SCALE); // Lighting // sunlight - mSkyAdapter->mSunlight = psky->getSunlightColor(); + mSkyAdapter->mSunlight.setColor3( psky->getSunlightColor() ); setColorSwatch("WLSunlight", mSkyAdapter->mSunlight, WL_SUN_AMBIENT_SLIDER_SCALE); // glow - mSkyAdapter->mGlow = psky->getGlow(); + mSkyAdapter->mGlow.setColor3( psky->getGlow() ); childSetValue("WLGlowR", 2 - mSkyAdapter->mGlow.getRed() / 20.0f); childSetValue("WLGlowB", -mSkyAdapter->mGlow.getBlue() / 5.0f); // ambient - mSkyAdapter->mAmbient = psky->getAmbientColor(); + mSkyAdapter->mAmbient.setColor3( psky->getAmbientColor() ); setColorSwatch("WLAmbient", mSkyAdapter->mAmbient, WL_SUN_AMBIENT_SLIDER_SCALE); - LLSettingsSky::azimalt_t azal = psky->getSunRotationAzAl(); - - F32 time24 = sun_pos_to_time24(azal.second / F_TWO_PI); - getChild<LLMultiSliderCtrl>("WLSunPos")->setCurSliderValue(time24, TRUE); - getChild<LLTimeCtrl>("WLDayTime")->setTime24(time24); - childSetValue("WLEastAngle", azal.first / F_TWO_PI); +// LLSettingsSky::azimalt_t azal = psky->getSunRotationAzAl(); +// +// F32 time24 = sun_pos_to_time24(azal.second / F_TWO_PI); +// getChild<LLMultiSliderCtrl>("WLSunPos")->setCurSliderValue(time24, TRUE); +// getChild<LLTimeCtrl>("WLDayTime")->setTime24(time24); +// childSetValue("WLEastAngle", azal.first / F_TWO_PI); + getChild<LLJoystickQuaternion>("WLSunRotation")->setRotation(psky->getSunRotation()); + getChild<LLJoystickQuaternion>("WLMoonRotation")->setRotation(psky->getMoonRotation()); // Clouds // Cloud Color - mSkyAdapter->mCloudColor = psky->getCloudColor(); + mSkyAdapter->mCloudColor.setColor3( psky->getCloudColor() ); setColorSwatch("WLCloudColor", mSkyAdapter->mCloudColor, WL_CLOUD_SLIDER_SCALE); // Cloud - mSkyAdapter->mCloudMain = psky->getCloudPosDensity1(); + mSkyAdapter->mCloudMain.setColor3( psky->getCloudPosDensity1() ); childSetValue("WLCloudX", mSkyAdapter->mCloudMain.getRed()); childSetValue("WLCloudY", mSkyAdapter->mCloudMain.getGreen()); childSetValue("WLCloudDensity", mSkyAdapter->mCloudMain.getBlue()); // Cloud Detail - mSkyAdapter->mCloudDetail = psky->getCloudPosDensity2(); + mSkyAdapter->mCloudDetail.setColor3( psky->getCloudPosDensity2() ); childSetValue("WLCloudDetailX", mSkyAdapter->mCloudDetail.getRed()); childSetValue("WLCloudDetailY", mSkyAdapter->mCloudDetail.getGreen()); childSetValue("WLCloudDetailDensity", mSkyAdapter->mCloudDetail.getBlue()); @@ -307,7 +312,7 @@ void LLFloaterEditSky::syncControls() void LLFloaterEditSky::setColorSwatch(const std::string& name, const WLColorControl& from_ctrl, F32 k) { // Set the value, dividing it by <k> first. - LLColor4 color = from_ctrl; + LLColor4 color = from_ctrl.getColor4(); getChild<LLColorSwatchCtrl>(name)->set(color / k); } @@ -336,7 +341,7 @@ void LLFloaterEditSky::onColorControlMoved(LLUICtrl* ctrl, WLColorControl* color color_vec.mV[3] = color_max(color_vec); // Apply the new RGBI value. - *color_ctrl = color_vec; + color_ctrl->setColor4(color_vec); color_ctrl->update(mEditSettings); } @@ -410,7 +415,7 @@ void LLFloaterEditSky::adjustIntensity(WLColorControl *ctrl, F32 val, F32 scale) { if (ctrl->getHasSliderName()) { - LLColor4 color = static_cast<LLColor4>(*ctrl); + LLColor4 color = ctrl->getColor4(); F32 i = color_max(color) / scale; ctrl->setIntensity(i); std::string name = ctrl->getSliderName(); @@ -488,6 +493,22 @@ void LLFloaterEditSky::onTimeChanged() onSunMoved(getChild<LLUICtrl>("WLSunPos"), &(mSkyAdapter->mLightnorm)); } +void LLFloaterEditSky::onSunRotationChanged() +{ + LLJoystickQuaternion* sun_spinner = getChild<LLJoystickQuaternion>("WLSunRotation"); + LLQuaternion sunrot(sun_spinner->getRotation()); + + mEditSettings->setSunRotation(sunrot); +} + +void LLFloaterEditSky::onMoonRotationChanged() +{ + LLJoystickQuaternion* moon_spinner = getChild<LLJoystickQuaternion>("WLMoonRotation"); + LLQuaternion moonrot(moon_spinner->getRotation()); + + mEditSettings->setMoonRotation(moonrot); +} + void LLFloaterEditSky::onStarAlphaMoved(LLUICtrl* ctrl) { LLSliderCtrl* sldr_ctrl = static_cast<LLSliderCtrl*>(ctrl); diff --git a/indra/newview/llfloatereditsky.h b/indra/newview/llfloatereditsky.h index 6aec87014d..51be50a481 100644 --- a/indra/newview/llfloatereditsky.h +++ b/indra/newview/llfloatereditsky.h @@ -81,6 +81,9 @@ private: void onSunMoved(LLUICtrl* ctrl, void* userdata); void onTimeChanged(); + void onSunRotationChanged(); + void onMoonRotationChanged(); + // for handling when the star slider is moved to adjust the alpha void onStarAlphaMoved(LLUICtrl* ctrl); diff --git a/indra/newview/llfloatereditwater.cpp b/indra/newview/llfloatereditwater.cpp index 41180b5da8..b025680da1 100644 --- a/indra/newview/llfloatereditwater.cpp +++ b/indra/newview/llfloatereditwater.cpp @@ -286,7 +286,7 @@ void LLFloaterEditWater::onExpFloatControlMoved(LLUICtrl* ctrl, WLXFloatControl* void LLFloaterEditWater::onColorControlMoved(LLUICtrl* ctrl, WLColorControl* color_ctrl) { LLColorSwatchCtrl* swatch = static_cast<LLColorSwatchCtrl*>(ctrl); - *color_ctrl = swatch->get(); + color_ctrl->setColor4( swatch->get() ); color_ctrl->update(mEditSettings); } diff --git a/indra/newview/lljoystickbutton.cpp b/indra/newview/lljoystickbutton.cpp index 5b35d5c3a5..7fcd6f4361 100644 --- a/indra/newview/lljoystickbutton.cpp +++ b/indra/newview/lljoystickbutton.cpp @@ -660,8 +660,20 @@ LLJoystickQuaternion::LLJoystickQuaternion(const LLJoystickQuaternion::Params &p mInLeft(false), mInTop(false), mInRight(false), - mInBottom(false) -{ + mInBottom(false), + mVectorZero(0.0f, 0.0f, 1.0f), + mRotation(), + mUpDnAxis(1.0f, 0.0f, 0.0f), + mLfRtAxis(0.0f, 0.0f, 1.0f), + mXAxisIndex(2), // left & right across the control + mYAxisIndex(0), // up & down across the control + mZAxisIndex(1) // tested for above and below +{ + for (int i = 0; i < 3; ++i) + { + mLfRtAxis.mV[i] = (mXAxisIndex == i) ? 1.0 : 0.0; + mUpDnAxis.mV[i] = (mYAxisIndex == i) ? 1.0 : 0.0; + } } void LLJoystickQuaternion::setToggleState(BOOL left, BOOL top, BOOL right, BOOL bottom) @@ -722,6 +734,7 @@ BOOL LLJoystickQuaternion::handleMouseUp(S32 x, S32 y, MASK mask) void LLJoystickQuaternion::onHeldDown() { + LLVector3 axis; updateSlop(); S32 dx = mLastMouse.mX - mFirstMouse.mX + mInitialOffset.mX; @@ -730,18 +743,34 @@ void LLJoystickQuaternion::onHeldDown() // left-right rotation if (dx > mHorizSlopNear) { + axis += mUpDnAxis; } else if (dx < -mHorizSlopNear) { + axis -= mUpDnAxis; } // over/under rotation if (dy > mVertSlopNear) { + axis += mLfRtAxis; } else if (dy < -mVertSlopNear) { + axis -= mLfRtAxis; } + + if (axis.isNull()) + return; + + axis.normalize(); + + LLQuaternion delta; + delta.setAngleAxis(0.0523599f, axis); // about 3deg + + mRotation *= delta; + setValue(mRotation.getValue()); + onCommit(); } void LLJoystickQuaternion::draw() @@ -770,6 +799,16 @@ void LLJoystickQuaternion::draw() { drawRotatedImage(getImageSelected(), 3); } + + LLVector3 draw_point = mVectorZero * mRotation; + S32 halfwidth = getRect().getWidth() / 2; + S32 halfheight = getRect().getHeight() / 2; + draw_point.mV[mXAxisIndex] = (draw_point.mV[mXAxisIndex] + 1.0) * halfwidth; + draw_point.mV[mYAxisIndex] = (draw_point.mV[mYAxisIndex] + 1.0) * halfheight; + + gl_circle_2d(draw_point.mV[mXAxisIndex], draw_point.mV[mYAxisIndex], 4, 8, + draw_point.mV[mZAxisIndex] >= 0.f); + } F32 LLJoystickQuaternion::getOrbitRate() @@ -826,5 +865,19 @@ void LLJoystickQuaternion::drawRotatedImage(LLPointer<LLUIImage> image, S32 rota gGL.end(); } +void LLJoystickQuaternion::setRotation(const LLQuaternion &value) +{ + if (value != mRotation) + { + mRotation = value; + mRotation.normalize(); + LLJoystick::setValue(mRotation.getValue()); + } +} + +LLQuaternion LLJoystickQuaternion::getRotation() const +{ + return mRotation; +} diff --git a/indra/newview/lljoystickbutton.h b/indra/newview/lljoystickbutton.h index ae8de1bf32..ee66088b56 100644 --- a/indra/newview/lljoystickbutton.h +++ b/indra/newview/lljoystickbutton.h @@ -30,6 +30,7 @@ #include "llbutton.h" #include "llcoord.h" #include "llviewertexture.h" +#include "llquaternion.h" typedef enum e_joystick_quadrant { @@ -198,6 +199,9 @@ public: virtual void onHeldDown(); virtual void draw(); + void setRotation(const LLQuaternion &value); + LLQuaternion getRotation() const; + protected: F32 getOrbitRate(); virtual void updateSlop(); @@ -207,6 +211,15 @@ protected: BOOL mInTop; BOOL mInRight; BOOL mInBottom; + + S32 mXAxisIndex; + S32 mYAxisIndex; + S32 mZAxisIndex; + + LLVector3 mVectorZero; + LLQuaternion mRotation; + LLVector3 mUpDnAxis; + LLVector3 mLfRtAxis; }; #endif // LL_LLJOYSTICKBUTTON_H diff --git a/indra/newview/llsettingsdaycycle.cpp b/indra/newview/llsettingsdaycycle.cpp new file mode 100644 index 0000000000..859fc5822f --- /dev/null +++ b/indra/newview/llsettingsdaycycle.cpp @@ -0,0 +1,113 @@ +/** +* @file llsettingsdaycycle.cpp +* @author optional +* @brief A base class for asset based settings groups. +* +* $LicenseInfo:2011&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2017, Linden Research, Inc. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; +* version 2.1 of the License only. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +* +* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +* $/LicenseInfo$ +*/ + +#include "llviewerprecompiledheaders.h" +#include "llviewercontrol.h" +#include "llsettingsdaycycle.h" +#include <algorithm> +#include <boost/make_shared.hpp> +#include "lltrace.h" +#include "llfasttimer.h" +#include "v3colorutil.h" + +#include "llglslshader.h" +#include "llviewershadermgr.h" + +#include "llenvironment.h" + +#include "llagent.h" +#include "pipeline.h" + +//========================================================================= +namespace +{ + LLTrace::BlockTimerStatHandle FTM_BLEND_WATERVALUES("Blending Water Environment"); + LLTrace::BlockTimerStatHandle FTM_UPDATE_WATERVALUES("Update Water Environment"); +} + +//========================================================================= + + +//========================================================================= +LLSettingsDayCycle::LLSettingsDayCycle(const LLSD &data) : + LLSettingsBase(data) +{ +} + +LLSettingsDayCycle::LLSettingsDayCycle() : + LLSettingsBase() +{ +} + +//========================================================================= +LLSD LLSettingsDayCycle::defaults() +{ + LLSD dfltsetting; + + + return dfltsetting; +} + + +LLSettingsDayCycle::ptr_t LLSettingsDayCycle::buildFromLegacyPreset(const std::string &name, const LLSD &oldsettings) +{ + LLSD newsettings(defaults()); + + //newsettings[SETTING_NAME] = name; + + + + LLSettingsDayCycle::ptr_t dayp = boost::make_shared<LLSettingsDayCycle>(newsettings); + + return dayp; +} + +LLSettingsDayCycle::ptr_t LLSettingsDayCycle::buildDefaultDayCycle() +{ + LLSD settings = LLSettingsDayCycle::defaults(); + + LLSettingsDayCycle::ptr_t dayp = boost::make_shared<LLSettingsDayCycle>(settings); + + return dayp; +} + +LLSettingsDayCycle::ptr_t LLSettingsDayCycle::buildClone() +{ + LLSD settings = cloneSettings(); + + LLSettingsDayCycle::ptr_t dayp = boost::make_shared<LLSettingsDayCycle>(settings); + + return dayp; +} + +//========================================================================= +void LLSettingsDayCycle::updateSettings() +{ + +} + +//========================================================================= diff --git a/indra/newview/llsettingsdaycycle.h b/indra/newview/llsettingsdaycycle.h new file mode 100644 index 0000000000..c562844bca --- /dev/null +++ b/indra/newview/llsettingsdaycycle.h @@ -0,0 +1,66 @@ +/** +* @file llsettingsdaycycle.h +* @author optional +* @brief A base class for asset based settings groups. +* +* $LicenseInfo:2011&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2017, Linden Research, Inc. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; +* version 2.1 of the License only. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +* +* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +* $/LicenseInfo$ +*/ + +#ifndef LL_SETTINGS_DAYCYCLE_H +#define LL_SETTINGS_DAYCYCLE_H + +#include "llsettingsbase.h" + +class LLSettingsDayCycle : public LLSettingsBase +{ +public: + + typedef boost::shared_ptr<LLSettingsDayCycle> ptr_t; + + //--------------------------------------------------------------------- + LLSettingsDayCycle(const LLSD &data); + virtual ~LLSettingsDayCycle() { }; + + static ptr_t buildFromLegacyPreset(const std::string &name, const LLSD &oldsettings); + static ptr_t buildDefaultDayCycle(); + ptr_t buildClone(); + + //--------------------------------------------------------------------- + virtual std::string getSettingType() const { return std::string("daycycle"); } + + // Settings status + ptr_t blend(const ptr_t &other, F32 mix) const; + + static LLSD defaults(); + + //--------------------------------------------------------------------- + +protected: + LLSettingsDayCycle(); + + virtual void updateSettings(); + + +private: +}; + +#endif diff --git a/indra/newview/skins/default/xui/en/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/en/floater_edit_sky_preset.xml index 56233d91ee..c03a206e88 100644 --- a/indra/newview/skins/default/xui/en/floater_edit_sky_preset.xml +++ b/indra/newview/skins/default/xui/en/floater_edit_sky_preset.xml @@ -454,7 +454,34 @@ width="200"> Sun/Moon Position </text> - <multi_slider + + <joystick_quat + follows="left|top" + height="78" + layout="topleft" + left_delta="0" + name="WLSunRotation" + quadrant="left" + sound_flags="3" + visible="true" + tool_tip="Move sun in sky" + top="44" + width="78" /> /> + + <joystick_quat + follows="left|top" + height="78" + layout="topleft" + left_delta="96" + name="WLMoonRotation" + quadrant="left" + sound_flags="3" + visible="true" + tool_tip="Move moon in sky" + top="44" + width="78" /> /> + + <!-- multi_slider can_edit_text="true" control_name="WLSunPos" decimal_digits="0" @@ -644,7 +671,7 @@ left_delta="10" name="WLEastAngle" top_pad="6" - width="200" /> + width="200" / --> </panel> <panel diff --git a/indra/newview/skins/default/xui/en/widgets/joystick_quat.xml b/indra/newview/skins/default/xui/en/widgets/joystick_quat.xml new file mode 100644 index 0000000000..a190da3909 --- /dev/null +++ b/indra/newview/skins/default/xui/en/widgets/joystick_quat.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<joystick_rotate + image_selected="Cam_Rotate_In" + image_unselected="Cam_Rotate_Out" + scale_image="false" + mouse_opaque="false" + held_down_delay.seconds="0"/> diff --git a/indra/newview/skins/default/xui/en/widgets/joystick_rotate.xml b/indra/newview/skins/default/xui/en/widgets/joystick_rotate.xml index a190da3909..cbf721b346 100644 --- a/indra/newview/skins/default/xui/en/widgets/joystick_rotate.xml +++ b/indra/newview/skins/default/xui/en/widgets/joystick_rotate.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<joystick_rotate +<joystick_quat image_selected="Cam_Rotate_In" image_unselected="Cam_Rotate_Out" - scale_image="false" + scale_image="true" mouse_opaque="false" held_down_delay.seconds="0"/> |