00001 #ifndef _NUMBER_WRAPPER_H_ 00002 #define _NUMBER_WRAPPER_H_ 00003 00004 #include "UpdateableNumber.h" 00005 00006 namespace luma{ 00007 namespace numbers { 00008 00009 00024 template <class T> 00025 class NumberWrapper : public UpdateableNumber<T> 00026 { 00027 public: 00028 00032 NumberWrapper(T value); 00033 00038 NumberWrapper(T value, T min, T max, T increment); 00039 00044 void setValue(T value, float elapsedTime = 1.0f); 00045 00051 T getValue() const; 00052 00053 private: 00054 T mValue; 00055 }; 00056 00057 template <class T> 00058 NumberWrapper<T>::NumberWrapper(T value): 00059 mValue(value) 00060 { 00061 } 00062 00063 template <class T> 00064 NumberWrapper<T>::NumberWrapper(T value, T, T, T): 00065 mValue(value) 00066 { 00067 } 00068 00069 template <class T> 00070 void NumberWrapper<T>::setValue(T value, float) 00071 { 00072 mValue = value; 00073 } 00074 00075 template <class T> 00076 T NumberWrapper<T>::getValue() const 00077 { 00078 return mValue; 00079 } 00080 00081 }} 00082 00083 00084 00085 #endif _NUMBER_WRAPPER_H_