-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 @@ -540,5 +540,15 @@ 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()); + } } |