当前位置: 首页>>代码示例>>C++>>正文


C++ wxDC::DrawCircle方法代码示例

本文整理汇总了C++中wxDC::DrawCircle方法的典型用法代码示例。如果您正苦于以下问题:C++ wxDC::DrawCircle方法的具体用法?C++ wxDC::DrawCircle怎么用?C++ wxDC::DrawCircle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在wxDC的用法示例。


在下文中一共展示了wxDC::DrawCircle方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: DrawStone

// Draw the stone type of colour in cell (x, y) using the provided device context
void SimpleGoPanel::DrawStone(wxDC& dc, int x, int y, int colour)
{	if(colour==EMPTY)
	{	dc.SetBrush(*wxWHITE_BRUSH);
		dc.SetPen(*wxWHITE_PEN);
		dc.DrawRectangle(16*x-8, 16*y-8, 8, 8);
		dc.DrawRectangle(16*x-8, 16*y+1, 8, 7);
		dc.DrawRectangle(16*x+1, 16*y-8, 7, 8);
		dc.DrawRectangle(16*x+1, 16*y+1, 7, 7);
		if(x==1)
			dc.DrawLine(16*x-8, 16*y, 16*x, 16*y);
		else if(x==boardsize)
			dc.DrawLine(16*x+1, 16*y, 16*x+8, 16*y);
		if(y==1)
			dc.DrawLine(16*x, 16*y-8, 16*x, 16*y);
		else if(y==boardsize)
			dc.DrawLine(16*x, 16*y+1, 16*x, 16*y+8);
		dc.SetPen(*wxBLACK_PEN);
		dc.DrawLine(16*x-(x>1?8:0),16*y,16*x+(x<boardsize?8:1),16*y);
		dc.DrawLine(16*x,16*y-(y>1?8:0),16*x,16*y+(y<boardsize?8:1));
		dc.SetBrush(*wxBLACK_BRUSH);
		if((boardsize==7&&(x==3||x==boardsize-2)&&(y==3||y==boardsize-2))
			||(boardsize>7&&boardsize<13&&(x==3||x==boardsize-2||2*x==boardsize+1)&&(y==3||y==boardsize-2||2*y==boardsize+1))
			||(boardsize>=13&&(x==4||x==boardsize-3||2*x==boardsize+1)&&(y==4||y==boardsize-3||2*y==boardsize+1)))
			dc.DrawRectangle(16*x-1, 16*y-1, 3, 3);
	}
	else if(colour==BLACK)
	{	dc.SetPen(*wxBLACK_PEN);
		dc.DrawLine(16*x-(x>1?8:0),16*y,16*x+(x<boardsize?8:0),16*y);
		dc.DrawLine(16*x,16*y-(y>1?8:1),16*x,16*y+(y<boardsize?8:1));
		dc.SetBrush(*wxBLACK_BRUSH);
		dc.DrawCircle(wxPoint(16*x,16*y), 7);
	}
	else if(colour==WHITE)
	{	dc.SetBrush(*wxWHITE_BRUSH);
		dc.SetPen(*wxBLACK_PEN);
		dc.DrawLine(16*x-(x>1?8:0),16*y,16*x-(x>1?7:0),16*y);
		dc.DrawLine(16*x,16*y-(y>1?8:0),16*x,16*y-(y>1?7:0));
		dc.DrawCircle(wxPoint(16*x,16*y), 7);
	}
	else if(colour==AREA(BLACK))
	{	dc.SetPen(*wxBLACK_PEN);
		dc.SetBrush(*wxBLACK_BRUSH);
		dc.DrawCircle(wxPoint(16*x,16*y), 3);
	}
	else if(colour==AREA(WHITE))
	{	dc.SetBrush(*wxWHITE_BRUSH);
		dc.SetPen(*wxBLACK_PEN);
		dc.DrawCircle(wxPoint(16*x,16*y), 3);
	}
}
开发者ID:curtisbright,项目名称:simplego,代码行数:51,代码来源:simplego-panel.cpp

