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:
parent
5c1a16ba6e
commit
77d025dc14
3 changed files with 33 additions and 11 deletions
|
@ -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:
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue