本文整理汇总了C++中ocpnDC::DrawCircle方法的典型用法代码示例。如果您正苦于以下问题:C++ ocpnDC::DrawCircle方法的具体用法?C++ ocpnDC::DrawCircle怎么用?C++ ocpnDC::DrawCircle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ocpnDC
的用法示例。
在下文中一共展示了ocpnDC::DrawCircle方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Render
void ConfigurationBatchDialog::Render(ocpnDC &dc, PlugIn_ViewPort &vp)
{
if(!IsShown() ||
m_notebookConfigurations->GetCurrentPage() != m_pRoutes)
return;
wxFont mfont( 12, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL );
dc.SetFont( mfont );
dc.SetTextForeground(*wxRED);
// dc.SetTextBackground(*wxTRANSPARENT);
// dc.SetTextBackground(wxColour(0, 0, 0, wxALPHA_TRANSPARENT));
dc.SetPen(wxPen(*wxRED, 3));
for(std::vector<BatchSource*>::iterator it = sources.begin();
it != sources.end(); it++) {
wxPoint p1, p2;
double lat, lon;
RouteMap::PositionLatLon((*it)->Name, lat, lon);
GetCanvasPixLL(&vp, &p1, lat, lon);
dc.DrawText((*it)->Name, p1.x, p1.y);
dc.DrawCircle(p1.x, p1.y, 5);
for(std::list<BatchSource*>::iterator it2 = (*it)->destinations.begin();
it2 != (*it)->destinations.end(); it2++) {
RouteMap::PositionLatLon((*it2)->Name, lat, lon);
GetCanvasPixLL(&vp, &p2, lat, lon);
dc.DrawLine(p1.x, p1.y, p2.x, p2.y);
wxPoint p3((2*p1.x+3*p2.x)/5, (2*p1.y+3*p2.y)/5);
wxPoint p4((p1.x+p2.x)/2, (p1.y+p2.y)/2);
wxPoint p5((p2.y-p1.y)/8, (p1.x-p2.x)/8);
dc.DrawLine(p3.x, p3.y, p4.x+p5.x, p4.y+p5.y);
dc.DrawLine(p3.x, p3.y, p4.x-p5.x, p4.y-p5.y);
}
}
}