Merge pull request #14446 from Snuffleupagus/issue-14435

Expose even more API-functionality in the TypeScript definitions (issue 14435, PR 14013 follow-up)
This commit is contained in:
Tim van der Meij 2022-01-15 13:46:11 +01:00 committed by GitHub
commit 625f829842
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 6 deletions

View File

@ -18,6 +18,7 @@
/** @typedef {import("./display/api").PDFDocumentProxy} PDFDocumentProxy */ /** @typedef {import("./display/api").PDFDocumentProxy} PDFDocumentProxy */
/** @typedef {import("./display/api").PDFPageProxy} PDFPageProxy */ /** @typedef {import("./display/api").PDFPageProxy} PDFPageProxy */
/** @typedef {import("./display/api").RenderTask} RenderTask */ /** @typedef {import("./display/api").RenderTask} RenderTask */
/** @typedef {import("./display/display_utils").PageViewport} PageViewport */
import { import {
AnnotationMode, AnnotationMode,

View File

@ -43,6 +43,7 @@ import {
RenderTask, RenderTask,
} from "../../src/display/api.js"; } from "../../src/display/api.js";
import { import {
PageViewport,
RenderingCancelledException, RenderingCancelledException,
StatTimer, StatTimer,
} from "../../src/display/display_utils.js"; } from "../../src/display/display_utils.js";
@ -1810,6 +1811,8 @@ describe("api", function () {
it("gets viewport", function () { it("gets viewport", function () {
const viewport = page.getViewport({ scale: 1.5, rotation: 90 }); const viewport = page.getViewport({ scale: 1.5, rotation: 90 });
expect(viewport instanceof PageViewport).toEqual(true);
expect(viewport.viewBox).toEqual(page.view); expect(viewport.viewBox).toEqual(page.view);
expect(viewport.scale).toEqual(1.5); expect(viewport.scale).toEqual(1.5);
expect(viewport.rotation).toEqual(90); expect(viewport.rotation).toEqual(90);
@ -1825,6 +1828,8 @@ describe("api", function () {
offsetX: 100, offsetX: 100,
offsetY: -100, offsetY: -100,
}); });
expect(viewport instanceof PageViewport).toEqual(true);
expect(viewport.transform).toEqual([1, 0, 0, -1, 100, 741.89]); expect(viewport.transform).toEqual([1, 0, 0, -1, 100, 741.89]);
}); });
@ -1832,11 +1837,14 @@ describe("api", function () {
const scale = 1, const scale = 1,
rotation = 0; rotation = 0;
const viewport = page.getViewport({ scale, rotation }); const viewport = page.getViewport({ scale, rotation });
expect(viewport instanceof PageViewport).toEqual(true);
const dontFlipViewport = page.getViewport({ const dontFlipViewport = page.getViewport({
scale, scale,
rotation, rotation,
dontFlip: true, dontFlip: true,
}); });
expect(dontFlipViewport instanceof PageViewport).toEqual(true);
expect(dontFlipViewport).not.toEqual(viewport); expect(dontFlipViewport).not.toEqual(viewport);
expect(dontFlipViewport).toEqual(viewport.clone({ dontFlip: true })); expect(dontFlipViewport).toEqual(viewport.clone({ dontFlip: true }));
@ -2427,11 +2435,12 @@ sozialökonomische Gerechtigkeit.`)
const pdfDoc = await loadingTask.promise; const pdfDoc = await loadingTask.promise;
const pdfPage = await pdfDoc.getPage(1); const pdfPage = await pdfDoc.getPage(1);
const viewport = pdfPage.getViewport({ scale: 1 }); const viewport = pdfPage.getViewport({ scale: 1 });
expect(viewport instanceof PageViewport).toEqual(true);
const canvasAndCtx = CanvasFactory.create( const canvasAndCtx = CanvasFactory.create(
viewport.width, viewport.width,
viewport.height viewport.height
); );
const renderTask = pdfPage.render({ const renderTask = pdfPage.render({
canvasContext: canvasAndCtx.context, canvasContext: canvasAndCtx.context,
canvasFactory: CanvasFactory, canvasFactory: CanvasFactory,
@ -2461,11 +2470,12 @@ sozialökonomische Gerechtigkeit.`)
it("cancels rendering of page", async function () { it("cancels rendering of page", async function () {
const viewport = page.getViewport({ scale: 1 }); const viewport = page.getViewport({ scale: 1 });
expect(viewport instanceof PageViewport).toEqual(true);
const canvasAndCtx = CanvasFactory.create( const canvasAndCtx = CanvasFactory.create(
viewport.width, viewport.width,
viewport.height viewport.height
); );
const renderTask = page.render({ const renderTask = page.render({
canvasContext: canvasAndCtx.context, canvasContext: canvasAndCtx.context,
canvasFactory: CanvasFactory, canvasFactory: CanvasFactory,
@ -2491,11 +2501,12 @@ sozialökonomische Gerechtigkeit.`)
it("re-render page, using the same canvas, after cancelling rendering", async function () { it("re-render page, using the same canvas, after cancelling rendering", async function () {
const viewport = page.getViewport({ scale: 1 }); const viewport = page.getViewport({ scale: 1 });
expect(viewport instanceof PageViewport).toEqual(true);
const canvasAndCtx = CanvasFactory.create( const canvasAndCtx = CanvasFactory.create(
viewport.width, viewport.width,
viewport.height viewport.height
); );
const renderTask = page.render({ const renderTask = page.render({
canvasContext: canvasAndCtx.context, canvasContext: canvasAndCtx.context,
canvasFactory: CanvasFactory, canvasFactory: CanvasFactory,
@ -2531,11 +2542,12 @@ sozialökonomische Gerechtigkeit.`)
pdfDocument.getOptionalContentConfig(); pdfDocument.getOptionalContentConfig();
const viewport = page.getViewport({ scale: 1 }); const viewport = page.getViewport({ scale: 1 });
expect(viewport instanceof PageViewport).toEqual(true);
const canvasAndCtx = CanvasFactory.create( const canvasAndCtx = CanvasFactory.create(
viewport.width, viewport.width,
viewport.height viewport.height
); );
const renderTask1 = page.render({ const renderTask1 = page.render({
canvasContext: canvasAndCtx.context, canvasContext: canvasAndCtx.context,
canvasFactory: CanvasFactory, canvasFactory: CanvasFactory,
@ -2573,11 +2585,12 @@ sozialökonomische Gerechtigkeit.`)
const pdfPage = await pdfDoc.getPage(1); const pdfPage = await pdfDoc.getPage(1);
const viewport = pdfPage.getViewport({ scale: 1 }); const viewport = pdfPage.getViewport({ scale: 1 });
expect(viewport instanceof PageViewport).toEqual(true);
const canvasAndCtx = CanvasFactory.create( const canvasAndCtx = CanvasFactory.create(
viewport.width, viewport.width,
viewport.height viewport.height
); );
const renderTask = pdfPage.render({ const renderTask = pdfPage.render({
canvasContext: canvasAndCtx.context, canvasContext: canvasAndCtx.context,
canvasFactory: CanvasFactory, canvasFactory: CanvasFactory,
@ -2602,11 +2615,12 @@ sozialökonomische Gerechtigkeit.`)
const pdfPage = await pdfDoc.getPage(1); const pdfPage = await pdfDoc.getPage(1);
const viewport = pdfPage.getViewport({ scale: 1 }); const viewport = pdfPage.getViewport({ scale: 1 });
expect(viewport instanceof PageViewport).toEqual(true);
const canvasAndCtx = CanvasFactory.create( const canvasAndCtx = CanvasFactory.create(
viewport.width, viewport.width,
viewport.height viewport.height
); );
const renderTask = pdfPage.render({ const renderTask = pdfPage.render({
canvasContext: canvasAndCtx.context, canvasContext: canvasAndCtx.context,
canvasFactory: CanvasFactory, canvasFactory: CanvasFactory,
@ -2721,6 +2735,8 @@ sozialökonomische Gerechtigkeit.`)
const pdf = await loadingTask.promise; const pdf = await loadingTask.promise;
const page = await pdf.getPage(1); const page = await pdf.getPage(1);
const viewport = page.getViewport({ scale: 1.2 }); const viewport = page.getViewport({ scale: 1.2 });
expect(viewport instanceof PageViewport).toEqual(true);
const canvasAndCtx = CanvasFactory.create( const canvasAndCtx = CanvasFactory.create(
viewport.width, viewport.width,
viewport.height viewport.height