1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-20 23:28:06 +02:00

Move the isPortraitOrientation helper function from web/base_viewer.js to web/ui_utils.js

A couple of basic unit-tests are added, and a manual `isLandscape` check (in `web/base_viewer.js`) is also converted to use the helper function instead.
This commit is contained in:
Jonas Jenwald 2018-03-20 13:25:13 +01:00
parent 5c1a16ba6e
commit 77d025dc14
3 changed files with 33 additions and 11 deletions

View file

@ -14,9 +14,10 @@
*/
import {
CSS_UNITS, DEFAULT_SCALE, DEFAULT_SCALE_VALUE, isValidRotation,
MAX_AUTO_SCALE, NullL10n, PresentationModeState, RendererType,
SCROLLBAR_PADDING, TextLayerMode, UNKNOWN_SCALE, VERTICAL_PADDING, watchScroll
CSS_UNITS, DEFAULT_SCALE, DEFAULT_SCALE_VALUE, isPortraitOrientation,
isValidRotation, MAX_AUTO_SCALE, NullL10n, PresentationModeState,
RendererType, SCROLLBAR_PADDING, TextLayerMode, UNKNOWN_SCALE,
VERTICAL_PADDING, watchScroll
} from './ui_utils';
import { PDFRenderingQueue, RenderingStates } from './pdf_rendering_queue';
import { AnnotationLayerBuilder } from './annotation_layer_builder';
@ -94,10 +95,6 @@ function isSameScale(oldScale, newScale) {
return false;
}
function isPortraitOrientation(size) {
return size.width <= size.height;
}
/**
* Simple viewer control to display PDF content/pages.
* @implements {IRenderableView}
@ -578,11 +575,10 @@ class BaseViewer {
scale = Math.min(pageWidthScale, pageHeightScale);
break;
case 'auto':
let isLandscape = (currentPage.width > currentPage.height);
// For pages in landscape mode, fit the page height to the viewer
// *unless* the page would thus become too wide to fit horizontally.
let horizontalScale = isLandscape ?
Math.min(pageHeightScale, pageWidthScale) : pageWidthScale;
let horizontalScale = isPortraitOrientation(currentPage) ?
pageWidthScale : Math.min(pageHeightScale, pageWidthScale);
scale = Math.min(MAX_AUTO_SCALE, horizontalScale);
break;
default:

View file

@ -439,6 +439,10 @@ function isValidRotation(angle) {
return Number.isInteger(angle) && angle % 90 === 0;
}
function isPortraitOrientation(size) {
return size.width <= size.height;
}
function cloneObj(obj) {
let result = Object.create(null);
for (let i in obj) {
@ -642,6 +646,7 @@ export {
SCROLLBAR_PADDING,
VERTICAL_PADDING,
isValidRotation,
isPortraitOrientation,
isFileSchema,
cloneObj,
PresentationModeState,