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__