/*=========================================================================== Class Name: tdoCopyBuffer Used for: Copy/Paste Author: Yann Le Tensorer Date: may 5, 1997 ============================================================================*/ #if !defined ( __COPYPASTE_HPP__ ) #define __COPYPASTE_HPP__ /******************************************/ #if _MSC_VER >= 1000 #pragma once #endif /******************************************/ class CPA_Modif; typedef enum tdeCopyBufferType_ { E_cbt_None, E_cbt_Mechanics, E_cbt_Collide, E_cbt_Sound } tdeCopyBufferType; //================================================================================= //================================================================================= class tdoCopyBuffer { public: tdoCopyBuffer(DNM_tdxHandleToMecMatCharacteristics _hMechanicsMaterial); tdoCopyBuffer(GMT_tdxHandleToCollideMaterial _hCollideMaterial); tdoCopyBuffer(SND_tdxHandleToSoundMaterial _hSoundMaterial); ~tdoCopyBuffer(); BOOL m_bDoPaste(GMT_tdxHandleToGameMaterial _hTargetGameMaterial); tdeCopyBufferType m_eGetType() { return m_eType; } //ROMTEAM WorldEditor (Cristi Petrescu 22/12/97) GMT_tdxHandleToCollideMaterial m_hGetCollideMaterial (void) {return m_hCollideMaterialToPaste;}; //ENDROMTEAM WorldEditor (Cristi Petrescu) private: void m_vInvalidateAllHandlesAtConstruct(); tdeCopyBufferType m_eType; DNM_tdxHandleToMecMatCharacteristics m_hMechanicsMaterialToPaste; GMT_tdxHandleToCollideMaterial m_hCollideMaterialToPaste; SND_tdxHandleToSoundMaterial m_hSoundMaterialToPaste; }; //================================================================================= //================================================================================= class tdoPasteSubMaterialModif : public CPA_Modif { public: tdoPasteSubMaterialModif(tdoCopyBuffer *_p_oCopyBuffer); ~tdoPasteSubMaterialModif(); BOOL Do(); BOOL Undo(); private: GMT_tdxHandleToGameMaterial m_hTargetGameMaterial; tdoCopyBuffer *m_p_oCopyBufferForDo, *m_p_oCopyBufferForUndo; }; #endif /* __COPYPASTE_HPP__ */