void CEllipse::DrawHotPoints(CDC *pDC) { CBrush *pOldBrush=(CBrush *)pDC->SelectStockObject(GRAY_BRUSH); CPen *pOldPen=(CPen *)pDC->SelectStockObject(NULL_PEN); pDC->SetROP2(R2_NOT); long x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8; UPtoLP(m_lx1,m_ly1,&x1,&y1); UPtoLP(m_lx1,m_ly2,&x2,&y2); UPtoLP(m_lx2,m_ly1,&x3,&y3); UPtoLP(m_lx2,m_ly2,&x4,&y4); UPtoLP((m_lx1+m_lx2)/2,m_ly1,&x5,&y5); UPtoLP((m_lx1+m_lx2)/2,m_ly2,&x6,&y6); UPtoLP(m_lx1,(m_ly1+m_ly2)/2,&x7,&y7); UPtoLP(m_lx2,(m_ly1+m_ly2)/2,&x8,&y8); DrawHotPoint(pDC,x1,y1); DrawHotPoint(pDC,x2,y2); DrawHotPoint(pDC,x3,y3); DrawHotPoint(pDC,x4,y4); DrawHotPoint(pDC,x5,y5); DrawHotPoint(pDC,x6,y6); DrawHotPoint(pDC,x7,y7); DrawHotPoint(pDC,x8,y8); pDC->SetROP2(R2_COPYPEN); pDC->SelectObject(pOldBrush); pDC->SelectObject(pOldPen); pDC->SelectObject(pOldBrush); }
void CLine::DrawHotPoints(CDC *pDC) { LOGPEN tPen=m_pen; UPtoLP(m_pen.lopnWidth.x,m_pen.lopnWidth.y,&tPen.lopnWidth.x,&tPen.lopnWidth.y); CPen pen; pen.CreatePenIndirect(&tPen); CPen *pOldPen=pDC->SelectObject(&pen); CBrush *pOldBrush=(CBrush *)pDC->SelectStockObject(GRAY_BRUSH); pDC->SetROP2(R2_NOT); long x1,y1,x2,y2; UPtoLP(m_lx1,m_ly1,&x1,&y1); UPtoLP(m_lx2,m_ly2,&x2,&y2); DrawHotPoint(pDC,x1,y1); DrawHotPoint(pDC,x2,y2); pDC->SetROP2(R2_COPYPEN); pDC->SelectObject(pOldBrush); pDC->SelectObject(pOldPen); }
void CArc::DrawHotPoints(CDC *pDC) { CBrush *pOldBrush=(CBrush *)pDC->SelectStockObject(GRAY_BRUSH); CPen *pOldPen=(CPen *)pDC->SelectStockObject(NULL_PEN); pDC->SetROP2(R2_NOT); long x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8; UPtoLP(m_lx1,m_ly1,&x1,&y1); UPtoLP(m_lx1,m_ly2,&x2,&y2); UPtoLP(m_lx2,m_ly1,&x3,&y3); UPtoLP(m_lx2,m_ly2,&x4,&y4); UPtoLP((m_lx1+m_lx2)/2,m_ly1,&x5,&y5); UPtoLP((m_lx1+m_lx2)/2,m_ly2,&x6,&y6); UPtoLP(m_lx1,(m_ly1+m_ly2)/2,&x7,&y7); UPtoLP(m_lx2,(m_ly1+m_ly2)/2,&x8,&y8); DrawHotPoint(pDC,x1,y1); DrawHotPoint(pDC,x2,y2); DrawHotPoint(pDC,x3,y3); DrawHotPoint(pDC,x4,y4); DrawHotPoint(pDC,x5,y5); DrawHotPoint(pDC,x6,y6); DrawHotPoint(pDC,x7,y7); DrawHotPoint(pDC,x8,y8); long x0,y0,x9,y9; UPtoLP(m_lx3,m_ly3,&x0,&y0); UPtoLP(m_lx4,m_ly4,&x9,&y9); long lDeltaX,lDeltaY; UPtoLP((long)(1.2*DELTA),(long)(1.2*DELTA),&lDeltaX,&lDeltaY); pDC->Ellipse(x0-lDeltaX,y0-lDeltaY,x0+lDeltaX,y0+lDeltaY); pDC->Ellipse(x9-lDeltaX,y9-lDeltaY,x9+lDeltaX,y9+lDeltaY); pDC->SetROP2(R2_COPYPEN); pDC->SelectObject(pOldBrush); pDC->SelectObject(pOldPen); pDC->SelectObject(pOldBrush); }