From 2910de560ead3ff65db26292fc27e427a5cf9b5e Mon Sep 17 00:00:00 2001 From: Javier Date: Sun, 14 Jun 2015 05:18:53 +0200 Subject: add export feature and desktop file --- notebookview.cc | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'notebookview.cc') diff --git a/notebookview.cc b/notebookview.cc index 2bca4f7..f433664 100644 --- a/notebookview.cc +++ b/notebookview.cc @@ -88,6 +88,34 @@ void NotebookView::setZoom(int zoom) } } +QSize NotebookView::getCurPageSize() const +{ + return _nb->getPageSize(_curPage); +} + +QRect NotebookView::getCurPageTrim() const +{ + return _nb->getPageTrim(_curPage); +} + +QImage NotebookView::exportPage(int pageNum) const +{ + const QRect pageTrim = getCurPageTrim(); + QImage image(pageTrim.width() / 4, pageTrim.height() / 4, QImage::Format_RGB32); + QPainter painter(&image); + painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); + renderPage(&painter, pageNum, QRectF(), pageTrim); + return image; +} + +void NotebookView::renderPage(QPainter *painter, int pageNum, const QRectF &target, const QRectF &source) const +{ + QGraphicsScene scene; + PageItem *item = new PageItem(_nb, 0, pageNum); + scene.addItem(item); + scene.render(painter, target, source, Qt::KeepAspectRatio); +} + void NotebookView::requestPaperReplay(const QString &file, qint64 time) { emit paperReplayRequested(file, time); -- cgit v1.2.3