diff options
author | Andy Nichols <andy.nichols@digia.com> | 2014-09-08 18:22:45 +0200 |
---|---|---|
committer | Andy Nichols <andy.nichols@digia.com> | 2014-10-21 15:05:34 +0300 |
commit | cc972dc16c5ebcff5e8dc728f98605ad4e899c8c (patch) | |
tree | 35e14b6a9ecfed367551cf80989fb06fba1eecc2 /src/plugins/scenegraph/softwarecontext/rectanglenode.h | |
parent | d2eb3152552846b88d693d5381c5bdbbf395e76c (diff) |
Improve quality of RectangleNodes when rotated
When there is a rotation transformation on a RectangleNode it is not
possible to take advantage of accelerated blitter paths, but we still
need to do custom painting to recreate the behavior of a Rectangle
component in Qt Quick. Now when there is a rotaiton transformation we
will fall back to using QPainter::drawRect as long as there is no border
or radius. If there is a border or radius value set though we will
instead first render to a QPixmap before painting as the standard
behavior of QPainter::drawRect and QPainter::drawRoundedRect does not
match the expected behavior of a QQuick Rectangle item. This fixes the
poor quality of rotated Rectangles at the cost of speed.
The Rotation of any item should still be discouraged for performance
reasons, but at least now Rectangles itmes should look correct when
used.
Change-Id: I3919ad732c9b4354a95e28e8dc09fcefd53f604e
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@digia.com>
Diffstat (limited to 'src/plugins/scenegraph/softwarecontext/rectanglenode.h')
-rw-r--r-- | src/plugins/scenegraph/softwarecontext/rectanglenode.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/scenegraph/softwarecontext/rectanglenode.h b/src/plugins/scenegraph/softwarecontext/rectanglenode.h index f4c7cb3dcf..d3bcb2b8dc 100644 --- a/src/plugins/scenegraph/softwarecontext/rectanglenode.h +++ b/src/plugins/scenegraph/softwarecontext/rectanglenode.h @@ -45,6 +45,8 @@ public: void paint(QPainter *); private: + void paintRectangle(QPainter *painter, const QRect &rect); + QRect m_rect; QColor m_color; QColor m_penColor; |