void WCartesianChart::drawMarker(const WDataSeries& series, WPainterPath& result) const { const double size = 6.0; const double hsize = size/2; switch (series.marker()) { case CircleMarker: result.addEllipse(-hsize, -hsize, size, size); break; case SquareMarker: result.addRect(WRectF(-hsize, -hsize, size, size)); break; case CrossMarker: result.moveTo(-1.3 * hsize, 0); result.lineTo(1.3 * hsize, 0); result.moveTo(0, -1.3 * hsize); result.lineTo(0, 1.3 * hsize); break; case XCrossMarker: result.moveTo(-hsize, -hsize); result.lineTo(hsize, hsize); result.moveTo(-hsize, hsize); result.lineTo(hsize, -hsize); break; case TriangleMarker: result.moveTo( 0, 0.6 * hsize); result.lineTo(-hsize, 0.6 * hsize); result.lineTo(0, -hsize); result.lineTo(hsize, 0.6 * hsize); result.closeSubPath(); break; case CustomMarker: result = series.customMarker(); break; default: ; } }