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/HTrackerTransform.h

38 lines
993 B
C

1 month ago
#pragma once
#include "HTrackerCommon.h"
#include "HTrackerHandleCalculator.h"
//<2F><><EFBFBD><EFBFBD>HTracker<65>ı<C4B1><E4BBBB><EFBFBD><EFBFBD>
class HTrackerTransform
{
public:
HTrackerTransform();
void Init(int handle, const CRect & boundRect, CPoint mousePt);
void Draging(CPoint mousePt);
void EndDrag();
Gdiplus::Matrix * GetMatrix();
//<2F><><EFBFBD>ñ任<C3B1><E4BBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetKind(HTRACKER_TRANSFORM_KIND kind);
protected:
void SetFixedPoints();
void Scale(CPoint & point);
void Move(CPoint & point);
bool IsCanMove(const CPoint& nPrevPoint, const CPoint& nCurPoint);
void Rotate(CPoint & point);
void Shear(CPoint & point);
private:
bool m_bDrag;
int m_handle;
CPoint m_StartPoint; //<2F><>ʼ<EFBFBD><CABC>קʱ<D7A7><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CRect m_boundRect; //tracker<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPoint m_FixedSrc;
CPoint m_FixedDest;
bool m_bCanMoved;
int m_nAllowMovePixel;
Gdiplus::Matrix m_Transform;
Gdiplus::REAL m_StartPhi;
HTrackerHandleCalculator m_calculator;
HTRACKER_TRANSFORM_KIND m_kind;
};