-rw-r--r-- | noncore/graphics/drawpad/drawpadcanvas.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp index b39a633..65b3dea 100644 --- a/noncore/graphics/drawpad/drawpadcanvas.cpp +++ b/noncore/graphics/drawpad/drawpadcanvas.cpp @@ -534,11 +534,21 @@ void DrawPadCanvas::contentsMouseReleaseEvent(QMouseEvent* e) void DrawPadCanvas::contentsMouseMoveEvent(QMouseEvent* e) { m_pDrawPad->tool()->mouseMoveEvent(e); } void DrawPadCanvas::drawContents(QPainter* p, int cx, int cy, int cw, int ch) { QRect clipRect(cx, cy, cw, ch); + QRect pixmapRect(0, 0, m_pages.current()->width(), m_pages.current()->height()); + QRect drawRect = pixmapRect.intersect(clipRect); - p->drawPixmap(clipRect.topLeft(), *(m_pages.current()), clipRect); + p->drawPixmap(drawRect.topLeft(), *(m_pages.current()), drawRect); + + if (drawRect.right() < clipRect.right()) { + p->fillRect(drawRect.right() + 1, cy, cw - drawRect.width(), ch, colorGroup().dark()); + } + + if (drawRect.bottom() < clipRect.bottom()) { + p->fillRect(cx, drawRect.bottom() + 1, cw, ch - drawRect.height(), colorGroup().dark()); + } } |