summaryrefslogtreecommitdiff
path: root/noncore/graphics/drawpad/ellipsetool.cpp
Unidiff
Diffstat (limited to 'noncore/graphics/drawpad/ellipsetool.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/graphics/drawpad/ellipsetool.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/noncore/graphics/drawpad/ellipsetool.cpp b/noncore/graphics/drawpad/ellipsetool.cpp
index 733bade..0cdb731 100644
--- a/noncore/graphics/drawpad/ellipsetool.cpp
+++ b/noncore/graphics/drawpad/ellipsetool.cpp
@@ -32,7 +32,9 @@ void EllipseTool::drawFinalShape(QPainter& p)
32{ 32{
33 p.setRasterOp(Qt::NotROP); 33 p.setRasterOp(Qt::NotROP);
34 p.drawRect(QRect(m_polyline[2], m_polyline[0])); 34 p.drawRect(QRect(m_polyline[2], m_polyline[0]));
35 p.setRasterOp(Qt::CopyROP);
35 36
37 if (m_pDrawPad->antiAliasing()) {
36 QRect r = m_polyline.boundingRect(); 38 QRect r = m_polyline.boundingRect();
37 r = r.normalize(); 39 r = r.normalize();
38 r.setLeft(r.left() - m_pDrawPad->pen().width()); 40 r.setLeft(r.left() - m_pDrawPad->pen().width());
@@ -64,8 +66,11 @@ void EllipseTool::drawFinalShape(QPainter& p)
64 areaImage = bigAreaImage.smoothScale(bigAreaImage.width() / 3, bigAreaImage.height() / 3); 66 areaImage = bigAreaImage.smoothScale(bigAreaImage.width() / 3, bigAreaImage.height() / 3);
65 areaPixmap.convertFromImage(areaImage); 67 areaPixmap.convertFromImage(areaImage);
66 68
67 p.setRasterOp(Qt::CopyROP);
68 p.drawPixmap(r.x(), r.y(), areaPixmap); 69 p.drawPixmap(r.x(), r.y(), areaPixmap);
70 } else {
71 p.setPen(m_pDrawPad->pen());
72 p.drawEllipse(QRect(m_polyline[2], m_polyline[0]));
73 }
69} 74}
70 75
71void EllipseTool::drawTemporaryShape(QPainter& p) 76void EllipseTool::drawTemporaryShape(QPainter& p)