summaryrefslogtreecommitdiff
path: root/indra/newview/llenvironment.h
diff options
context:
space:
mode:
authorGraham Linden graham@lindenlab.com <Graham Linden graham@lindenlab.com>2018-05-23 01:16:12 +0100
committerGraham Linden graham@lindenlab.com <Graham Linden graham@lindenlab.com>2018-05-23 01:16:12 +0100
commit439273c9c11ec5f3c186fd7d97a28d11419153cd (patch)
treef6e4f1566425921d71e40b9628011eb0f5f539f3 /indra/newview/llenvironment.h
parent13536bb273b7413aa4461c8eeaf5a6a865f4234d (diff)
parent689beff6698fcb8582c44f58bb9896606850b149 (diff)
Merge
Diffstat (limited to 'indra/newview/llenvironment.h')
-rw-r--r--indra/newview/llenvironment.h27
1 files changed, 25 insertions, 2 deletions
diff --git a/indra/newview/llenvironment.h b/indra/newview/llenvironment.h
index 0de92dc50b..615318a4e6 100644
--- a/indra/newview/llenvironment.h
+++ b/indra/newview/llenvironment.h
@@ -78,13 +78,14 @@ public:
enum EnvSelection_t
{
- ENV_EDIT,
+ ENV_EDIT = 0,
ENV_LOCAL,
ENV_PARCEL,
ENV_REGION,
ENV_DEFAULT,
ENV_END,
- ENV_CURRENT = -1
+ ENV_CURRENT = -1,
+ ENV_NONE = -2
};
typedef boost::signals2::connection connection_t;
@@ -157,6 +158,7 @@ public:
void setEnvironment(EnvSelection_t env, const LLSettingsBase::ptr_t &fixed);
void setEnvironment(EnvSelection_t env, const LLSettingsSky::ptr_t & fixed) { setEnvironment(env, fixedEnvironment_t(fixed, LLSettingsWater::ptr_t())); }
void setEnvironment(EnvSelection_t env, const LLSettingsWater::ptr_t & fixed) { setEnvironment(env, fixedEnvironment_t(LLSettingsSky::ptr_t(), fixed)); }
+ void setEnvironment(EnvSelection_t env, const LLSettingsSky::ptr_t & fixeds, const LLSettingsWater::ptr_t & fixedw) { setEnvironment(env, fixedEnvironment_t(fixeds, fixedw)); }
void clearEnvironment(EnvSelection_t env);
LLSettingsDay::ptr_t getEnvironmentDay(EnvSelection_t env);
S64Seconds getEnvironmentDayLength(EnvSelection_t env);
@@ -371,6 +373,27 @@ private:
};
+class LLTrackBlenderLoopingManual : public LLSettingsBlender
+{
+public:
+ LLTrackBlenderLoopingManual(const LLSettingsBase::ptr_t &target, const LLSettingsDay::ptr_t &day, S32 trackno);
+
+ F64 setPosition(F64 position) override;
+ void switchTrack(S32 trackno, F64 position = -1.0);
+ S32 getTrack() const { return mTrackNo; }
+
+ typedef std::shared_ptr<LLTrackBlenderLoopingManual> ptr_t;
+protected:
+ LLSettingsDay::TrackBound_t getBoundingEntries(F64 position);
+ F64 getSpanLength(const LLSettingsDay::TrackBound_t &bounds) const;
+
+private:
+ LLSettingsDay::ptr_t mDay;
+ S32 mTrackNo;
+ F64 mPosition;
+
+ LLSettingsDay::CycleTrack_t::iterator mEndMarker;
+};
#endif // LL_ENVIRONMENT_H