コード例 #1
0
ファイル: main.cpp プロジェクト: LeBoucEtMistere/Factory
int main(int argc, const char * argv[])
{

    auto triangle = theFactory().create("Triangle");
    auto square = theFactory().create("Square");

    
    if (triangle != nullptr)
        triangle->affiche();
    
    if (square != nullptr)
        square->affiche();
    
    return 0;
}
コード例 #2
0
ファイル: dspdfviewer.cpp プロジェクト: wwwdata/dspdfviewer
void DSPDFViewer::renderPage()
{
  qDebug() << "Requesting rendering of page " << m_pagenumber;
  audienceWindow.showLoadingScreen(m_pagenumber);
  secondaryWindow.showLoadingScreen(m_pagenumber);
  if ( runtimeConfiguration.showThumbnails() ) {
    theFactory()->requestThumbnailRendering(m_pagenumber);
  }
  theFactory()->requestPageRendering( toRenderIdent(m_pagenumber, audienceWindow));
  
  if ( runtimeConfiguration.useSecondScreen() ) {
    theFactory()->requestPageRendering( toRenderIdent(m_pagenumber, secondaryWindow));
  }
  
  /** Pre-Render next pages **/
  for ( unsigned i=m_pagenumber; i<m_pagenumber+runtimeConfiguration.prerenderNextPages() && i < numberOfPages() ; i++) {
    if ( runtimeConfiguration.showThumbnails() ) {
      theFactory()->requestThumbnailRendering(i);
    }
    theFactory()->requestPageRendering( toRenderIdent(i, audienceWindow));
    if ( runtimeConfiguration.useSecondScreen() ) {
      theFactory()->requestPageRendering( toRenderIdent(i, secondaryWindow));
    }
  }
  
  /** Pre-Render previous pages **/
  
  for ( unsigned i= std::max(m_pagenumber,runtimeConfiguration.prerenderPreviousPages())-runtimeConfiguration.prerenderPreviousPages();
       i<m_pagenumber; i++) {
    if ( runtimeConfiguration.showThumbnails() ) {
      theFactory()->requestThumbnailRendering(i);
    }
    theFactory()->requestPageRendering(toRenderIdent(i, audienceWindow));
    if ( runtimeConfiguration.useSecondScreen() ) {
      theFactory()->requestPageRendering(toRenderIdent(i, secondaryWindow));
    }
  }
  
}