예제 #1
0
void XYLineRendererBase::DrawLegendSymbol(wxDC &dc, wxRect rcSymbol, size_t serie)
{
    if (m_drawLines) {
        dc.SetPen(*GetSeriePen(serie));
        dc.DrawLine(rcSymbol.x, rcSymbol.y + rcSymbol.height / 2,
                    rcSymbol.x + rcSymbol.width, rcSymbol.y + rcSymbol.height / 2);
    }

    if (m_drawSymbols) {
        wxColour colour = GetSerieColour(serie);
        Symbol *symbol = GetSerieSymbol(serie);

        symbol->Draw(dc, rcSymbol.x + rcSymbol.width / 2, rcSymbol.y + rcSymbol.height / 2, colour);
    }
}
예제 #2
0
    FOREACH_SERIE(serie, dataset) {
        Symbol *symbol = GetSerieSymbol(serie);
        wxColour color = GetSerieColour(serie);

        for(size_t n = 0; n < dataset->GetCount(serie); ++n) {
            double x = dataset->GetX(n, serie);
            double y = dataset->GetY(n, serie);

            if(horizAxis->IsVisible(x) && vertAxis->IsVisible(y)) {
                int xg = horizAxis->ToGraphics(dc, rc.x, rc.width, x);
                int yg = vertAxis->ToGraphics(dc, rc.y, rc.height, y);

                symbol->Draw(dc, xg, yg, color);
            }
        }
    }