/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.12.05 * ³» ¿ë : ÁöÇü »öÄ¥ ½ÇÇà * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "Doing.h" class cTerrainLeafNode; /// ÁöÇü ³ëµå »öÄ¥ Á¤º¸ class cTerrainNodePaintingInfo { public: cTerrainNodePaintingInfo(); public: /// ¸®ÇÁ ³ëµå cTerrainLeafNode* mNode; /// Àû¿ë ¹üÀ§ (¸®ÇÁ ³ëµå³» Á¤Á¡ÀÇ À妽º) unsigned int mXBegin; unsigned int mYBegin; unsigned int mXEnd; unsigned int mYEnd; /// Undo Á¤º¸ /// »ö»ó ¹è¿­ NiColor* mUndoColorArray; /// Redo Á¤º¸ /// »ö»ó ¹è¿­ NiColor* mRedoColorArray; }; inline cTerrainNodePaintingInfo::cTerrainNodePaintingInfo() : mNode( 0 ) , mXBegin( 0 ) , mYBegin( 0 ) , mXEnd( 0 ) , mYEnd( 0 ) , mUndoColorArray( 0 ) , mRedoColorArray( 0 ) { } /// ÁöÇü »öÄ¥ Á¤º¸ class cTerrainPaintingInfo { public: /// ³ëµå Á¤º¸ ¹è¿­ typedef tArray cNodeArray; cNodeArray mNodeArray; }; /// ÁöÇü ³ëµå »öÄ¥ class cTerrainNodePainting { public: cTerrainNodePainting( const cTerrainNodePaintingInfo& info ); ~cTerrainNodePainting(); void Undo(); void Redo(); public: /// ¸®ÇÁ ³ëµå cTerrainLeafNode* mNode; /// Àû¿ë ¹üÀ§ (¸®ÇÁ ³ëµå³» Á¤Á¡ÀÇ À妽º) unsigned int mXBegin; unsigned int mYBegin; unsigned int mXEnd; unsigned int mYEnd; /// Undo Á¤º¸ /// »ö»ó ¹è¿­ NiColor* mUndoColorArray; /// Redo Á¤º¸ /// »ö»ó ¹è¿­ NiColor* mRedoColorArray; }; /// ÁöÇü »öÄ¥ class cTerrainPainting : public cDoing { friend class cDoingManager; friend class cTerrain; private: cTerrainPainting( const cTerrainPaintingInfo& info ); ~cTerrainPainting(); void Undo(); void Redo(); private: /// ³ëµå ¹è¿­ typedef tArray cNodeArray; cNodeArray mNodeArray; };