示例2: BenchmarkCircles

    void BenchmarkCircles(const wxString& msg, wxDC& dc)
    {
        if ( !opts.testCircles )
            return;

        if ( opts.mapMode != 0 )
            dc.SetMapMode((wxMappingMode)opts.mapMode);
        if ( opts.penWidth != 0 )
            dc.SetPen(wxPen(*wxWHITE, opts.penWidth));

        dc.SetBrush( *wxGREEN_BRUSH );

        wxPrintf("Benchmarking %s: ", msg);
        fflush(stdout);

        wxStopWatch sw;
        for ( long n = 0; n < opts.numIters; n++ )
        {
            int x = rand() % opts.width,
                y = rand() % opts.height;

            dc.DrawCircle(x, y, 32);
        }

        const long t = sw.Time();

        wxPrintf("%ld circles done in %ldms = %gus/circle\n",
                 opts.numIters, t, (1000. * t)/opts.numIters);
    }
开发者ID:CodeTickler,项目名称:wxWidgets,代码行数:29,代码来源:graphics.cpp

示例3: _Edit_Shape_Draw_Point

void CWKSP_Shapes::_Edit_Shape_Draw_Point(wxDC &dc, int x, int y, bool bSelected)
{
	dc.SetPen  (wxPen(m_Edit_Color));
	dc.SetBrush(*wxTRANSPARENT_BRUSH);

	dc.DrawCircle(x, y, 2);

	Draw_Edge(dc, EDGE_STYLE_SIMPLE,
		x - EDIT_TICKMARK_SIZE - 1,
		y - EDIT_TICKMARK_SIZE - 1,
		x + EDIT_TICKMARK_SIZE,
		y + EDIT_TICKMARK_SIZE
	);

	if( bSelected )
	{
		dc.SetPen(*wxRED_PEN);

		Draw_Edge(dc, EDGE_STYLE_SIMPLE,
			x - EDIT_TICKMARK_SIZE - 2,
			y - EDIT_TICKMARK_SIZE - 2,
			x + EDIT_TICKMARK_SIZE + 1,
			y + EDIT_TICKMARK_SIZE + 1
		);
	}
}
开发者ID:Fooway,项目名称:SAGA-GIS-git-mirror,代码行数:26,代码来源:wksp_shapes_edit.cpp

示例4: draw_plot

void Plotter::draw_plot(wxDC& dc){
	int x_cur;
	std::vector<double>* V;
	for(int i=0;i< (int)values.size(); i++){
		V = values.at(i);
		dc.SetBrush(*this->colors.at( i % (int)this->colors.size() ));
		wxPen pen(*this->colors.at( i % (int)this->colors.size() ));
		pen.SetWidth(this->pen_width);
		if(i>=(int)this->colors.size())
			pen.SetStyle(wxLONG_DASH);
		dc.SetPen(pen);
		x_cur = this->margin_x;
		if( (int)V->size()==1){
			// special case of only one sample; next block assumes at least two samples.
			wxCoord y = this->y_orig - (V->at(0) * this->scale_v);
			if(this->min_y < 0 ){
				int offset = (int)floor(this->min_y) - 1;
				y += (offset * this->scale_v );
			}
			if( V->at(0)!=NA_VALUE )
				dc.DrawCircle(x_cur, y, 2);
		}
		else{
			for(int j=0; j<(int)V->size()-1; j++){
				wxCoord y1 = this->y_orig - (V->at(j) * this->scale_v);
				wxCoord y2 = this->y_orig - (V->at(j+1) * this->scale_v);
				if(this->min_y < 0 ){
					int offset = (int)this->min_y - 1;
					y1 += (offset * this->scale_v );
					y2 += (offset * this->scale_v );
				}
				wxCoord x1 = x_cur;
				wxCoord x2 = x1 + this->scale_h;
				if( this->draw_lines_on_plot ){
					if( V->at(j)!=NA_VALUE && V->at(j+1)!= NA_VALUE)
						dc.DrawLine(x1, y1, x2, y2);
				}
				if( V->at(j)!=NA_VALUE )
					dc.DrawCircle(x1, y1, 2);
				if( V->at(j+1)!=NA_VALUE )
					dc.DrawCircle(x2, y2, 2);
				x_cur += this->scale_h;
			}
		}
	}
}
开发者ID:DavidQuigley,项目名称:QuantitativeGenetics,代码行数:46,代码来源:PanelPlotter.cpp

