13#include "GUIStreamableObject.h"
80 m_vPercentValue(eC_FromInt(0)),
85 m_eBase(BASE_AT_MINIMUM),
86 m_bMaximumLevelIsAlwaysValid(false)
101 eC_UInt uiStepSize = 1,
102 Base_t eBase = BASE_AT_MINIMUM,
103 eC_Bool bExtremeLevelsAreAlwaysValid =
false) :
104 m_vPercentValue(eC_FromInt(0)),
109 m_eBase(BASE_AT_MINIMUM),
110 m_bMaximumLevelIsAlwaysValid(bExtremeLevelsAreAlwaysValid)
128 eC_Int iLevelPercentage,
129 eC_UInt uiStepSizeLevelPercentage,
132 Base_t eBase = BASE_AT_MINIMUM,
133 eC_Bool bExtremeLevelsAreAlwaysValid =
false) :
134 m_vPercentValue(eC_FromInt(0)),
139 m_eBase(BASE_AT_MINIMUM),
140 m_bMaximumLevelIsAlwaysValid(bExtremeLevelsAreAlwaysValid)
161 eC_Value vStepSizeLevel,
162 Base_t eBase = BASE_AT_MINIMUM,
163 eC_Bool bExtremeLevelsAreAlwaysValid =
false) :
164 m_vPercentValue(eC_FromInt(0)),
169 m_eBase(BASE_AT_MINIMUM),
170 m_bMaximumLevelIsAlwaysValid(bExtremeLevelsAreAlwaysValid)
190 CopyAttributes(kSource);
225 inline eC_Value
GetLevel()
const {
return m_vPercentValue;}
237 return eC_ToInt(eC_Mul(m_vPercentValue, eC_FromInt(100)));
371 return m_bMaximumLevelIsAlwaysValid;
378 eC_Bool bNotOnlyMultiplesOfStepSize)
380 m_bMaximumLevelIsAlwaysValid = bNotOnlyMultiplesOfStepSize;
388 if (iValue < m_iMinValue) iValue = m_iMinValue;
389 else if (iValue > m_iMaxValue) iValue = m_iMaxValue;
398#ifdef GUILIANI_STREAM_GUI
402#ifdef GUILIANI_WRITE_GUI
411 inline void CopyAttributes(
const CGUIRange& kSource)
413 m_vPercentValue = kSource.m_vPercentValue;
414 m_iValue = kSource.m_iValue;
415 m_uiStepSize = kSource.m_uiStepSize;
416 m_iMaxValue = kSource.m_iMaxValue;
417 m_iMinValue = kSource.m_iMinValue;
418 m_eBase = kSource.m_eBase;
419 m_bMaximumLevelIsAlwaysValid = kSource.m_bMaximumLevelIsAlwaysValid;
426 inline void ClipPercentage(eC_UInt &uiPercentage)
const
428 if (uiPercentage > 100) uiPercentage = 100;
432 inline void ClipLevel(eC_Value& vPercent)
const
434 if (vPercent > eC_FromInt(1)) vPercent = eC_FromInt(1);
435 else if (vPercent < eC_FromInt(0)) vPercent = eC_FromInt(0);
443 inline eC_Int RoundUpToMultiplesOf(eC_Int iValueToRound, eC_Int iStepSize)
const
447 return ((iValueToRound + (iStepSize - 1)) / iStepSize)
450 return iValueToRound;
458 inline eC_Int RoundDownToMultiplesOf(eC_Int iValueToRound, eC_Int iStepSize)
const
462 return (iValueToRound / iStepSize) * iStepSize;
464 return iValueToRound;
469 eC_Value m_vPercentValue;
482 eC_UInt m_uiStepSize;
495 eC_Bool m_bMaximumLevelIsAlwaysValid;
Helper class to supply a platform independent range implementation.
Definition: GUIRange.h:67
void SetValue(eC_Int iNewValue)
eC_UInt GetLevelPercentage() const
Definition: GUIRange.h:235
eC_Int GetMinValue() const
Definition: GUIRange.h:257
void SetStepSizeLevel(eC_Value vPercent)
void SetMaximumLevelIsAlwaysValid(eC_Bool bNotOnlyMultiplesOfStepSize)
Definition: GUIRange.h:377
void SetStepSizeLevelPercentage(eC_UInt uiPercentage)
CGUIRange(eC_Value vLevel, eC_Int iMinValue, eC_Int iMaxValue, eC_Value vStepSizeLevel, Base_t eBase=BASE_AT_MINIMUM, eC_Bool bExtremeLevelsAreAlwaysValid=false)
Definition: GUIRange.h:157
CGUIRange()
Definition: GUIRange.h:79
eC_Bool GetMaximumLevelIsAlwaysValid() const
Definition: GUIRange.h:369
CGUIRange(eC_Int iLevelPercentage, eC_UInt uiStepSizeLevelPercentage, eC_Int iMinValue, eC_Int iMaxValue, Base_t eBase=BASE_AT_MINIMUM, eC_Bool bExtremeLevelsAreAlwaysValid=false)
Definition: GUIRange.h:127
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
CGUIRange(eC_Int iValue, eC_Int iMinValue, eC_Int iMaxValue, eC_UInt uiStepSize=1, Base_t eBase=BASE_AT_MINIMUM, eC_Bool bExtremeLevelsAreAlwaysValid=false)
Definition: GUIRange.h:97
CGUIRange(const CGUIRange &kSource)
Definition: GUIRange.h:182
void SetLevelPercentage(eC_UInt uiPercentage)
void SetBase(Base_t eBase)
eC_Int GetMaxValue() const
Definition: GUIRange.h:275
void SetMinValue(eC_Int iMinValue)
Definition: GUIRange.h:269
eC_UInt GetStepSize() const
Definition: GUIRange.h:326
CGUIRange & operator=(const CGUIRange &kSource)
Definition: GUIRange.h:188
void RoundToNextStep(eC_Int &iRangeValue) const
eC_Int GetValue() const
Definition: GUIRange.h:212
void SetRange(eC_Int iMinValue, eC_Int iMaxValue)
eC_Value GetLevel() const
Definition: GUIRange.h:225
void ClipToBounds(eC_Int &iValue) const
Definition: GUIRange.h:386
virtual void ReadFromStream()
void SetLevel(eC_Value vPercent)
void SetStepSize(eC_UInt uiIntValues)
Base_t
Whether base is at minimum or maximum of the range.
Definition: GUIRange.h:72
const Base_t & GetBase() const
Definition: GUIRange.h:349
void SetMaxValue(eC_Int iMaxValue)
Definition: GUIRange.h:288
Base class for streamable objects.
Definition: GUIStreamableObject.h:46