summaryrefslogtreecommitdiff
path: root/noncore/graphics/drawpad/pointtool.cpp
Unidiff
Diffstat (limited to 'noncore/graphics/drawpad/pointtool.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/pointtool.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/noncore/graphics/drawpad/pointtool.cpp b/noncore/graphics/drawpad/pointtool.cpp
index a4f846e..b9b52bc 100644
--- a/noncore/graphics/drawpad/pointtool.cpp
+++ b/noncore/graphics/drawpad/pointtool.cpp
@@ -30,23 +30,23 @@ PointTool::PointTool(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas)
30PointTool::~PointTool() 30PointTool::~PointTool()
31{ 31{
32} 32}
33 33
34void PointTool::mousePressEvent(QMouseEvent* e) 34void PointTool::mousePressEvent(QMouseEvent* e)
35{ 35{
36 m_pDrawPadCanvas->backupPage();
37
36 m_mousePressed = true; 38 m_mousePressed = true;
37 m_polyline[2] = m_polyline[1] = m_polyline[0] = e->pos(); 39 m_polyline[2] = m_polyline[1] = m_polyline[0] = e->pos();
38} 40}
39 41
40void PointTool::mouseReleaseEvent(QMouseEvent* e) 42void PointTool::mouseReleaseEvent(QMouseEvent* e)
41{ 43{
42 Q_UNUSED(e) 44 Q_UNUSED(e)
43 45
44 m_mousePressed = false; 46 m_mousePressed = false;
45
46 m_pDrawPadCanvas->backupPage();
47} 47}
48 48
49void PointTool::mouseMoveEvent(QMouseEvent* e) 49void PointTool::mouseMoveEvent(QMouseEvent* e)
50{ 50{
51 if (m_mousePressed) { 51 if (m_mousePressed) {
52 m_polyline[2] = m_polyline[1]; 52 m_polyline[2] = m_polyline[1];
@@ -58,13 +58,13 @@ void PointTool::mouseMoveEvent(QMouseEvent* e)
58 r.setLeft(r.left() - m_pDrawPad->pen().width()); 58 r.setLeft(r.left() - m_pDrawPad->pen().width());
59 r.setTop(r.top() - m_pDrawPad->pen().width()); 59 r.setTop(r.top() - m_pDrawPad->pen().width());
60 r.setRight(r.right() + m_pDrawPad->pen().width()); 60 r.setRight(r.right() + m_pDrawPad->pen().width());
61 r.setBottom(r.bottom() + m_pDrawPad->pen().width()); 61 r.setBottom(r.bottom() + m_pDrawPad->pen().width());
62 62
63 QPainter painter; 63 QPainter painter;
64 painter.begin(m_pDrawPadCanvas->currentPage()); 64 painter.begin(m_pDrawPadCanvas->currentPage()->pixmap());
65 65
66 if (m_pDrawPad->antiAliasing()) { 66 if (m_pDrawPad->antiAliasing()) {
67 QPixmap areaPixmap(r.width(), r.height()); 67 QPixmap areaPixmap(r.width(), r.height());
68 bitBlt(&areaPixmap, QPoint(0, 0), painter.device(), r); 68 bitBlt(&areaPixmap, QPoint(0, 0), painter.device(), r);
69 69
70 QImage areaImage = areaPixmap.convertToImage(); 70 QImage areaImage = areaPixmap.convertToImage();
@@ -101,11 +101,11 @@ void PointTool::mouseMoveEvent(QMouseEvent* e)
101 painter.end(); 101 painter.end();
102 102
103 QRect viewportRect(m_pDrawPadCanvas->contentsToViewport(r.topLeft()), 103 QRect viewportRect(m_pDrawPadCanvas->contentsToViewport(r.topLeft()),
104 m_pDrawPadCanvas->contentsToViewport(r.bottomRight())); 104 m_pDrawPadCanvas->contentsToViewport(r.bottomRight()));
105 105
106 bitBlt(m_pDrawPadCanvas->viewport(), viewportRect.x(), viewportRect.y(), 106 bitBlt(m_pDrawPadCanvas->viewport(), viewportRect.x(), viewportRect.y(),
107 m_pDrawPadCanvas->currentPage(), r.x(), r.y(), r.width(), r.height()); 107 m_pDrawPadCanvas->currentPage()->pixmap(), r.x(), r.y(), r.width(), r.height());
108 108
109 m_pDrawPadCanvas->viewport()->update(viewportRect); 109 m_pDrawPadCanvas->viewport()->update(viewportRect);
110 } 110 }
111} 111}