void ShapesWidget::drawEmwebLogo(WPainter& painter) { painter.save(); painter.setPen(NoPen); /* * The emweb logo can be drawn as 3 e's, and one combined m/w */ // Emweb painter.setBrush(black); drawEmwebE(painter); // emwEb painter.save(); painter.translate(397, 0); drawEmwebE(painter); // emweB painter.translate(210, 0); painter.scale(-1, 1); drawEmwebE(painter); painter.restore(); // eMWeb painter.setBrush(emweb); drawEmwebMW(painter); painter.restore(); }
void WCartesianChart::renderLegendIcon(WPainter& painter, const WPointF& pos, const WDataSeries& series) const { switch (series.type()) { case BarSeries: { WPainterPath path; path.moveTo(-6, 8); path.lineTo(-6, -8); path.lineTo(6, -8); path.lineTo(6, 8); painter.setPen(series.pen()); painter.setBrush(series.brush()); painter.translate(pos.x() + 7.5, pos.y()); painter.drawPath(path); painter.translate(-(pos.x() + 7.5), -pos.y()); break; } case LineSeries: case CurveSeries: { painter.setPen(series.pen()); double offset = (series.pen().width() == 0 ? 0.5 : 0); painter.drawLine(pos.x(), pos.y() + offset, pos.x() + 16, pos.y() + offset); } // no break; case PointSeries: { WPainterPath path; drawMarker(series, path); if (!path.isEmpty()) { painter.translate(pos.x() + 8, pos.y()); painter.setPen(series.markerPen()); painter.setBrush(series.markerBrush()); painter.drawPath(path); painter.translate(- (pos.x() + 8), -pos.y()); } break; } } }
void WCartesianChart::renderLegendItem(WPainter& painter, const WPointF& pos, const WDataSeries& series) const { WPen fontPen = painter.pen(); renderLegendIcon(painter, pos, series); painter.setPen(fontPen); painter.drawText(pos.x() + 17, pos.y() - 10, 100, 20, AlignLeft | AlignMiddle, asString(model()->headerData(series.modelColumn()))); }
void WSlider::paintTick(WPainter& painter, int value, int x, int y) { if (!tickPosition_.empty()) { int h = 0; if (orientation_ == Orientation::Horizontal) h = (int)painter.device()->height().toPixels(); else h = (int)painter.device()->width().toPixels(); WPen pen; pen.setColor(WColor(0xd7, 0xd7, 0xd7)); pen.setCapStyle(PenCapStyle::Flat); pen.setWidth(1); painter.setPen(pen); int y1 = h / 4; int y2 = h / 2 - 4; int y3 = h / 2 + 4; int y4 = h - h/4; switch (orientation_) { case Orientation::Horizontal: if (tickPosition_.test(WSlider::TickPosition::TicksAbove)) painter.drawLine(x + 0.5, y1, x + 0.5, y2); if (tickPosition_.test(WSlider::TickPosition::TicksBelow)) painter.drawLine(x + 0.5, y3, x + 0.5, y4); break; case Orientation::Vertical: if (tickPosition_.test(WSlider::TickPosition::TicksAbove)) painter.drawLine(y1, y + 0.5, y2, y + 0.5); if (tickPosition_.test(WSlider::TickPosition::TicksBelow)) painter.drawLine(y3, y + 0.5, y4, y + 0.5); } } }