Diffstat (limited to 'noncore/graphics/drawpad/erasetool.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/drawpad/erasetool.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/noncore/graphics/drawpad/erasetool.cpp b/noncore/graphics/drawpad/erasetool.cpp index d37c901..828994b 100644 --- a/noncore/graphics/drawpad/erasetool.cpp +++ b/noncore/graphics/drawpad/erasetool.cpp | |||
@@ -20,48 +20,50 @@ | |||
20 | #include <qpixmap.h> | 20 | #include <qpixmap.h> |
21 | 21 | ||
22 | EraseTool::EraseTool(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas) | 22 | EraseTool::EraseTool(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas) |
23 | : Tool(drawPad, drawPadCanvas) | 23 | : Tool(drawPad, drawPadCanvas) |
24 | { | 24 | { |
25 | m_mousePressed = false; | 25 | m_mousePressed = false; |
26 | m_polyline.resize(3); | 26 | m_polyline.resize(3); |
27 | } | 27 | } |
28 | 28 | ||
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_mousePressed = true; | 35 | m_mousePressed = true; |
36 | m_polyline[2] = m_polyline[1] = m_polyline[0] = e->pos(); | 36 | m_polyline[2] = m_polyline[1] = m_polyline[0] = e->pos(); |
37 | } | 37 | } |
38 | 38 | ||
39 | void EraseTool::mouseReleaseEvent(QMouseEvent* e) | 39 | void EraseTool::mouseReleaseEvent(QMouseEvent* e) |
40 | { | 40 | { |
41 | Q_UNUSED(e) | 41 | Q_UNUSED(e) |
42 | 42 | ||
43 | m_mousePressed = false; | 43 | m_mousePressed = false; |
44 | |||
45 | m_pDrawPadCanvas->backupPage(); | ||
44 | } | 46 | } |
45 | 47 | ||
46 | void EraseTool::mouseMoveEvent(QMouseEvent* e) | 48 | void EraseTool::mouseMoveEvent(QMouseEvent* e) |
47 | { | 49 | { |
48 | if (m_mousePressed) { | 50 | if (m_mousePressed) { |
49 | QPainter painter; | 51 | QPainter painter; |
50 | QPen pen(Qt::white, m_pDrawPad->pen().width()); | 52 | QPen pen(Qt::white, m_pDrawPad->pen().width()); |
51 | painter.begin(m_pDrawPadCanvas->currentPage()); | 53 | painter.begin(m_pDrawPadCanvas->currentPage()); |
52 | painter.setPen(pen); | 54 | painter.setPen(pen); |
53 | m_polyline[2] = m_polyline[1]; | 55 | m_polyline[2] = m_polyline[1]; |
54 | m_polyline[1] = m_polyline[0]; | 56 | m_polyline[1] = m_polyline[0]; |
55 | m_polyline[0] = e->pos(); | 57 | m_polyline[0] = e->pos(); |
56 | painter.drawPolyline(m_polyline); | 58 | painter.drawPolyline(m_polyline); |
57 | painter.end(); | 59 | painter.end(); |
58 | 60 | ||
59 | QRect r = m_polyline.boundingRect(); | 61 | QRect r = m_polyline.boundingRect(); |
60 | r = r.normalize(); | 62 | r = r.normalize(); |
61 | r.setLeft(r.left() - m_pDrawPad->pen().width()); | 63 | r.setLeft(r.left() - m_pDrawPad->pen().width()); |
62 | r.setTop(r.top() - m_pDrawPad->pen().width()); | 64 | r.setTop(r.top() - m_pDrawPad->pen().width()); |
63 | r.setRight(r.right() + m_pDrawPad->pen().width()); | 65 | r.setRight(r.right() + m_pDrawPad->pen().width()); |
64 | r.setBottom(r.bottom() + m_pDrawPad->pen().width()); | 66 | r.setBottom(r.bottom() + m_pDrawPad->pen().width()); |
65 | 67 | ||
66 | QRect viewportRect(m_pDrawPadCanvas->contentsToViewport(r.topLeft()), | 68 | QRect viewportRect(m_pDrawPadCanvas->contentsToViewport(r.topLeft()), |
67 | m_pDrawPadCanvas->contentsToViewport(r.bottomRight())); | 69 | m_pDrawPadCanvas->contentsToViewport(r.bottomRight())); |