#pragma once #include "actionitem.h" namespace NAction { class CActionEmbellishItem : public CActionItem { public: CActionEmbellishItem(); //共性修饰 CActionEmbellishItem(CSigmaDoc * ppDoc, UINT actionType, CLayer* pLayer); //共性修饰 CActionEmbellishItem(CSigmaDoc * ppDoc, UINT actionType, COne* pOne); //个性修饰 virtual ~CActionEmbellishItem(void); std::string GetActionName() const override { return typeid(*this).name(); } virtual void Undo(void); virtual void Redo(void); void accept(CActionVisitor& visitor) override; void SetOldHowToView(CLayer* pLayer); void SetNewHowToView(CLayer* pLayer); void SetOldHowToView(COne* pOne); void SetNewHowToView(COne* pOne); friend class BlobSerializer; protected: void SetOldHowToView(CHowToViewCurve* pOldCurve, CHowToViewPoint* pOldPoint); void SetNewHowToView(CHowToViewCurve* pNewCurve, CHowToViewPoint* pNewPoint); COne* m_pOne = nullptr; CLayer* m_pLayer = nullptr; CHowToViewCurve* m_pOldViewCurve = nullptr; CHowToViewCurve* m_pNewViewCurve = nullptr; CHowToViewPoint* m_pOldViewPoint = nullptr; CHowToViewPoint* m_pNewViewPoint = nullptr; }; }