#pragma once #include "item.h" #include "ItemSelectCurve.h" #include "DrawOperator\CurveAnd.h" namespace NItem { #define CUT_OUT_RECTANGLE DELETE_DEFAULT //选择范围剪裁 #define CUTOUT_ACCURATELY DELETE_CONDITION //精确剪裁 #define CUT_OUT_PICKUP DELETE_IN //拾取式剪裁 class CItemCutOut : public CItem { public: CItemCutOut(CSigmaDoc * ppDoc); virtual ~CItemCutOut(void); void OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk) override; int GetCountOfPickup(); int CutOutRectangle(CRect8 rect); int CutOutPickup(void); int CutOutAccurately(void); CXy* GetXY(void); protected: virtual int CutAccurately(CCurveEx* pCurveRange); int CutOut(CCurveEx* pCurveRange, CCurveEx* pSourceCurveRange=NULL); int CreateCurveWidthBL(CRect8& rect, CCurveEx& curve); CRect8 m_range; int m_nMode; CItemSelectCurve * m_pSelectCurve; public: UINT m_nInfoID; }; };