#pragma once #include "stdafx.h" #include "ActionItem.h" namespace NAction { class CActionCurveEdit : public CActionItem { public: CActionCurveEdit(); CActionCurveEdit(CSigmaDoc * pDoc, UINT actionType, POSITION pos); std::string GetActionName() const override { return typeid(*this).name(); } void Undo() override; void Redo() override; void BackupUndoNode(int indexOfNode, double nodeX, double nodeY); void BackupRedoNode(int indexOfNode, double nodeX, double nodeY); void accept(CActionVisitor& visitor) override; friend class BlobSerializer; private: CCurveEx * GetCurve(); private: POSITION m_posOfCurve = nullptr; int m_indexOfNodeForUndo = 0; double m_nodeXForUndo = 0.0; double m_nodeYForUndo = 0.0; int m_indexOfNodeForRedo = 0; double m_nodeXForRedo = 0.0; double m_nodeYForRedo = 0.0; }; }