#pragma once #include #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; };