author | leseb <leseb> | 2002-04-23 21:24:05 (UTC) |
---|---|---|
committer | leseb <leseb> | 2002-04-23 21:24:05 (UTC) |
commit | 0b77115683f1b8d339cdf07755e22d443caf310a (patch) (unidiff) | |
tree | a37ef63fea1b3dbf9f396f7a79030e4d04629952 | |
parent | 7200c56e4ccc6aa83d1a3ef86ddda9470492ab52 (diff) | |
download | opie-0b77115683f1b8d339cdf07755e22d443caf310a.zip opie-0b77115683f1b8d339cdf07755e22d443caf310a.tar.gz opie-0b77115683f1b8d339cdf07755e22d443caf310a.tar.bz2 |
Fix bug when drawing page with size inferior to view size
-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 | |||
@@ -478,67 +478,77 @@ void DrawPadCanvas::goFirstPage() | |||
478 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); | 478 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); |
479 | viewport()->update(); | 479 | viewport()->update(); |
480 | 480 | ||
481 | emit pagesChanged(); | 481 | emit pagesChanged(); |
482 | emit pageBackupsChanged(); | 482 | emit pageBackupsChanged(); |
483 | } | 483 | } |
484 | 484 | ||
485 | void DrawPadCanvas::goPreviousPage() | 485 | void DrawPadCanvas::goPreviousPage() |
486 | { | 486 | { |
487 | m_pages.prev(); | 487 | m_pages.prev(); |
488 | m_pageBackups.clear(); | 488 | m_pageBackups.clear(); |
489 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); | 489 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); |
490 | 490 | ||
491 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); | 491 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); |
492 | viewport()->update(); | 492 | viewport()->update(); |
493 | 493 | ||
494 | emit pagesChanged(); | 494 | emit pagesChanged(); |
495 | emit pageBackupsChanged(); | 495 | emit pageBackupsChanged(); |
496 | } | 496 | } |
497 | 497 | ||
498 | void DrawPadCanvas::goNextPage() | 498 | void DrawPadCanvas::goNextPage() |
499 | { | 499 | { |
500 | m_pages.next(); | 500 | m_pages.next(); |
501 | m_pageBackups.clear(); | 501 | m_pageBackups.clear(); |
502 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); | 502 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); |
503 | 503 | ||
504 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); | 504 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); |
505 | viewport()->update(); | 505 | viewport()->update(); |
506 | 506 | ||
507 | emit pagesChanged(); | 507 | emit pagesChanged(); |
508 | emit pageBackupsChanged(); | 508 | emit pageBackupsChanged(); |
509 | } | 509 | } |
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 | } |