00001 #ifndef SCALETRANSFORM_H 00002 #define SCALETRANSFORM_H 00003 00004 #include "Transform.h" 00005 #include "Editor_Int.h" 00006 #include "Editable_Percent.h" 00007 00009 class VScaleTransform : public VTransform<VEditable_Percent> { 00010 public: 00011 VScaleTransform(VScaleTransform* p) : VTransform<VEditable_Percent>(p) {} 00012 VScaleTransform(); 00013 00014 string Identify() const ; 00015 00018 virtual VEditable_Percent Evaluate(int nFrame) 00019 { 00020 if (m_pControl != NULL) 00021 return (int) ((m_pControl->Evaluate(nFrame) * m_BaseValue) / 100); 00022 else 00023 return m_BaseValue; 00024 } 00025 00026 virtual VEditable_Percent ApplyTransform( int nFrame ) { 00027 VEditable_Percent value = Evaluate(nFrame); // get value that current frame should be 00028 00029 Do(value); 00030 00031 m_CurrentValue = value; 00032 return m_CurrentValue; 00033 } 00034 00035 00036 protected: 00037 void Do(VEditable_Percent change); 00038 00039 }; 00040 00041 00042 #endif