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

50 lines
1.2 KiB
C

1 month ago
#pragma once
#include "CurveEditorBase.h"
#include "HandleDrawer.h"
/**
* @brief
*
* 线 Handle
*/
class SplineEditorRenderer
{
public:
SplineEditorRenderer(CSigmaDoc* pDoc, HandleDrawer* pHandleDrawer);
/**
* @brief 使 CDC
*/
void DrawHandlesByCDC(CDC* pDC, CCurveEx* pCurve) const;
/**
* @brief Handle
*/
void DrawHandle(CXyDC* pDC, CDC* pScreenDC, CCurveEx* pCurve, int currentHandleIndex) const;
/**
* @brief Handle
*/
void DrawSelectHandle(CDC* pScreenDC, CXyDC* pXyDC, CCurveEx* pCurve, int nHandle, DWORD handleDrawMode) const;
/**
* @brief 线R2_NOTXORPEN
*/
void DrawDragPreview(CDC* pScreenDC, CXyDC* pXyDC, const CPointList& newPointList) const;
/**
* @brief Handle
*/
CRect GetRangeWidthIndex(CCurveEx* pCurve, int nIndex, CXyDC* pDC, CSize handleSize) const;
/**
* @brief 使
*/
CRect GetFirstNodeHandleRectFocus(CPoint point) const;
private:
CSigmaDoc* m_pDoc;
HandleDrawer* m_pHandleDrawer;
};