void DSPDFViewer::swapScreens() { if ( audienceWindow.getMonitor() == 0 ) { audienceWindow.setMonitor(1); secondaryWindow.setMonitor(0); renderPage(); } else { audienceWindow.setMonitor(0); secondaryWindow.setMonitor(1); renderPage(); } }
KReportPage::KReportPage(QWidget *parent, ORODocument *document) : QObject(parent), QGraphicsRectItem() , d(new Private(document)) { //! @todo setAttribute(Qt::WA_NoBackground); //kreportDebug() << "CREATED PAGE"; int pageWidth = 0; int pageHeight = 0; if (d->reportDocument) { QString pageSize = d->reportDocument->pageOptions().getPageSize(); if (pageSize == QLatin1String("Custom")) { // if this is custom sized sheet of paper we will just use those values pageWidth = (int)(d->reportDocument->pageOptions().getCustomWidth()); pageHeight = (int)(d->reportDocument->pageOptions().getCustomHeight()); } else { // lookup the correct size information for the specified size paper pageWidth = d->reportDocument->pageOptions().widthPx(); pageHeight = d->reportDocument->pageOptions().heightPx(); } } setRect(0,0,pageWidth, pageHeight); //kreportDebug() << "PAGE IS " << pageWidth << "x" << pageHeight; d->pixmap = QPixmap(pageWidth, pageHeight); d->renderer = d->factory.createInstance(QLatin1String("screen")); connect(d->reportDocument, SIGNAL(updated(int)), this, SLOT(pageUpdated(int))); d->renderTimer.setSingleShot(true); connect(&d->renderTimer, SIGNAL(timeout()), this, SLOT(renderCurrentPage())); renderPage(1); }
KexiReportPage::KexiReportPage(QWidget *parent, ORODocument *r) : QWidget(parent) { setAttribute(Qt::WA_NoBackground); kDebug() << "CREATED PAGE"; m_reportDocument = r; m_page = 1; QString pageSize = r->pageOptions().getPageSize(); int pageWidth = 0; int pageHeight = 0; if (pageSize == "Custom") { // if this is custom sized sheet of paper we will just use those values pageWidth = (int)(r->pageOptions().getCustomWidth()); pageHeight = (int)(r->pageOptions().getCustomHeight()); } else { // lookup the correct size information for the specified size paper pageWidth = r->pageOptions().widthPx(); pageHeight = r->pageOptions().heightPx(); } setFixedSize(pageWidth, pageHeight); kDebug() << "PAGE IS " << pageWidth << "x" << pageHeight; m_repaint = true; m_pixmap = new QPixmap(pageWidth, pageHeight); setAutoFillBackground(true); renderPage(1); }
bool ORPrintRender::render(ORODocument * pDocument) { if(pDocument == 0 || _printer == 0) return false; _printer->setFullPage(true); bool deleteWhenComplete = false; bool endWhenComplete = false; QPainter localPainter; if(_painter == 0) { deleteWhenComplete = true; _painter = &localPainter; } if(!_painter->isActive()) { endWhenComplete = true; if(!_painter->begin(_printer)) return false; } qreal xDpi = _printer->logicalDpiX(); qreal yDpi = _printer->logicalDpiY(); int fromPage = _printer->fromPage(); if(fromPage > 0) fromPage -= 1; int toPage = _printer->toPage(); if(toPage == 0 || toPage > pDocument->pages()) toPage = pDocument->pages(); for(int copy = 0; copy < _printer->numCopies(); copy++) { for(int page = fromPage; page < toPage; page++) { if(page > 0) _printer->newPage(); int pageToPrint = page; if(_printer->pageOrder() == QPrinter::LastPageFirst) pageToPrint = toPage - 1 - page; QSize margins(_printer->paperRect().left() - _printer->pageRect().left(), _printer->paperRect().top() - _printer->pageRect().top()); renderPage(pDocument, pageToPrint, _painter, xDpi, yDpi, margins, _printer->resolution()); } } if(endWhenComplete) _painter->end(); if(deleteWhenComplete) _painter = 0; return true; }
void DSPDFViewer::gotoPage(unsigned int pageNumber) { if ( m_pagenumber != pageNumber && numberOfPages() > pageNumber ) { m_pagenumber = pageNumber; renderPage(); } else { qWarning() << "Requested page number" << pageNumber << "which is out of range! Ignoring request."; } }
void Client::renderUI(ui::Frame &f) { const Clamped &pageFocusFactor = uiState.pageFocusFactor; renderPage( f, PageType::Home, style.menu.homeOffset, "home", homePage.base); renderPage( f, PageType::Listing, style.menu.listingOffset, "server listing", listingPage.base); renderPage( f, PageType::Settings, style.menu.settingsOffset, "settings", settingsPage.base); if (const auto game = shared.getGame()) { f.drawText( style.menu.closeButtonOffset - sf::Vector2f(10, 0), [&](ui::TextFrame &tf) { tf.setColor(style.menu.statusFontColor); tf.print(" (" + game->status + ")"); tf.print(game->name); }, style.menu.gameDescText, resources.defaultFont); closeButton.render(f); } f.withAlpha( linearTween(1, 0, pageFocusFactor), [&]() { // buttons that fade out as the page focuses quitButton.render(f); aboutButton.render(f); }); f.withAlpha( linearTween(0, 1, pageFocusFactor), [&]() { // buttons that fade in as the page focuses backButton.render(f); }); }
QImage QgsComposition::printPageAsRaster( int page ) { //print out via QImage, code copied from on_mActionExportAsImage_activated int width = ( int )( printResolution() * paperWidth() / 25.4 ); int height = ( int )( printResolution() * paperHeight() / 25.4 ); QImage image( QSize( width, height ), QImage::Format_ARGB32 ); if ( !image.isNull() ) { image.setDotsPerMeterX( printResolution() / 25.4 * 1000 ); image.setDotsPerMeterY( printResolution() / 25.4 * 1000 ); image.fill( 0 ); QPainter imagePainter( &image ); renderPage( &imagePainter, page ); } return image; }
void NcursesAction::render(WINDOW *w) { renderPage(w); mvwprintw(w, 1, 1 + NC_ACTION_NAME, "Name" ); unsigned int i; long unsigned int j; std::shared_ptr<ActionType> element; for (i = 0; i < perPage; i++) { j = (perPage * page) + i; if (j < actionTypeArray->actionTypes.size()) { element = actionTypeArray->actionTypes.at(j) ; renderAction(w, element, (int) (i + 3)); } } }
void QgsComposition::print( QPrinter &printer ) { //set resolution based on composer setting printer.setFullPage( true ); printer.setColorMode( QPrinter::Color ); //set user-defined resolution printer.setResolution( printResolution() ); QPainter p( &printer ); //QgsComposition starts page numbering at 0 int fromPage = ( printer.fromPage() < 1 ) ? 0 : printer.fromPage() - 1 ; int toPage = ( printer.toPage() < 1 ) ? numPages() - 1 : printer.toPage() - 1; if ( mPrintAsRaster ) { for ( int i = fromPage; i <= toPage; ++i ) { if ( i > fromPage ) { printer.newPage(); } QImage image = printPageAsRaster( i ); if ( !image.isNull() ) { QRectF targetArea( 0, 0, image.width(), image.height() ); p.drawImage( targetArea, image, targetArea ); } } } if ( !mPrintAsRaster ) { for ( int i = fromPage; i <= toPage; ++i ) { if ( i > fromPage ) { printer.newPage(); } renderPage( &p, i ); } } }
void QgsComposition::doPrint( QPrinter& printer, QPainter& p ) { //QgsComposition starts page numbering at 0 int fromPage = ( printer.fromPage() < 1 ) ? 0 : printer.fromPage() - 1 ; int toPage = ( printer.toPage() < 1 ) ? numPages() - 1 : printer.toPage() - 1; if ( mPrintAsRaster ) { for ( int i = fromPage; i <= toPage; ++i ) { if ( i > fromPage ) { printer.newPage(); } QImage image = printPageAsRaster( i ); if ( !image.isNull() ) { QRectF targetArea( 0, 0, image.width(), image.height() ); p.drawImage( targetArea, image, targetArea ); } } } if ( !mPrintAsRaster ) { for ( int i = fromPage; i <= toPage; ++i ) { if ( i > fromPage ) { printer.newPage(); } renderPage( &p, i ); } } }
void KReportPage::renderCurrentPage() { renderPage(d->page + 1); }
DSPDFViewer::DSPDFViewer(const RuntimeConfiguration& r): runtimeConfiguration(r), pdfDocument(Poppler::Document::load(r.filePathQString())) , renderFactory(r.filePathQString()), m_pagenumber(0), audienceWindow(0, r.useFullPage()? PagePart::FullPage : PagePart::LeftHalf , false, r), secondaryWindow(1, r.useFullPage()? PagePart::FullPage : PagePart::RightHalf, true, r, r.useSecondScreen() ) { qDebug() << "Starting constructor" ; if ( ! r.useSecondScreen() ) { secondaryWindow.hide(); } audienceWindow.showLoadingScreen(0); secondaryWindow.showLoadingScreen(0); if ( ! pdfDocument || pdfDocument->isLocked() ) { /// FIXME: Error message throw std::runtime_error("I was not able to open the PDF document. Sorry."); } setHighQuality(true); qDebug() << "Connecting audience window"; audienceWindow.setPageNumberLimits(0, numberOfPages()-1); connect( &renderFactory, SIGNAL(pageRendered(QSharedPointer<RenderedPage>)), &audienceWindow, SLOT(renderedPageIncoming(QSharedPointer<RenderedPage>))); connect( &renderFactory, SIGNAL(thumbnailRendered(QSharedPointer<RenderedPage>)), &audienceWindow, SLOT(renderedThumbnailIncoming(QSharedPointer<RenderedPage>))); connect( &audienceWindow, SIGNAL(nextPageRequested()), this, SLOT(goForward())); connect( &audienceWindow, SIGNAL(previousPageRequested()), this, SLOT(goBackward())); connect( &audienceWindow, SIGNAL(pageRequested(uint)), this, SLOT(gotoPage(uint))); connect( &audienceWindow, SIGNAL(quitRequested()), this, SLOT(exit())); connect( &audienceWindow, SIGNAL(rerenderRequested()), this, SLOT(renderPage())); connect( &audienceWindow, SIGNAL(restartRequested()), this, SLOT(goToStartAndResetClocks())); connect( &audienceWindow, SIGNAL(screenSwapRequested()), this, SLOT(swapScreens()) ); if ( r.useSecondScreen() ) { qDebug() << "Connecting secondary window"; secondaryWindow.setPageNumberLimits(0, numberOfPages()-1); connect( &renderFactory, SIGNAL(pageRendered(QSharedPointer<RenderedPage>)), &secondaryWindow, SLOT(renderedPageIncoming(QSharedPointer<RenderedPage>))); connect( &renderFactory, SIGNAL(thumbnailRendered(QSharedPointer<RenderedPage>)), &secondaryWindow, SLOT(renderedThumbnailIncoming(QSharedPointer<RenderedPage>))); connect( &secondaryWindow, SIGNAL(nextPageRequested()), this, SLOT(goForward())); connect( &secondaryWindow, SIGNAL(previousPageRequested()), this, SLOT(goBackward())); connect( &secondaryWindow, SIGNAL(pageRequested(uint)), this, SLOT(gotoPage(uint))); connect( &secondaryWindow, SIGNAL(quitRequested()), this, SLOT(exit())); connect( &secondaryWindow, SIGNAL(rerenderRequested()), this, SLOT(renderPage())); connect( &secondaryWindow, SIGNAL(restartRequested()), this, SLOT(goToStartAndResetClocks())); connect( &secondaryWindow, SIGNAL(screenSwapRequested()), this, SLOT(swapScreens()) ); connect( this, SIGNAL(presentationClockUpdate(QTime)), &secondaryWindow, SLOT(updatePresentationClock(QTime))); connect( this, SIGNAL(slideClockUpdate(QTime)), &secondaryWindow, SLOT(updateSlideClock(QTime))); connect( this, SIGNAL(wallClockUpdate(QTime)), &secondaryWindow, SLOT(updateWallClock(QTime))); } renderPage(); clockDisplayTimer.setInterval(TIMER_UPDATE_INTERVAL); clockDisplayTimer.start(); connect( &clockDisplayTimer, SIGNAL(timeout()), this, SLOT(sendAllClockSignals())); sendAllClockSignals(); }
void KoReportPage::renderCurrentPage() { renderPage(m_page + 1); }