00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __DEMOPAJA_GIZMOI_H__
00015 #define __DEMOPAJA_GIZMOI_H__
00016
00017 namespace Composition {
00018 class GizmoI;
00019 };
00020
00021 #include "PajaTypes.h"
00022 #include "DataBlockI.h"
00023 #include "EditableI.h"
00024 #include "ParamI.h"
00025 #include "UndoC.h"
00026 #include "TimeSegmentC.h"
00027 #include "FileIO.h"
00028 #include "EffectI.h"
00029 #include <string>
00030 #include <vector>
00031
00032 namespace Composition {
00033
00035
00064 class GizmoI : public Edit::EditableI
00065 {
00066 public:
00068
00084 virtual void copy( Edit::EditableI* pEditable );
00086
00102 virtual void restore( Edit::EditableI* pEditable );
00103
00105
00106 virtual const char* get_name() const;
00107
00109
00110 virtual void set_name( const char* szName );
00111
00113 virtual PajaTypes::int32 get_parameter_count() = 0;
00114
00116 virtual ParamI* get_parameter( PajaTypes::int32 i32Index ) = 0;
00117
00119
00169 virtual PajaTypes::uint32 update_notify( PajaTypes::uint32 ui32Id, PajaTypes::int32 i32Time );
00170
00172
00173 virtual PajaTypes::uint32 get_id();
00175
00176 virtual void set_id( PajaTypes::uint32 ui32Id );
00177
00179 virtual EffectI* get_parent() const;
00180
00182
00187 virtual void set_flags( PajaTypes::int32 i32Flags );
00189
00190 virtual void add_flags( PajaTypes::int32 i32Flags );
00192
00193 virtual void del_flags( PajaTypes::int32 i32Flags );
00195
00196 virtual void toggle_flags( PajaTypes::int32 i32Flags );
00198
00199 virtual PajaTypes::int32 get_flags();
00200
00202
00219 virtual PajaTypes::uint32 save( FileIO::SaveC* pSave );
00220
00222
00248 virtual PajaTypes::uint32 load( FileIO::LoadC* pLoad );
00249
00250 protected:
00252 GizmoI();
00254
00257 GizmoI( EffectI* pParent, PajaTypes::uint32 ui32Id );
00259 GizmoI( Edit::EditableI* pOriginal );
00261 virtual ~GizmoI();
00262
00263 private:
00264 std::string m_sName;
00265 PajaTypes::int32 m_i32Flags;
00266 PajaTypes::int32 m_ui32Id;
00267 EffectI* m_pParent;
00268 };
00269
00270 };
00271
00272 #endif // __DEMOPAJA_GIZMOI_H__