#pragma once #include "actionitem.h" namespace NAction { class CActionChangeLayerItem : public CActionItem { public: CActionChangeLayerItem(); CActionChangeLayerItem(CSigmaDoc * ppDoc, UINT actionType, CPositionList& list, CString strOldLayer, CString strNewLayer); virtual ~CActionChangeLayerItem(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: CString m_strOldLayer; CString m_strNewLayer; CPositionList m_eleList; }; class CActionCurveReversalItem : public CActionItem { public: CActionCurveReversalItem(); CActionCurveReversalItem(CSigmaDoc * ppDoc, UINT actionType, CPositionList& list); virtual ~CActionCurveReversalItem(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: CPositionList m_eleList; public: void Reversal(void); }; };