-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 | |||
@@ -510,35 +510,45 @@ void DrawPadCanvas::goNextPage() | |||
510 | 510 | ||
511 | void DrawPadCanvas::goLastPage() | 511 | void DrawPadCanvas::goLastPage() |
512 | { | 512 | { |
513 | m_pages.last(); | 513 | m_pages.last(); |
514 | m_pageBackups.clear(); | 514 | m_pageBackups.clear(); |
515 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); | 515 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); |
516 | 516 | ||
517 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); | 517 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); |
518 | viewport()->update(); | 518 | viewport()->update(); |
519 | 519 | ||
520 | emit pagesChanged(); | 520 | emit pagesChanged(); |
521 | emit pageBackupsChanged(); | 521 | emit pageBackupsChanged(); |
522 | } | 522 | } |
523 | 523 | ||
524 | void DrawPadCanvas::contentsMousePressEvent(QMouseEvent* e) | 524 | void DrawPadCanvas::contentsMousePressEvent(QMouseEvent* e) |
525 | { | 525 | { |
526 | m_pDrawPad->tool()->mousePressEvent(e); | 526 | m_pDrawPad->tool()->mousePressEvent(e); |
527 | } | 527 | } |
528 | 528 | ||
529 | void DrawPadCanvas::contentsMouseReleaseEvent(QMouseEvent* e) | 529 | void DrawPadCanvas::contentsMouseReleaseEvent(QMouseEvent* e) |
530 | { | 530 | { |
531 | m_pDrawPad->tool()->mouseReleaseEvent(e); | 531 | m_pDrawPad->tool()->mouseReleaseEvent(e); |
532 | } | 532 | } |
533 | 533 | ||
534 | void DrawPadCanvas::contentsMouseMoveEvent(QMouseEvent* e) | 534 | void DrawPadCanvas::contentsMouseMoveEvent(QMouseEvent* e) |
535 | { | 535 | { |
536 | m_pDrawPad->tool()->mouseMoveEvent(e); | 536 | m_pDrawPad->tool()->mouseMoveEvent(e); |
537 | } | 537 | } |
538 | 538 | ||
539 | void DrawPadCanvas::drawContents(QPainter* p, int cx, int cy, int cw, int ch) | 539 | void DrawPadCanvas::drawContents(QPainter* p, int cx, int cy, int cw, int ch) |
540 | { | 540 | { |
541 | QRect clipRect(cx, cy, cw, ch); | 541 | QRect clipRect(cx, cy, cw, ch); |
542 | QRect pixmapRect(0, 0, m_pages.current()->width(), m_pages.current()->height()); | ||
543 | QRect drawRect = pixmapRect.intersect(clipRect); | ||
542 | 544 | ||
543 | p->drawPixmap(clipRect.topLeft(), *(m_pages.current()), clipRect); | 545 | p->drawPixmap(drawRect.topLeft(), *(m_pages.current()), drawRect); |
546 | |||
547 | if (drawRect.right() < clipRect.right()) { | ||
548 | p->fillRect(drawRect.right() + 1, cy, cw - drawRect.width(), ch, colorGroup().dark()); | ||
549 | } | ||
550 | |||
551 | if (drawRect.bottom() < clipRect.bottom()) { | ||
552 | p->fillRect(cx, drawRect.bottom() + 1, cw, ch - drawRect.height(), colorGroup().dark()); | ||
553 | } | ||
544 | } | 554 | } |