Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   Related Pages  

GizmoI.h

00001 //-------------------------------------------------------------------------
00002 //
00003 // File:        GizmoI.h
00004 // Desc:        Gizmo interface.
00005 // Author:      memon <memon@inside.org>
00006 //
00007 //-------------------------------------------------------------------------
00008 //  Copyright (c) 2000-2002 Moppi Productions. All Rights Reserved.
00009 //  This file is part of Moppi Demopaja SDK. For conditions of 
00010 //  distribution and use, see the accompanying license.txt file.
00011 //  http://moppi.inside.org/demopaja/
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 }; // namespace
00271 
00272 #endif // __DEMOPAJA_GIZMOI_H__

Moppi Demopaja SDK Documentation -- Copyright © 2000-2002 Moppi Productions