////////////////////////////////////////////////////////////////////////////// //类: ActionOffsetItem //主要功能: // //程序编写: 2006-12-07 ///////////////////////////////////////////////////////////////////////////// #pragma once #include "actionitem.h" namespace NAction { //每个元素的偏移量可以不同 class CActionOffsetItem : public CActionItem { public: CActionOffsetItem(); CActionOffsetItem(CSigmaDoc * ppDoc, UINT actionType, const CPositionList& list, CPoint2D* pOffset); CActionOffsetItem(CSigmaDoc* ppDoc, UINT actionType, const CPositionList& list, CPoint2D ptOffset); CActionOffsetItem(CSigmaDoc* ppDoc, UINT actionType, COne* pOne, CPoint2D ptOffset); virtual ~CActionOffsetItem(void); std::string GetActionName() const override { return typeid(*this).name(); } virtual void Undo(void); virtual void Redo(void); void accept(CActionVisitor& visitor) override; friend class BlobSerializer; protected: std::vector offset_x; std::vector offset_y; void Create(int num); }; };