#pragma once #include "ActionMoveItem.h" namespace NAction { class CActionMirrorItem : public CActionItem { public: CActionMirrorItem(); CActionMirrorItem(CSigmaDoc * ppDoc, UINT actionType, CPositionList& list, REAL* pmatrix, double originX, double originY); 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; private: void Offset(); private: CActionMoveItem m_moveItem; double m_originX = 0.0; double m_originY = 0.0; CPositionList m_selectionSet; }; }