From e4c52e6118760fec29054bd40b67ca449e5a8c7b Mon Sep 17 00:00:00 2001 From: krepa098 Date: Tue, 3 Feb 2015 16:17:37 +0100 Subject: [PATCH] use QPainter::setClipRect --- src/chatlog/content/image.cpp | 2 ++ src/chatlog/content/notificationicon.cpp | 2 ++ src/chatlog/content/spinner.cpp | 2 ++ src/chatlog/content/text.cpp | 2 ++ 4 files changed, 8 insertions(+) diff --git a/src/chatlog/content/image.cpp b/src/chatlog/content/image.cpp index 699fbeab9..14856afc3 100644 --- a/src/chatlog/content/image.cpp +++ b/src/chatlog/content/image.cpp @@ -37,6 +37,8 @@ qreal Image::getAscent() const void Image::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { + painter->setClipRect(boundingRect()); + painter->setRenderHint(QPainter::SmoothPixmapTransform); painter->translate(-size.width() / 2.0, -size.height() / 2.0); painter->drawPixmap(0, 0, pmap); diff --git a/src/chatlog/content/notificationicon.cpp b/src/chatlog/content/notificationicon.cpp index 887247761..e454fc721 100644 --- a/src/chatlog/content/notificationicon.cpp +++ b/src/chatlog/content/notificationicon.cpp @@ -42,6 +42,8 @@ QRectF NotificationIcon::boundingRect() const void NotificationIcon::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { + painter->setClipRect(boundingRect()); + painter->setRenderHint(QPainter::SmoothPixmapTransform); painter->translate(-size.width() / 2.0, -size.height() / 2.0); diff --git a/src/chatlog/content/spinner.cpp b/src/chatlog/content/spinner.cpp index 262b4a35b..cfa29fe93 100644 --- a/src/chatlog/content/spinner.cpp +++ b/src/chatlog/content/spinner.cpp @@ -40,6 +40,8 @@ QRectF Spinner::boundingRect() const void Spinner::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { + painter->setClipRect(boundingRect()); + QTransform rotMat; rotMat.translate(size.width() / 2.0, size.height() / 2.0); rotMat.rotate(rot); diff --git a/src/chatlog/content/text.cpp b/src/chatlog/content/text.cpp index 6119f6100..838e84600 100644 --- a/src/chatlog/content/text.cpp +++ b/src/chatlog/content/text.cpp @@ -155,6 +155,8 @@ void Text::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWid { if(doc) { + painter->setClipRect(boundingRect()); + // draw selection QAbstractTextDocumentLayout::PaintContext ctx; QAbstractTextDocumentLayout::Selection sel;