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.
kev/Drawer/Module/GeoSigmaDraw/ActionRotationItem.h

60 lines
1.2 KiB
C

1 month ago
#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;
};