summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterenvironmentadjust.h
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2019-04-03 14:52:59 -0700
committerRider Linden <rider@lindenlab.com>2019-04-03 14:52:59 -0700
commite24237b6af504ff8faea02c8ab22344f2452364e (patch)
treecda98ca00da4903919fabe14cef3e98fa943089b /indra/newview/llfloaterenvironmentadjust.h
parent47e3c3aa216f72cae9b940a8f308c7de7c7c695c (diff)
SL-10189, SL-10880: Mark the day instance so that it does not try to reanimate a day cycle when setting a fixed sky. Add new floater for setting the shared environment to local and allowing modifications.
Diffstat (limited to 'indra/newview/llfloaterenvironmentadjust.h')
-rw-r--r--indra/newview/llfloaterenvironmentadjust.h86
1 files changed, 86 insertions, 0 deletions
diff --git a/indra/newview/llfloaterenvironmentadjust.h b/indra/newview/llfloaterenvironmentadjust.h
new file mode 100644
index 0000000000..5bd91b0c43
--- /dev/null
+++ b/indra/newview/llfloaterenvironmentadjust.h
@@ -0,0 +1,86 @@
+/**
+ * @file llfloaterenvironmentadjust.h
+ * @brief Floaters to create and edit fixed settings for sky and water.
+ *
+ * $LicenseInfo:firstyear=2011&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, 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_FLOATERENVIRONMENTADJUST_H
+#define LL_FLOATERENVIRONMENTADJUST_H
+
+#include "llfloater.h"
+#include "llsettingsbase.h"
+#include "llsettingssky.h"
+#include "llenvironment.h"
+
+#include "boost/signals2.hpp"
+
+class LLButton;
+class LLLineEditor;
+
+/**
+ * Floater container for taking a snapshot of the current environment and making minor adjustments.
+ */
+class LLFloaterEnvironmentAdjust : public LLFloater
+{
+ LOG_CLASS(LLFloaterEnvironmentAdjust);
+
+public:
+ LLFloaterEnvironmentAdjust(const LLSD &key);
+ virtual ~LLFloaterEnvironmentAdjust();
+
+
+ virtual BOOL postBuild() override;
+ virtual void onOpen(const LLSD& key) override;
+ virtual void onClose(bool app_quitting) override;
+
+ virtual void refresh() override;
+
+private:
+ void captureCurrentEnvironment();
+
+ void onAmbientLightChanged();
+ void onBlueHorizonChanged();
+ void onBlueDensityChanged();
+ void onHazeHorizonChanged();
+ void onHazeDensityChanged();
+ void onSceneGammaChanged();
+
+ void onCloudColorChanged();
+ void onCloudCoverageChanged();
+ void onCloudScaleChanged();
+ void onSunColorChanged();
+
+ void onGlowChanged();
+ void onStarBrightnessChanged();
+ void onSunRotationChanged();
+ void onSunScaleChanged();
+
+ void onMoonRotationChanged();
+
+ void onEnvironmentUpdated(LLEnvironment::EnvSelection_t env, S32 version);
+
+ LLSettingsSky::ptr_t mLiveSky;
+ LLEnvironment::connection_t mEventConnection;
+};
+
+#endif // LL_FLOATERFIXEDENVIRONMENT_H