summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/graphics/drawpad/drawpadcanvas.cpp12
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
@@ -536,9 +536,19 @@ 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());
+ }
}