Diffstat (limited to 'noncore/graphics/drawpad/erasetool.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/drawpad/erasetool.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/noncore/graphics/drawpad/erasetool.cpp b/noncore/graphics/drawpad/erasetool.cpp index f77e038..2326da5 100644 --- a/noncore/graphics/drawpad/erasetool.cpp +++ b/noncore/graphics/drawpad/erasetool.cpp | |||
@@ -29,31 +29,31 @@ EraseTool::EraseTool(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas) | |||
29 | EraseTool::~EraseTool() | 29 | EraseTool::~EraseTool() |
30 | { | 30 | { |
31 | } | 31 | } |
32 | 32 | ||
33 | void EraseTool::mousePressEvent(QMouseEvent* e) | 33 | void EraseTool::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 | } |
38 | 40 | ||
39 | void EraseTool::mouseReleaseEvent(QMouseEvent* e) | 41 | void EraseTool::mouseReleaseEvent(QMouseEvent* e) |
40 | { | 42 | { |
41 | Q_UNUSED(e) | 43 | Q_UNUSED(e) |
42 | 44 | ||
43 | m_mousePressed = false; | 45 | m_mousePressed = false; |
44 | |||
45 | m_pDrawPadCanvas->backupPage(); | ||
46 | } | 46 | } |
47 | 47 | ||
48 | void EraseTool::mouseMoveEvent(QMouseEvent* e) | 48 | void EraseTool::mouseMoveEvent(QMouseEvent* e) |
49 | { | 49 | { |
50 | if (m_mousePressed) { | 50 | if (m_mousePressed) { |
51 | QPainter painter; | 51 | QPainter painter; |
52 | QPen pen(Qt::white, m_pDrawPad->pen().width()); | 52 | QPen pen(Qt::white, m_pDrawPad->pen().width()); |
53 | painter.begin(m_pDrawPadCanvas->currentPage()); | 53 | painter.begin(m_pDrawPadCanvas->currentPage()->pixmap()); |
54 | painter.setPen(pen); | 54 | painter.setPen(pen); |
55 | m_polyline[2] = m_polyline[1]; | 55 | m_polyline[2] = m_polyline[1]; |
56 | m_polyline[1] = m_polyline[0]; | 56 | m_polyline[1] = m_polyline[0]; |
57 | m_polyline[0] = e->pos(); | 57 | m_polyline[0] = e->pos(); |
58 | painter.drawPolyline(m_polyline); | 58 | painter.drawPolyline(m_polyline); |
59 | painter.end(); | 59 | painter.end(); |
@@ -66,11 +66,11 @@ void EraseTool::mouseMoveEvent(QMouseEvent* e) | |||
66 | r.setBottom(r.bottom() + m_pDrawPad->pen().width()); | 66 | r.setBottom(r.bottom() + m_pDrawPad->pen().width()); |
67 | 67 | ||
68 | QRect viewportRect(m_pDrawPadCanvas->contentsToViewport(r.topLeft()), | 68 | QRect viewportRect(m_pDrawPadCanvas->contentsToViewport(r.topLeft()), |
69 | m_pDrawPadCanvas->contentsToViewport(r.bottomRight())); | 69 | m_pDrawPadCanvas->contentsToViewport(r.bottomRight())); |
70 | 70 | ||
71 | bitBlt(m_pDrawPadCanvas->viewport(), viewportRect.x(), viewportRect.y(), | 71 | bitBlt(m_pDrawPadCanvas->viewport(), viewportRect.x(), viewportRect.y(), |
72 | m_pDrawPadCanvas->currentPage(), r.x(), r.y(), r.width(), r.height()); | 72 | m_pDrawPadCanvas->currentPage()->pixmap(), r.x(), r.y(), r.width(), r.height()); |
73 | 73 | ||
74 | m_pDrawPadCanvas->viewport()->update(viewportRect); | 74 | m_pDrawPadCanvas->viewport()->update(viewportRect); |
75 | } | 75 | } |
76 | } | 76 | } |