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.

26 lines
755 B
C++

#pragma once
#include <afxwin.h>
#include "HTrackerHandleCalculator.h"
class HTrackerDrawer
{
public:
HTrackerDrawer();
void SetRotateAndShearState(bool status);
void Draw(CDC * pDC, const CRect & boundRect);
void Reset();
private:
void DrawMarkRect(CDC * pDC);
void DrawHandleRect(CDC* pDC, CRect rect, BOOL bNoEditMark);
void DrawCenter(CDC * pDC, POINT center, bool bTrack);
void DrawMarkRotate(CDC* pDC);
void DrawCenterRotate(CDC * pDC, POINT center, bool bTrack);
private:
CRect m_boundRect;
COLORREF m_colorMark; //大矩形的颜色.默认为浅灰色.
COLORREF m_colorHandles; //八个小矩形的颜色.默认为黑色.
COLORREF m_colorCenter;
HTrackerHandleCalculator m_handleCalctor;
int m_HandleSize;
bool m_rotateAndShearState;
};