本文整理汇总了C++中wxMemoryDC::DrawCircle方法的典型用法代码示例。如果您正苦于以下问题:C++ wxMemoryDC::DrawCircle方法的具体用法?C++ wxMemoryDC::DrawCircle怎么用?C++ wxMemoryDC::DrawCircle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxMemoryDC
的用法示例。
在下文中一共展示了wxMemoryDC::DrawCircle方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DrawHighlightedShapes
void BoxNewPlotCanvas::DrawHighlightedShapes(wxMemoryDC &dc)
{
int radius = 3;
std::vector<bool>& hs = highlight_state->GetHighlight();
dc.SetBrush(highlight_color);
for (int t=cur_first_ind; t<=cur_last_ind; t++) {
int min_IQR = hinge_stats[t].min_IQR_ind;
int max_IQR = hinge_stats[t].max_IQR_ind;
int ind_base = (t-cur_first_ind)*num_obs;
dc.SetPen(*wxRED_PEN);
for (int i=0; i<min_IQR; i++) {
if (!hs[data_sorted[t][i].second]) continue;
int ind = ind_base + data_sorted[t][i].second;
dc.DrawCircle(selectable_shps[ind]->center, radius);
}
for (int i=max_IQR+1; i<num_obs; i++) {
if (!hs[data_sorted[t][i].second]) continue;
int ind = ind_base + data_sorted[t][i].second;
dc.DrawCircle(selectable_shps[ind]->center, radius);
}
int iqr_s = GenUtils::max<double>(min_IQR, 0);
int iqr_t = GenUtils::min<double>(max_IQR, num_obs-1);
dc.SetPen(highlight_color);
for (int i=iqr_s; i<=iqr_t; i++) {
if (!hs[data_sorted[t][i].second]) continue;
int ind = ind_base + data_sorted[t][i].second;
GdaRectangle* rec = (GdaRectangle*) selectable_shps[ind];
dc.DrawRectangle(rec->lower_left.x, rec->lower_left.y,
rec->upper_right.x - rec->lower_left.x,
rec->upper_right.y - rec->lower_left.y);
}
}
}
示例2: DrawSolvePath
void DrawSolvePath(wxMemoryDC &mem)
{
unsigned int route_count=0;
unsigned int x=0,y=0;
wxBrush yellowback(wxColour(255,255,0),wxSOLID);
wxPen yellow(wxColour(255,255,0),1,wxSOLID);
while ( GetRouteWaypoint(GetWorldHandler(),0,route_count,&x,&y) == 1 )
{
mem.SetPen(yellow);
mem.SetBrush(yellowback);
mem.DrawRectangle(x*map_box_size,y*map_box_size,map_box_size,map_box_size);
++route_count;
}
//printf("Drawing Level 1 Lines \n");
wxPen redfat(wxColour(255,0,0),3,wxSOLID);
unsigned int oldx=0,oldy=0;
if ( GetStraightRouteWaypoint(GetWorldHandler(),OURROBOT,0,&oldx,&oldy)==1 ) { mem.DrawCircle(oldx*10+5,oldy*10+5,3); }
route_count=1;
while ( GetStraightRouteWaypoint(GetWorldHandler(),OURROBOT,route_count,&x,&y)==1 )
{
mem.SetPen(redfat);
mem.DrawCircle(x*map_box_size+map_box_size_half,y*map_box_size+map_box_size_half,3);
mem.DrawLine(oldx*map_box_size+map_box_size_half,oldy*map_box_size+map_box_size_half,x*map_box_size+map_box_size_half,y*map_box_size+map_box_size_half);
++route_count;
oldx = x , oldy = y ;
}
return;
}
示例3: DrawSelectableShapes
void BoxNewPlotCanvas::DrawSelectableShapes(wxMemoryDC &dc)
{
LOG_MSG("In BoxNewPlotCanvas::DrawSelectableShapes");
int radius = TemplateCanvas::markers_size;
for (int t=cur_first_ind; t<=cur_last_ind; t++) {
int min_IQR = hinge_stats[t].min_IQR_ind;
int max_IQR = hinge_stats[t].max_IQR_ind;
int ind_base = (t-cur_first_ind)*num_obs;
dc.SetPen(GdaConst::boxplot_point_color);
dc.SetBrush(*wxWHITE_BRUSH);
for (int i=0; i<min_IQR; i++) {
int ind = ind_base + data_sorted[t][i].second;
dc.DrawCircle(selectable_shps[ind]->center, radius);
}
for (int i=max_IQR+1; i<num_obs; i++) {
int ind = ind_base + data_sorted[t][i].second;
dc.DrawCircle(selectable_shps[ind]->center, radius);
}
int iqr_s = GenUtils::max<double>(min_IQR, 0);
int iqr_t = GenUtils::min<double>(max_IQR, num_obs-1);
dc.SetPen(GdaConst::boxplot_q1q2q3_color);
dc.SetBrush(GdaConst::boxplot_q1q2q3_color);
for (int i=iqr_s; i<=iqr_t; i++) {
int ind = ind_base + data_sorted[t][i].second;
GdaRectangle* rec = (GdaRectangle*) selectable_shps[ind];
dc.DrawRectangle(rec->lower_left.x, rec->lower_left.y,
rec->upper_right.x - rec->lower_left.x,
rec->upper_right.y - rec->lower_left.y);
}
}
}