You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
827 B
C++

#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;
};
}