www.pudn.com > DrawVector.rar > Circle.cpp
// Circle.cpp: implementation of the CCircle class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Draw.h"
#include "Circle.h"
//#include "DrawDoc.h"
#include "Data.h"
#define pi 3.1415926
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//extern CGraphPara *p_GraphPara;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
extern IsRectCross(float minx,float miny,float maxx,float maxy);
CCircle::CCircle();
/*float xMinScreen,yMinScreen,xMaxScreen,yMaxScreen;
BOOL IsRectCross(float minx,float miny,float maxx,float maxy);
BOOL CText::IsRectCross(float minx,float miny,float maxx,float maxy)
{
if(minx>xMaxScreen||maxxyMaxScreen||maxyGetColor(ColorPen));
CPen* pOldPen=pDC->SelectObject(&pen);
CBrush brush(p_GraphPara->GetColor(m_ColorBrush));
CBrush* pOldBrush=pDC->SelectObject(&brush);
if(m_DrawMode==0)
pDC->SetROP2(R2_COPYPEN);
else if(m_DrawMode==1)
pDC->SetROP2(R2_NOT);
if(!m_bFill)
pDC->SelectStockObject(NULL_BRUSH);
DPtoVP(m_CircleX,m_CircleY,&x,&y);
r=DLtoVL(m_CircleR);
pDC->Ellipse(x-r,y-r,x+r,y+r);
pDC->SelectObject(pOldPen);
pDC->SelectObject(pOldBrush);
}
void CCircle::CalLong()
{
m_fLong=m_CircleR*2*pi;
}
void CCircle::CalArea()
{
m_fArea=pi*m_CircleR*m_CircleR;
}
void CCircle::GetRect(float* minX,float* minY,float* maxX,float* maxY)
{
*minX=m_CircleX-m_CircleR;
*minY=m_CircleY-m_CircleR;
*maxX=m_CircleX+m_CircleR;
*maxY=m_CircleY+m_CircleR;
}
BOOL CCircle::IsPoint(float x,float y,float j1,float blc)
{
float xx;
if(b_Delete)
return FALSE;
xx=CalDisp(x,y,m_CircleX,m_CircleY);
if(!m_bFill)
{
if((xx>m_CircleR-j1&&xxm_CircleX,&this->m_CircleY);
}
BOOL CCircle::IsFill()
{
return m_bFill;
}
CCircle::~CCircle()
{
}