Exemple #1
0
void DSPDFViewer::swapScreens()
{
  if ( audienceWindow.getMonitor() == 0 )
  {
    audienceWindow.setMonitor(1);
    secondaryWindow.setMonitor(0);
    renderPage();
  }
  else
  {
    audienceWindow.setMonitor(0);
    secondaryWindow.setMonitor(1);
    renderPage();
  }
}
Exemple #2
0
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;
}
Exemple #5
0
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.";
  }
}
Exemple #6
0
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);
      });
}
Exemple #7
0
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));
    }
  }
}
Exemple #9
0
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 );
    }
  }
}
Exemple #10
0
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 );
    }
  }
}
Exemple #11
0
void KReportPage::renderCurrentPage()
{
    renderPage(d->page + 1);
}
Exemple #12
0
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();
}
Exemple #13
0
void KoReportPage::renderCurrentPage()
{
    renderPage(m_page + 1);
}