summaryrefslogtreecommitdiff
path: root/noncore/graphics/drawpad/shapetool.cpp
Unidiff
Diffstat (limited to 'noncore/graphics/drawpad/shapetool.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/shapetool.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/noncore/graphics/drawpad/shapetool.cpp b/noncore/graphics/drawpad/shapetool.cpp
index 8870a78..22e3dd6 100644
--- a/noncore/graphics/drawpad/shapetool.cpp
+++ b/noncore/graphics/drawpad/shapetool.cpp
@@ -32,6 +32,8 @@ ShapeTool::~ShapeTool()
32 32
33void ShapeTool::mousePressEvent(QMouseEvent* e) 33void ShapeTool::mousePressEvent(QMouseEvent* e)
34{ 34{
35 m_pDrawPadCanvas->backupPage();
36
35 m_mousePressed = true; 37 m_mousePressed = true;
36 m_polyline[2] = m_polyline[1] = m_polyline[0] = e->pos(); 38 m_polyline[2] = m_polyline[1] = m_polyline[0] = e->pos();
37} 39}
@@ -41,7 +43,7 @@ void ShapeTool::mouseReleaseEvent(QMouseEvent* e)
41 Q_UNUSED(e) 43 Q_UNUSED(e)
42 44
43 QPainter painter; 45 QPainter painter;
44 painter.begin(m_pDrawPadCanvas->currentPage()); 46 painter.begin(m_pDrawPadCanvas->currentPage()->pixmap());
45 drawFinalShape(painter); 47 drawFinalShape(painter);
46 painter.end(); 48 painter.end();
47 49
@@ -56,13 +58,11 @@ void ShapeTool::mouseReleaseEvent(QMouseEvent* e)
56 m_pDrawPadCanvas->contentsToViewport(r.bottomRight())); 58 m_pDrawPadCanvas->contentsToViewport(r.bottomRight()));
57 59
58 bitBlt(m_pDrawPadCanvas->viewport(), viewportRect.x(), viewportRect.y(), 60 bitBlt(m_pDrawPadCanvas->viewport(), viewportRect.x(), viewportRect.y(),
59 m_pDrawPadCanvas->currentPage(), r.x(), r.y(), r.width(), r.height()); 61 m_pDrawPadCanvas->currentPage()->pixmap(), r.x(), r.y(), r.width(), r.height());
60 62
61 m_pDrawPadCanvas->viewport()->update(viewportRect); 63 m_pDrawPadCanvas->viewport()->update(viewportRect);
62 64
63 m_mousePressed = false; 65 m_mousePressed = false;
64
65 m_pDrawPadCanvas->backupPage();
66} 66}
67 67
68void ShapeTool::mouseMoveEvent(QMouseEvent* e) 68void ShapeTool::mouseMoveEvent(QMouseEvent* e)
@@ -70,7 +70,7 @@ void ShapeTool::mouseMoveEvent(QMouseEvent* e)
70 if (m_mousePressed) { 70 if (m_mousePressed) {
71 m_polyline[0] = e->pos(); 71 m_polyline[0] = e->pos();
72 QPainter painter; 72 QPainter painter;
73 painter.begin(m_pDrawPadCanvas->currentPage()); 73 painter.begin(m_pDrawPadCanvas->currentPage()->pixmap());
74 drawTemporaryShape(painter); 74 drawTemporaryShape(painter);
75 painter.end(); 75 painter.end();
76 76
@@ -85,7 +85,7 @@ void ShapeTool::mouseMoveEvent(QMouseEvent* e)
85 m_pDrawPadCanvas->contentsToViewport(r.bottomRight())); 85 m_pDrawPadCanvas->contentsToViewport(r.bottomRight()));
86 86
87 bitBlt(m_pDrawPadCanvas->viewport(), viewportRect.x(), viewportRect.y(), 87 bitBlt(m_pDrawPadCanvas->viewport(), viewportRect.x(), viewportRect.y(),
88 m_pDrawPadCanvas->currentPage(), r.x(), r.y(), r.width(), r.height()); 88 m_pDrawPadCanvas->currentPage()->pixmap(), r.x(), r.y(), r.width(), r.height());
89 89
90 m_pDrawPadCanvas->viewport()->update(viewportRect); 90 m_pDrawPadCanvas->viewport()->update(viewportRect);
91 91