示例5: renderTrue

void BasicDrawPane::renderTrue(wxDC& dc)
{
	dc.Clear();
	// draw a circle
	if (menu->number != 0)
	{
	dc.SetBrush(*wxGREEN_BRUSH); // green filling
    dc.SetPen( wxPen( wxColor(255,0,0), 3 ) ); // 5-pixels-thick red outline
    dc.DrawCircle( wxPoint(menu->pArray[0].x, menu->pArray[0].y), 10 /* radius */ );

	dc.SetBrush(*wxBLUE_BRUSH);
	dc.SetPen( wxPen( wxColor(255,255,0), 3 ) );
	for (int i = 1; i < menu->number; i++)
	{
		dc.DrawCircle( wxPoint(menu->pArray[i].x,menu->pArray[i].y), 5 /* radius */ );
	}
	}
}
开发者ID:rlorlo,项目名称:CIS22C-DataStructure,代码行数:18,代码来源:BasicDrawPane.cpp

示例6: render

void CurvePane::render(wxDC&  dc)
{
	double px = 0.0;
	double py = 0.0;
	double x=0, y=0;
	dc.Clear();
	int w, h;
	dc.GetSize(&w, &h);
	int m=10;
	int radius;
	wxConfigBase::Get()->Read("tool.curve.controlpointradius",&radius,5);
	
	//x axis:
	dc.DrawLine(m,h-m,m,h-m-255);
	//y axis:
	dc.DrawLine(m,h-m,m+255,h-m);

	//center lines:
	dc.SetPen(*wxLIGHT_GREY_PEN);
	dc.DrawLine(m+128,h-m,m+128,h-m-255);
	dc.DrawLine(m,h-m-128,m+255,h-m-128);
	//null curve:
	dc.DrawLine(m,h-m,m+255,h-m-255);
	//quarter lines:
	dc.SetPen(wxPen(wxColour(192,192,192), 1, wxPENSTYLE_DOT_DASH ));
	dc.DrawLine(m+64,h-m,m+64,h-m-255);
	dc.DrawLine(m,h-m-64,m+255,h-m-64);
	dc.DrawLine(m+192,h-m,m+192,h-m-255);
	dc.DrawLine(m,h-m-192,m+255,h-m-192);
	dc.SetPen(*wxBLACK_PEN);

	//double ax = ((double) w/x);
	//double ay = ((double) h/y)*z;


	for (double x=0.0; x<256.0; x++) {
		y=c.getpoint(x);
		if (y>255.0) y = 255.0; if (y<0.0) y=0.0;
		dc.DrawLine(m+px,h-m-py,m+x,h-m-y);
		px = x;
		py = y;
	}

	//if (mousemotion)dc.DrawCircle(pos,5);
	std::vector<cp> controlpts = c.getControlPoints();
	for (unsigned int i=0; i<controlpts.size(); i++) {
		if ((controlpts[i].x == selectedCP.x) & (controlpts[i].y == selectedCP.y)) {
			//dc.DrawText(wxString::Format("%d,%d",selectedCP.x,selectedCP.y),selectedCP.x-20,selectedCP.y-20);
			dc.SetPen(*wxRED_PEN);
		}
		dc.DrawCircle(m+controlpts[i].x,h-m-controlpts[i].y,radius);
		dc.SetPen(*wxBLACK_PEN);
	}
}
开发者ID:butcherg,项目名称:rawproc,代码行数:54,代码来源:CurvePane.cpp

