|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "ActionItem.h"
|
|
|
|
|
|
|
|
|
|
|
|
class CActionRotationItem
|
|
|
|
|
|
: public CActionItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CActionRotationItem();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD>캯<EFBFBD><EFBFBD>
|
|
|
|
|
|
* ע<EFBFBD>⣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øù<EFBFBD><EFBFBD>캯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>תͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param ppDoc
|
|
|
|
|
|
* \param actionType Action <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param x <EFBFBD><EFBFBD>תԭ<EFBFBD><EFBFBD> x <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param y <EFBFBD><EFBFBD>תԭ<EFBFBD><EFBFBD> y <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param angle <EFBFBD><EFBFBD>ת<EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
|
*/
|
|
|
|
|
|
CActionRotationItem(CSigmaDoc* ppDoc, UINT actionType, double x, double y, double angle);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD>캯<EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param ppDoc
|
|
|
|
|
|
* \param actionType Action <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param x <EFBFBD><EFBFBD>תԭ<EFBFBD><EFBFBD> x <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param y <EFBFBD><EFBFBD>תԭ<EFBFBD><EFBFBD> y <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param angle <EFBFBD><EFBFBD>ת<EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
|
* \param elements Ҫ<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>Ԫ<EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ
|
|
|
|
|
|
*/
|
|
|
|
|
|
CActionRotationItem(CSigmaDoc* ppDoc, UINT actionType,double x, double y, double angle, const CPositionList &elements);
|
|
|
|
|
|
|
|
|
|
|
|
std::string GetActionName() const override
|
|
|
|
|
|
{
|
|
|
|
|
|
return typeid(*this).name();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Undo() override;
|
|
|
|
|
|
|
|
|
|
|
|
void Redo() override;
|
|
|
|
|
|
|
|
|
|
|
|
void Do() override;
|
|
|
|
|
|
|
|
|
|
|
|
void accept(CActionVisitor& visitor) override;
|
|
|
|
|
|
|
|
|
|
|
|
friend class BlobSerializer;
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
void Rotation(double angle);
|
|
|
|
|
|
|
|
|
|
|
|
double m_x = 0.0;
|
|
|
|
|
|
double m_y = 0.0;
|
|
|
|
|
|
double m_angle = 0.0;
|
|
|
|
|
|
CPositionList m_elements;
|
|
|
|
|
|
};
|
|
|
|
|
|
|