//Ajustement à l'écran void PagesContainer::fitScreen() { if(m_buffer->getNumberOfBlocs() == 0) return; //Ratio hauteur / largeur de l'écran double screenRatio = (double)m_parentScrollArea->maximumViewportSize().height() / m_parentScrollArea->maximumViewportSize().width(); //Déterminer si l'ajustement à l'écran correspond à un ajustement à la largeur ou à la hauteur for(int i = 0 ; i < m_buffer->getNumberOfBlocs() ; i++){ if (m_buffer->getPagesRatio(i) < screenRatio) fitWidth(i); else fitHeight(i); } }
//Application de la politique de redimentionnement void PagesContainer::applyResizePolicy() { if (m_buffer->getNumberOfBlocs() == 0) return; finishThreads(); if (m_resizePolicy & FIT_WIDTH) fitWidth(); else if (m_resizePolicy & FIT_HEIGHT) fitHeight(); else if (m_resizePolicy & FIT_SCREEN) fitScreen(); else refresh(); }
void ImageViewer::applyFitMode() { switch(imageFitMode) { case FIT_ORIGINAL: fitNormal(); break; case FIT_WIDTH: fitWidth(); break; case FIT_WINDOW: fitWindow(); break; default: /* FREE etc */ break; } }
void PagesContainer::setPersonalPolicy(int newWidth) { setResizePolicy(PERSONAL); finishThreads(); fitWidth(NONE, newWidth); }