示例7: DrawHover

void wxSFCircleShape::DrawHover(wxDC& dc)
{
	// HINT: overload it for custom actions...

	wxRealPoint pos = GetAbsolutePosition();

	dc.SetPen(wxPen(m_nHoverColor, 1));
	dc.SetBrush(m_Fill);
	dc.DrawCircle(int(pos.x + m_nRectSize.x/2), int(pos.y + m_nRectSize.y/2), int(m_nRectSize.x/2));
	dc.SetBrush(wxNullBrush);
	dc.SetPen(wxNullPen);
}
开发者ID:BlitzMaxModules,项目名称:wx.mod,代码行数:12,代码来源:CircleShape.cpp

示例8: DrawHover

void wxSFConnectionPoint::DrawHover(wxDC& dc)
{
    // HINT: overload it for custom actions...

    dc.SetPen( *wxBLACK_PEN );
    dc.SetBrush( *wxRED_BRUSH );

    dc.DrawCircle( Conv2Point( GetConnectionPoint() ), RADIUS );

    dc.SetBrush( wxNullBrush );
    dc.SetPen( wxNullPen );
}
开发者ID:since2014,项目名称:codelite,代码行数:12,代码来源:ShapeDockpoint.cpp

示例9: DrawKnob

void kwxAngularRegulator::DrawKnob(wxDC &temp_dc)
{
	double x, y ;

	x = (m_nClientHeight / 2) - m_dxi ;
	y = (m_nClientHeight / 2) - m_dyi ;


	temp_dc.SetPen(*wxThePenList->FindOrCreatePen(m_cKnobBorderColour, 1, wxSOLID));
	temp_dc.SetBrush(*wxTheBrushList->FindOrCreateBrush(m_cKnobColour,wxSOLID));

	temp_dc.DrawCircle(x, y, 5) ;
}
开发者ID:DowerChest,项目名称:codeblocks,代码行数:13,代码来源:AngularRegulator.cpp

示例10: _Draw_Points

//---------------------------------------------------------
void CVIEW_ScatterPlot::_Draw_Points(wxDC &dc, wxRect r)
{
	double	dx	= (r.GetWidth () - 1.) / m_Trend.Get_Data_XStats().Get_Range();
	double	dy	= (r.GetHeight() - 1.) / m_Trend.Get_Data_YStats().Get_Range();

	for(int i=0; i<m_Trend.Get_Data_Count(); i++)
	{
		dc.DrawCircle(
			GET_DC_X(m_Trend.Get_Data_X(i)),
			GET_DC_Y(m_Trend.Get_Data_Y(i)), 2
		);
	}
}
开发者ID:johanvdw,项目名称:SAGA-GIS-git-mirror,代码行数:14,代码来源:view_scatterplot.cpp

示例11: DrawShadow

void wxSFCircleShape::DrawShadow(wxDC& dc)
{
	// HINT: overload it for custom actions...

    if( m_Fill.GetStyle() != wxTRANSPARENT )
    {
        wxRealPoint pos = GetAbsolutePosition();

        dc.SetPen(*wxTRANSPARENT_PEN);
        dc.SetBrush(GetParentCanvas()->GetShadowFill());
        dc.DrawCircle(int(pos.x + m_nRectSize.x/2 + GetParentCanvas()->GetShadowOffset().x), int(pos.y + m_nRectSize.y/2 + GetParentCanvas()->GetShadowOffset().y), int(m_nRectSize.x/2));
        dc.SetBrush(wxNullBrush);
        dc.SetPen(wxNullPen);
    }
}
开发者ID:BlitzMaxModules,项目名称:wx.mod,代码行数:15,代码来源:CircleShape.cpp

示例12: Paint

