reorder scale condition; if calculated scale is exactly 1 don't apply any scale styles

This commit is contained in:
Hakim El Hattab 2014-11-08 09:06:17 +01:00
parent 54e44ef4e2
commit 8c76f85e34
1 changed files with 15 additions and 8 deletions

View File

@ -1469,16 +1469,23 @@
dom.slides.style.width = size.width + 'px'; dom.slides.style.width = size.width + 'px';
dom.slides.style.height = size.height + 'px'; dom.slides.style.height = size.height + 'px';
// No point in calculating scale if the only possible // Determine scale of content to fit within available space
// result is 1 scale = Math.min( size.presentationWidth / size.width, size.presentationHeight / size.height );
if( scale !== -1 || config.minScale !== 1 || config.maxScale !== 1 ) {
// Determine scale of content to fit within available space
scale = Math.min( size.presentationWidth / size.width, size.presentationHeight / size.height );
// Respect max/min scale settings // Respect max/min scale settings
scale = Math.max( scale, config.minScale ); scale = Math.max( scale, config.minScale );
scale = Math.min( scale, config.maxScale ); scale = Math.min( scale, config.maxScale );
// Don't apply any scaling styles if scale is 1
if( scale === 1 ) {
dom.slides.style.zoom = '';
dom.slides.style.left = '';
dom.slides.style.top = '';
dom.slides.style.bottom = '';
dom.slides.style.right = '';
transformElement( dom.slides, '' );
}
else {
// Prefer zooming in desktop Chrome so that content remains crisp // Prefer zooming in desktop Chrome so that content remains crisp
if( !isMobileDevice && /chrome/i.test( navigator.userAgent ) && typeof dom.slides.style.zoom !== 'undefined' ) { if( !isMobileDevice && /chrome/i.test( navigator.userAgent ) && typeof dom.slides.style.zoom !== 'undefined' ) {
dom.slides.style.zoom = scale; dom.slides.style.zoom = scale;