From: Ivailo Monev Date: Sun, 2 Aug 2020 20:23:10 +0000 (+0300) Subject: optimize QPainter::fillRect() methods X-Git-Tag: 4.12.0~3636 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=18a974dcfe97c4fee1ec26099bd75576cdf82a5e;p=kde%2FKatie.git optimize QPainter::fillRect() methods solid brushes do not have neither texture nor gradient Signed-off-by: Ivailo Monev --- diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 22caa6f5e..86dde0ec0 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -6082,14 +6082,7 @@ void QPainter::fillRect(const QRectF &r, const QBrush &brush) QPen oldPen = pen(); QBrush oldBrush = this->brush(); setPen(Qt::NoPen); - if (brush.style() == Qt::SolidPattern) { - d->colorBrush.setStyle(Qt::SolidPattern); - d->colorBrush.setColor(brush.color()); - setBrush(d->colorBrush); - } else { - setBrush(brush); - } - + setBrush(brush); drawRect(r); setBrush(oldBrush); setPen(oldPen); @@ -6120,14 +6113,7 @@ void QPainter::fillRect(const QRect &r, const QBrush &brush) QPen oldPen = pen(); QBrush oldBrush = this->brush(); setPen(Qt::NoPen); - if (brush.style() == Qt::SolidPattern) { - d->colorBrush.setStyle(Qt::SolidPattern); - d->colorBrush.setColor(brush.color()); - setBrush(d->colorBrush); - } else { - setBrush(brush); - } - + setBrush(brush); drawRect(r); setBrush(oldBrush); setPen(oldPen); diff --git a/src/gui/painting/qpainter_p.h b/src/gui/painting/qpainter_p.h index 7d1b68a8c..b293a86ea 100644 --- a/src/gui/painting/qpainter_p.h +++ b/src/gui/painting/qpainter_p.h @@ -210,7 +210,6 @@ public: QPaintDevice *helper_device; QPaintEngine *engine; QPaintEngineEx *extended; - QBrush colorBrush; // for fill with solid color }; QString qt_generate_brush_key(const QBrush &brush);