void BasicDrawPanel::Paint(wxDC &dc)
{
	dc.SetPen( wxPen( wxColor(255,0,0), 3 ) );
	switch(mMeassure)
	{
		case M_DIFF:
			dc.SetPen( wxPen( wxColor(255,0,0), 3 ) );
			dc.DrawLine( mapx(mMStartX), mapy(mMStartY), mapx(mMEndX), mapy(mMEndY));
			break;
		case M_POINT:
			dc.DrawCircle(mapx(mMStartX), mapy(mMStartY),3);
			break;
		default:
			break;
	}
}
开发者ID:skopein,项目名称:Skopein,代码行数:16,代码来源:BasicDrawPanel.cpp

示例13: PaintControls

void PCPNewCanvas::PaintControls(wxDC& dc)
{
	if (!show_pcp_control) return;
	// draw control line
	wxPen pen(*wxBLUE_PEN);
	pen.SetWidth(2);
	dc.SetPen(pen);
	dc.SetBrush(*wxWHITE_BRUSH);
	wxPoint cpt = control_circs[control_line_sel]->center;
	cpt.x += control_circs[control_line_sel]->getXNudge();
	cpt.y = sel2.y;
	int x_end = control_lines[control_line_sel]->points[1].x;
	
	dc.DrawLine(cpt.x, cpt.y, x_end, cpt.y);
	dc.DrawCircle(cpt, control_circs[control_line_sel]->radius);
}
开发者ID:gouchangjiang,项目名称:opengeoda,代码行数:16,代码来源:PCPNewView.cpp

示例14: DrawTrajectory

void PreviewWindow::DrawTrajectory(wxDC& dc)
{
	Point previous;
	dc.SetPen(wxPen(trajectoryColour, lineWidth*2, wxSOLID));
	for_each(trajectory.begin(), trajectory.end(), [&](Point& p)
	{
		Point start = TransformPoint(previous);
		Point end = TransformPoint(p);
		if(drawTrajectory)
			dc.DrawLine(start.x, start.y, end.x, end.y);
		previous = p;
	});
	dc.SetPen(wxPen(trajectoryColour, lineWidth, wxSOLID));
	dc.SetBrush(*wxRED_BRUSH);
	previous = TransformPoint(previous);
	dc.DrawCircle(previous.x, previous.y, 4);
}
开发者ID:yaqwsx,项目名称:SOC---Design-of-a-CNC-Control-System,代码行数:17,代码来源:PreviewWindow.cpp

示例15: _Draw_Box

//---------------------------------------------------------
inline void CWKSP_Layer_Legend::_Draw_Box(wxDC &dc, int y, int dy, wxColour Color)
{
	wxPen	Pen;
	wxBrush	Brush;

	//-----------------------------------------------------
	_Set_Size(0, dy);

	dy	-= BOX_SPACE;

	//-----------------------------------------------------
	if( m_Box_bOutline == false )
	{
		Pen		= dc.GetPen();
		Pen.SetColour(Color);
		dc.SetPen(Pen);
	}

	if( m_Box_bFill )
	{
		Brush	= dc.GetBrush();
		Brush.SetColour(Color);
		dc.SetBrush(Brush);
	}

	//-----------------------------------------------------
	switch( m_BoxStyle )
	{
	case BOXSTYLE_LINE:
		dc.DrawLine(m_xBox                  , y + dy / 2, m_xBox +     m_dxBox / 4, y);
		dc.DrawLine(m_xBox +     m_dxBox / 4, y         , m_xBox + 3 * m_dxBox / 4, y + dy);
		dc.DrawLine(m_xBox + 3 * m_dxBox / 4, y + dy    , m_xBox +     m_dxBox    , y + dy / 2);
		break;

	case BOXSTYLE_CIRCLE:
		dc.DrawCircle(m_xBox + m_dxBox / 2, y + dy / 2, dy / 2);
		break;

	case BOXSTYLE_RECT:	default:
		dc.DrawRectangle(m_xBox, y, m_dxBox, dy);
		break;
	}
}
开发者ID:am2222,项目名称:SAGA-GIS,代码行数:44,代码来源:wksp_layer_legend.cpp


注:本文中的wxDC::DrawCircle方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。