summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore 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
@@ -446,99 +446,109 @@ bool DrawPadCanvas::goPreviousPageEnabled()
446 return (m_pages.current() != m_pages.getFirst()); 446 return (m_pages.current() != m_pages.getFirst());
447} 447}
448 448
449bool DrawPadCanvas::goNextPageEnabled() 449bool DrawPadCanvas::goNextPageEnabled()
450{ 450{
451 return (m_pages.current() != m_pages.getLast()); 451 return (m_pages.current() != m_pages.getLast());
452} 452}
453 453
454void DrawPadCanvas::undo() 454void DrawPadCanvas::undo()
455{ 455{
456 *(m_pages.current()) = *(m_pageBackups.prev()); 456 *(m_pages.current()) = *(m_pageBackups.prev());
457 457
458 viewport()->update(); 458 viewport()->update();
459 459
460 emit pageBackupsChanged(); 460 emit pageBackupsChanged();
461} 461}
462 462
463void DrawPadCanvas::redo() 463void DrawPadCanvas::redo()
464{ 464{
465 *(m_pages.current()) = *(m_pageBackups.next()); 465 *(m_pages.current()) = *(m_pageBackups.next());
466 466
467 viewport()->update(); 467 viewport()->update();
468 468
469 emit pageBackupsChanged(); 469 emit pageBackupsChanged();
470} 470}
471 471
472void DrawPadCanvas::goFirstPage() 472void DrawPadCanvas::goFirstPage()
473{ 473{
474 m_pages.first(); 474 m_pages.first();
475 m_pageBackups.clear(); 475 m_pageBackups.clear();
476 m_pageBackups.append(new QPixmap(*(m_pages.current()))); 476 m_pageBackups.append(new QPixmap(*(m_pages.current())));
477 477
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
485void DrawPadCanvas::goPreviousPage() 485void 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
498void DrawPadCanvas::goNextPage() 498void 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
511void DrawPadCanvas::goLastPage() 511void 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
524void DrawPadCanvas::contentsMousePressEvent(QMouseEvent* e) 524void DrawPadCanvas::contentsMousePressEvent(QMouseEvent* e)
525{ 525{
526 m_pDrawPad->tool()->mousePressEvent(e); 526 m_pDrawPad->tool()->mousePressEvent(e);
527} 527}
528 528
529void DrawPadCanvas::contentsMouseReleaseEvent(QMouseEvent* e) 529void DrawPadCanvas::contentsMouseReleaseEvent(QMouseEvent* e)
530{ 530{
531 m_pDrawPad->tool()->mouseReleaseEvent(e); 531 m_pDrawPad->tool()->mouseReleaseEvent(e);
532} 532}
533 533
534void DrawPadCanvas::contentsMouseMoveEvent(QMouseEvent* e) 534void DrawPadCanvas::contentsMouseMoveEvent(QMouseEvent* e)
535{ 535{
536 m_pDrawPad->tool()->mouseMoveEvent(e); 536 m_pDrawPad->tool()->mouseMoveEvent(e);
537} 537}
538 538
539void DrawPadCanvas::drawContents(QPainter* p, int cx, int cy, int cw, int ch) 539void 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}