@@ -92,8 +92,8 @@ void BaseCanvas::init(QPaintDevice *device)
9292
9393void BaseCanvas::setBrushColor (const Gfx::Color &color)
9494{
95- brush = QBrush (toQColor (color));
96- painter.setBrush ( brush);
95+ painter. setBrush (toQColor (color));
96+ painter.setPen ( brushToPen (painter. brush ()) );
9797}
9898
9999void BaseCanvas::setLineColor (const Gfx::Color &color)
@@ -162,12 +162,6 @@ void BaseCanvas::setFont(const Gfx::Font &newFont)
162162 painter.setFont (fromGfxFont (newFont, painter.font ()));
163163}
164164
165- void BaseCanvas::setTextColor (const Gfx::Color &color)
166- {
167- textPen = colorToPen (color);
168- painter.setPen (textPen);
169- }
170-
171165void BaseCanvas::beginDropShadow () {}
172166
173167void BaseCanvas::setDropShadowBlur (double ) {}
@@ -199,29 +193,28 @@ void BaseCanvas::rectangle(const Geom::Rect &rect)
199193
200194void BaseCanvas::text (const Geom::Rect &rect, const std::string &text)
201195{
202- painter.setPen (textPen );
196+ painter.setPen (brushToPen (painter. brush ()) );
203197 painter.drawText (toQRect (rect),
204198 Qt::AlignLeft,
205199 QString::fromStdString (text));
206200}
207201
208- void BaseCanvas::setBrushGradient (const Geom::Line &line,
209- const Gfx::ColorGradient &gradient)
202+ void BaseCanvas::setBrushGradient (const Gfx::LinearGradient &gradient)
210203{
211- QLinearGradient qGradient (toQPoint (line.begin ),
212- toQPoint (line.end ));
213- for (auto stop : gradient.stops ) {
214- qGradient.setColorAt (stop.pos , toQColor (stop.value ));
215- }
204+ QLinearGradient qGradient (toQPoint (gradient.line .begin ),
205+ toQPoint (gradient.line .end ));
206+ for (auto &&[pos, value] : gradient.colors .stops )
207+ qGradient.setColorAt (pos, toQColor (value));
216208 painter.setBrush (QBrush (qGradient));
209+ painter.setPen (brushToPen (painter.brush ()));
217210}
218211
219- QPen BaseCanvas::colorToPen (const Gfx::Color &color)
212+ QPen BaseCanvas::colorToPen (const Gfx::Color &color) const
220213{
221214 return brushToPen (QBrush (toQColor (color)));
222215}
223216
224- QPen BaseCanvas::brushToPen (const QBrush &brush)
217+ QPen BaseCanvas::brushToPen (const QBrush &brush) const
225218{
226219 auto pen = painter.pen ();
227220 pen.setBrush (brush);
0 commit comments