postext-folio 0.5.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -2
- package/dist/bookGeometry.d.ts +3 -0
- package/dist/bookGeometry.d.ts.map +1 -1
- package/dist/bookGeometry.js +19 -0
- package/dist/bookGeometry.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/pageFlip.d.ts +115 -1
- package/dist/pageFlip.d.ts.map +1 -1
- package/dist/pageFlip.js +511 -17
- package/dist/pageFlip.js.map +1 -1
- package/dist/paper.d.ts +7 -1
- package/dist/paper.d.ts.map +1 -1
- package/dist/paper.js +5 -1
- package/dist/paper.js.map +1 -1
- package/dist/postext.d.ts +29 -1
- package/dist/postext.d.ts.map +1 -1
- package/dist/postext.js +232 -0
- package/dist/postext.js.map +1 -1
- package/dist/styles.d.ts +1 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +21 -0
- package/dist/styles.js.map +1 -1
- package/dist/videos.d.ts +56 -0
- package/dist/videos.d.ts.map +1 -0
- package/dist/videos.js +173 -0
- package/dist/videos.js.map +1 -0
- package/dist/viewer.d.ts +18 -1
- package/dist/viewer.d.ts.map +1 -1
- package/dist/viewer.js +127 -5
- package/dist/viewer.js.map +1 -1
- package/package.json +11 -4
package/dist/postext.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type VDTDocument, type VDTPage } from "postext";
|
|
2
|
-
import { type FolioAppearance, type FolioOptions, type FolioViewer } from "./viewer";
|
|
2
|
+
import { type FolioAppearance, type FolioOptions, type FolioPagePoint, type FolioViewer } from "./viewer";
|
|
3
3
|
export interface FolioDocumentOptions extends Omit<FolioOptions, "pages" | "firstPageRecto" | "binding" | "at" | "aspect"> {
|
|
4
4
|
/** The page to open on (0-based). Default 0. */
|
|
5
5
|
at?: number;
|
|
@@ -19,6 +19,29 @@ export interface FolioDocumentOptions extends Omit<FolioOptions, "pages" | "firs
|
|
|
19
19
|
* when a page is painted and on `redecorate`.
|
|
20
20
|
*/
|
|
21
21
|
decorate?: (index: number, ctx: CanvasRenderingContext2D) => boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Videos printed on the pages play there (#477): a click on a video's
|
|
24
|
+
* poster plays it on the page (in every pointer mode), a click on it
|
|
25
|
+
* again pauses it, and it goes on playing while its leaf turns. A video
|
|
26
|
+
* with `player.autoplay` starts by itself the first time its spread is
|
|
27
|
+
* shown (muted until the reader has interacted with the page). Starting another
|
|
28
|
+
* stops the one playing; it stops too when the book comes to rest on a
|
|
29
|
+
* spread that does not show it. Self-hosted videos only (a file, or its
|
|
30
|
+
* address: MP4, WebM or an HLS stream); a YouTube or Vimeo poster turns
|
|
31
|
+
* the page as any other. The video's server must allow cross-origin
|
|
32
|
+
* reads (CORS) for WebGL to draw it. Default true.
|
|
33
|
+
*/
|
|
34
|
+
videos?: boolean;
|
|
35
|
+
/** The address a self-hosted video's file plays from (an object URL for
|
|
36
|
+
* its `fileId`); without one, its production address (`video.url`). */
|
|
37
|
+
videoUrl?: (fileId: string) => string | undefined;
|
|
38
|
+
/** Told when a video on a page starts playing, pauses, stops or cannot
|
|
39
|
+
* play (`error`: no address, a refused cross-origin read, no HLS). */
|
|
40
|
+
onVideo?: (event: {
|
|
41
|
+
resourceId: string;
|
|
42
|
+
page: number;
|
|
43
|
+
state: "playing" | "paused" | "stopped" | "error";
|
|
44
|
+
}) => void;
|
|
22
45
|
}
|
|
23
46
|
export interface FolioDocumentViewer extends FolioViewer {
|
|
24
47
|
/** Shows another layout of the book (after an edit), on the same page
|
|
@@ -35,6 +58,11 @@ export interface FolioDocumentViewer extends FolioViewer {
|
|
|
35
58
|
/** Draws the decorations (`decorate`) again on these pages, or on every
|
|
36
59
|
* painted page; the book shows them at once, on a turning leaf too. */
|
|
37
60
|
redecorate(pages?: Iterable<number>): void;
|
|
61
|
+
/** Plays or pauses the video printed at a point of a page, as a click
|
|
62
|
+
* there does; false when no playable video lies there. */
|
|
63
|
+
toggleVideoAt(point: FolioPagePoint): boolean;
|
|
64
|
+
/** Stops the video playing on a page (its poster shows again). */
|
|
65
|
+
stopVideo(): void;
|
|
38
66
|
}
|
|
39
67
|
/** Whether the document's first page is a recto: page 1, or a chapter
|
|
40
68
|
* continued after an even number of pages. */
|
package/dist/postext.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postext.d.ts","sourceRoot":"","sources":["../src/postext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAG7E,OAAO,EAAe,KAAK,eAAe,EAAE,KAAK,YAAY,EAAuC,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"postext.d.ts","sourceRoot":"","sources":["../src/postext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAG7E,OAAO,EAAe,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAuC,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5J,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,GAAG,IAAI,GAAG,QAAQ,CAAC;IACxH,gDAAgD;IAChD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;qBAEiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mDAAmD;IACnD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,wBAAwB,KAAK,OAAO,CAAC;IACrE;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;4EACwE;IACxE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAClD;2EACuE;IACvE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACpH;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD;;;;;2DAKuD;IACvD,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,eAAe,CAAA;KAAE,GAAG,IAAI,CAAC;IAChH;4EACwE;IACxE,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC3C;+DAC2D;IAC3D,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC;IAC9C,kEAAkE;IAClE,SAAS,IAAI,IAAI,CAAC;CACnB;AAED;+CAC+C;AAC/C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAE1D;AAED;;yDAEyD;AACzD,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAG9F;AAQD;;;;;wEAKwE;AACxE,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,GAAG,SAAS,GAAG,eAAe,CAmBhG;AAiBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,OAAO,EAAE,EAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GACvB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBrB;AAKD;;2BAE2B;AAC3B,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAerI;AAWD;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAqhBzI"}
|
package/dist/postext.js
CHANGED
|
@@ -2,6 +2,7 @@ import { renderPageToCanvas } from "postext";
|
|
|
2
2
|
import { resolveFolioConfig } from "postext";
|
|
3
3
|
import { BLOCK_PAGES } from "./pageFlip";
|
|
4
4
|
import { createFolio } from "./viewer";
|
|
5
|
+
import { attachVideoSource, isHlsVideo, pageVideoSpots, spotContains } from "./videos";
|
|
5
6
|
/** Whether the document's first page is a recto: page 1, or a chapter
|
|
6
7
|
* continued after an even number of pages. */
|
|
7
8
|
export function firstPageIsRecto(doc) {
|
|
@@ -123,6 +124,9 @@ export function sweepFor(run, settled, target, count) {
|
|
|
123
124
|
}
|
|
124
125
|
/** Painting time per frame while leaves are in the air. */
|
|
125
126
|
const SWEEP_BUDGET_MS = 8;
|
|
127
|
+
/** How long the book must stay as it is before a video set to play on its
|
|
128
|
+
* own starts (a host's layouts settling, a run of turns). */
|
|
129
|
+
const AUTOPLAY_SETTLE_MS = 700;
|
|
126
130
|
/** How long a resize settles before the pages are painted at the new size. */
|
|
127
131
|
const RESIZE_SETTLE_MS = 120;
|
|
128
132
|
/**
|
|
@@ -322,6 +326,194 @@ export function createFolioFromDocument(container, doc, options = {}) {
|
|
|
322
326
|
// The leaf a hand would lift next shows the neighbours' pages.
|
|
323
327
|
return [...pages, pages[0] - 2, pages[0] - 1, pages[pages.length - 1] + 1, pages[pages.length - 1] + 2];
|
|
324
328
|
};
|
|
329
|
+
// ── Videos on the pages (#477) ──
|
|
330
|
+
/** The video spots of each page of the current document, as found. */
|
|
331
|
+
let spots = new Map();
|
|
332
|
+
/** The video playing (or paused) on a page; `autoMuted` while it plays
|
|
333
|
+
* muted because it started on its own. */
|
|
334
|
+
let playing = null;
|
|
335
|
+
/** The videos that have started on their own once (`player.autoplay`). */
|
|
336
|
+
const autoplayed = new Set();
|
|
337
|
+
const spotsOf = (i) => {
|
|
338
|
+
let found = spots.get(i);
|
|
339
|
+
if (!found) {
|
|
340
|
+
const page = current.pages[i];
|
|
341
|
+
found = page ? pageVideoSpots(page, current) : [];
|
|
342
|
+
spots.set(i, found);
|
|
343
|
+
}
|
|
344
|
+
return found;
|
|
345
|
+
};
|
|
346
|
+
/** Where a self-hosted video plays from: its file, else its address. */
|
|
347
|
+
const urlOf = (spot) => {
|
|
348
|
+
const v = spot.video;
|
|
349
|
+
if (v.source !== "file")
|
|
350
|
+
return undefined;
|
|
351
|
+
return (v.fileId ? options.videoUrl?.(v.fileId) : undefined) ?? v.link;
|
|
352
|
+
};
|
|
353
|
+
const spotAt = (point) => options.videos === false ? undefined : spotsOf(point.page).find((s) => urlOf(s) && spotContains(s, point.x, point.y));
|
|
354
|
+
const report = (state) => {
|
|
355
|
+
if (playing)
|
|
356
|
+
options.onVideo?.({ resourceId: playing.spot.resourceId, page: playing.page, state });
|
|
357
|
+
};
|
|
358
|
+
/** Shows the playing video on its page (once it has a frame to show). */
|
|
359
|
+
function showVideo() {
|
|
360
|
+
if (!playing)
|
|
361
|
+
return;
|
|
362
|
+
playing.shown = true;
|
|
363
|
+
viewer.setPageVideo({ page: playing.page, element: playing.element, origin: playing.spot.origin, across: playing.spot.across, down: playing.spot.down, ...(playing.spot.crop ? { crop: playing.spot.crop } : {}) });
|
|
364
|
+
}
|
|
365
|
+
function stopVideo(state = "stopped") {
|
|
366
|
+
const p = playing;
|
|
367
|
+
if (!p)
|
|
368
|
+
return;
|
|
369
|
+
report(state);
|
|
370
|
+
playing = null;
|
|
371
|
+
p.element.pause();
|
|
372
|
+
p.release?.();
|
|
373
|
+
if (p.shown)
|
|
374
|
+
viewer.setPageVideo(null);
|
|
375
|
+
}
|
|
376
|
+
function startVideo(page, spot, auto = false) {
|
|
377
|
+
stopVideo();
|
|
378
|
+
const url = urlOf(spot);
|
|
379
|
+
if (!url)
|
|
380
|
+
return;
|
|
381
|
+
const element = document.createElement("video");
|
|
382
|
+
element.playsInline = true;
|
|
383
|
+
element.preload = "auto";
|
|
384
|
+
// WebGL draws the picture only when its server allows the read.
|
|
385
|
+
if (!/^(blob|data):/i.test(url))
|
|
386
|
+
element.crossOrigin = "anonymous";
|
|
387
|
+
const player = spot.video.player;
|
|
388
|
+
// A video that starts on its own has its sound once the reader has
|
|
389
|
+
// clicked or typed on the page (the browser allows it then); before
|
|
390
|
+
// that it starts muted, as browsers require, and a click unmutes it.
|
|
391
|
+
const activated = navigator.userActivation?.hasBeenActive ?? false;
|
|
392
|
+
element.muted = player.muted || (auto && !activated);
|
|
393
|
+
const entry = { page, spot, element, shown: false, autoMuted: !player.muted && element.muted };
|
|
394
|
+
playing = entry;
|
|
395
|
+
const live = () => playing === entry;
|
|
396
|
+
const range = { start: spot.video.start ?? 0, end: spot.video.end };
|
|
397
|
+
element.addEventListener("error", () => live() && stopVideo("error"));
|
|
398
|
+
element.addEventListener("loadedmetadata", () => {
|
|
399
|
+
if (range.start)
|
|
400
|
+
element.currentTime = range.start;
|
|
401
|
+
}, { once: true });
|
|
402
|
+
element.addEventListener("loadeddata", () => live() && showVideo(), { once: true });
|
|
403
|
+
element.addEventListener("playing", () => live() && report("playing"));
|
|
404
|
+
element.addEventListener("pause", () => live() && !element.ended && report("paused"));
|
|
405
|
+
const atEnd = () => {
|
|
406
|
+
if (!live())
|
|
407
|
+
return;
|
|
408
|
+
if (player.loop) {
|
|
409
|
+
element.currentTime = range.start;
|
|
410
|
+
void element.play().catch(() => { });
|
|
411
|
+
}
|
|
412
|
+
else
|
|
413
|
+
stopVideo();
|
|
414
|
+
};
|
|
415
|
+
element.addEventListener("ended", atEnd);
|
|
416
|
+
element.addEventListener("timeupdate", () => {
|
|
417
|
+
if (range.end && element.currentTime >= range.end)
|
|
418
|
+
atEnd();
|
|
419
|
+
});
|
|
420
|
+
// The picture's height on screen: an HLS stream needs no larger variant.
|
|
421
|
+
const size = viewer.pageSize;
|
|
422
|
+
const maxHeight = Math.max(Math.hypot(spot.down.x * size.deviceWidth, spot.down.y * size.deviceHeight), Math.hypot(spot.across.x * size.deviceWidth, spot.across.y * size.deviceHeight));
|
|
423
|
+
void attachVideoSource(element, url, { hls: isHlsVideo(spot.video, url), maxHeight, corsTag: true }).then((release) => {
|
|
424
|
+
if (!live())
|
|
425
|
+
return release();
|
|
426
|
+
entry.release = release;
|
|
427
|
+
// The click's gesture lets it play with sound; a browser that still
|
|
428
|
+
// refuses gets it muted.
|
|
429
|
+
element.play().catch((err) => {
|
|
430
|
+
if (!live())
|
|
431
|
+
return;
|
|
432
|
+
if (err?.name === "NotAllowedError" && !element.muted) {
|
|
433
|
+
element.muted = true;
|
|
434
|
+
entry.autoMuted = !player.muted;
|
|
435
|
+
return element.play();
|
|
436
|
+
}
|
|
437
|
+
throw err;
|
|
438
|
+
}).catch(() => live() && stopVideo("error"));
|
|
439
|
+
}, () => live() && stopVideo("error"));
|
|
440
|
+
}
|
|
441
|
+
/** A click at a point of a page: plays, pauses or resumes the video
|
|
442
|
+
* printed there. */
|
|
443
|
+
function toggleVideoAt(point) {
|
|
444
|
+
const spot = spotAt(point);
|
|
445
|
+
if (!spot)
|
|
446
|
+
return false;
|
|
447
|
+
if (playing && playing.page === point.page && playing.spot.key === spot.key)
|
|
448
|
+
togglePlaying();
|
|
449
|
+
else
|
|
450
|
+
startVideo(point.page, spot);
|
|
451
|
+
return true;
|
|
452
|
+
}
|
|
453
|
+
/** A click (or Space) on the video playing: one that started on its own
|
|
454
|
+
* is unmuted first; otherwise it pauses or resumes. */
|
|
455
|
+
function togglePlaying() {
|
|
456
|
+
const p = playing;
|
|
457
|
+
if (!p)
|
|
458
|
+
return;
|
|
459
|
+
if (p.autoMuted && !p.element.paused) {
|
|
460
|
+
p.autoMuted = false;
|
|
461
|
+
p.element.muted = false;
|
|
462
|
+
return;
|
|
463
|
+
}
|
|
464
|
+
if (p.element.paused)
|
|
465
|
+
void p.element.play().catch(() => { });
|
|
466
|
+
else
|
|
467
|
+
p.element.pause();
|
|
468
|
+
}
|
|
469
|
+
/** Autoplay waits for the book to settle: a host lays a book out in
|
|
470
|
+
* steps (a chapter, then the whole book), and only the spread the reader
|
|
471
|
+
* is left looking at counts as shown. */
|
|
472
|
+
let autoTimer = 0;
|
|
473
|
+
const scheduleAutoplay = () => {
|
|
474
|
+
clearTimeout(autoTimer);
|
|
475
|
+
autoTimer = window.setTimeout(() => {
|
|
476
|
+
if (!turning)
|
|
477
|
+
autoplayOn(viewer.state.pages);
|
|
478
|
+
}, AUTOPLAY_SETTLE_MS);
|
|
479
|
+
};
|
|
480
|
+
/** The first time a spread shows a video set to play on its own
|
|
481
|
+
* (`player.autoplay`), it starts, muted; never again in this viewer. */
|
|
482
|
+
function autoplayOn(pages) {
|
|
483
|
+
if (options.videos === false || playing)
|
|
484
|
+
return;
|
|
485
|
+
for (const page of pages) {
|
|
486
|
+
for (const spot of spotsOf(page)) {
|
|
487
|
+
if (!spot.video.player.autoplay || !urlOf(spot) || autoplayed.has(spot.key))
|
|
488
|
+
continue;
|
|
489
|
+
autoplayed.add(spot.key);
|
|
490
|
+
startVideo(page, spot, true);
|
|
491
|
+
return;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
/** A new layout: the playing video follows its resource to where the
|
|
496
|
+
* layout puts it, or stops when it is gone. */
|
|
497
|
+
function followVideo() {
|
|
498
|
+
spots = new Map();
|
|
499
|
+
const p = playing;
|
|
500
|
+
if (!p)
|
|
501
|
+
return;
|
|
502
|
+
const near = [p.page, ...viewer.state.pages];
|
|
503
|
+
for (let i = 0; i < current.pages.length; i++)
|
|
504
|
+
near.push(i);
|
|
505
|
+
for (const i of near) {
|
|
506
|
+
const spot = spotsOf(i).find((s) => s.key === p.spot.key && urlOf(s) === urlOf(p.spot));
|
|
507
|
+
if (!spot)
|
|
508
|
+
continue;
|
|
509
|
+
p.page = i;
|
|
510
|
+
p.spot = spot;
|
|
511
|
+
if (p.shown)
|
|
512
|
+
showVideo();
|
|
513
|
+
return;
|
|
514
|
+
}
|
|
515
|
+
stopVideo();
|
|
516
|
+
}
|
|
325
517
|
const first = doc.pages[0];
|
|
326
518
|
const viewer = createFolio(container, {
|
|
327
519
|
...options,
|
|
@@ -342,7 +534,14 @@ export function createFolioFromDocument(container, doc, options = {}) {
|
|
|
342
534
|
refresh(around(state));
|
|
343
535
|
options.onTarget?.(state);
|
|
344
536
|
},
|
|
537
|
+
onPageClick: (point) => toggleVideoAt(point) || !!options.onPageClick?.(point),
|
|
538
|
+
isPageAction: (point) => !!spotAt(point) || !!options.isPageAction?.(point),
|
|
345
539
|
onChange: (state) => {
|
|
540
|
+
// A video whose page has turned away stops; one set to play on its
|
|
541
|
+
// own starts the first time its spread is shown.
|
|
542
|
+
if (playing && !state.pages.includes(playing.page))
|
|
543
|
+
stopVideo();
|
|
544
|
+
scheduleAutoplay();
|
|
346
545
|
focus = state.pages;
|
|
347
546
|
settled = state.pages;
|
|
348
547
|
turning = false;
|
|
@@ -367,6 +566,32 @@ export function createFolioFromDocument(container, doc, options = {}) {
|
|
|
367
566
|
focus = viewer.state.pages;
|
|
368
567
|
settled = viewer.state.pages;
|
|
369
568
|
refresh(around(viewer.state));
|
|
569
|
+
scheduleAutoplay();
|
|
570
|
+
// Debugging (`__postextFolioPreserve`, as for the renderer): the videos.
|
|
571
|
+
if (globalThis.__postextFolioPreserve) {
|
|
572
|
+
globalThis.__postextFolioVideos = {
|
|
573
|
+
playing: () => playing,
|
|
574
|
+
autoplayed,
|
|
575
|
+
spots: (i) => spotsOf(i),
|
|
576
|
+
state: () => viewer.state,
|
|
577
|
+
turning: () => turning,
|
|
578
|
+
};
|
|
579
|
+
}
|
|
580
|
+
// Space plays or pauses the first video on the spread on show.
|
|
581
|
+
viewer.element.addEventListener("keydown", (event) => {
|
|
582
|
+
if (event.target !== viewer.element || (event.key !== " " && event.key !== "Enter") || options.videos === false)
|
|
583
|
+
return;
|
|
584
|
+
const on = viewer.state.pages;
|
|
585
|
+
if (playing && on.includes(playing.page))
|
|
586
|
+
togglePlaying();
|
|
587
|
+
else {
|
|
588
|
+
const page = on.find((i) => spotsOf(i).some((s) => urlOf(s)));
|
|
589
|
+
if (page === undefined)
|
|
590
|
+
return;
|
|
591
|
+
startVideo(page, spotsOf(page).find((s) => urlOf(s)));
|
|
592
|
+
}
|
|
593
|
+
event.preventDefault();
|
|
594
|
+
});
|
|
370
595
|
return {
|
|
371
596
|
element: viewer.element,
|
|
372
597
|
goToPage: viewer.goToPage,
|
|
@@ -375,6 +600,9 @@ export function createFolioFromDocument(container, doc, options = {}) {
|
|
|
375
600
|
prev: viewer.prev,
|
|
376
601
|
setPages: viewer.setPages,
|
|
377
602
|
refreshPage: viewer.refreshPage,
|
|
603
|
+
setPageVideo: viewer.setPageVideo,
|
|
604
|
+
toggleVideoAt,
|
|
605
|
+
stopVideo: () => stopVideo(),
|
|
378
606
|
setLabels: viewer.setLabels,
|
|
379
607
|
resetView: viewer.resetView,
|
|
380
608
|
getView: viewer.getView,
|
|
@@ -451,6 +679,8 @@ export function createFolioFromDocument(container, doc, options = {}) {
|
|
|
451
679
|
run = null;
|
|
452
680
|
}
|
|
453
681
|
refresh(around(viewer.state));
|
|
682
|
+
followVideo();
|
|
683
|
+
scheduleAutoplay();
|
|
454
684
|
},
|
|
455
685
|
redecorate(pages) {
|
|
456
686
|
let swapped = false;
|
|
@@ -467,6 +697,8 @@ export function createFolioFromDocument(container, doc, options = {}) {
|
|
|
467
697
|
viewer.setPages(sources());
|
|
468
698
|
},
|
|
469
699
|
dispose() {
|
|
700
|
+
clearTimeout(autoTimer);
|
|
701
|
+
stopVideo();
|
|
470
702
|
cancelIdle(idle);
|
|
471
703
|
cancelAnimationFrame(sweepFrame);
|
|
472
704
|
clearTimeout(resizeTimer);
|
package/dist/postext.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postext.js","sourceRoot":"","sources":["../src/postext.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"postext.js","sourceRoot":"","sources":["../src/postext.ts"],"names":[],"mappings":"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"}
|
package/dist/styles.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* `--postext-folio-nav-border`) or plain CSS of its own. The page shading
|
|
4
4
|
* and the drop shadow match what the WebGL canvas draws, so a page at
|
|
5
5
|
* rest looks the same in the DOM as on the turning leaf. */
|
|
6
|
-
export declare const FOLIO_CSS = "\n.postext-folio {\n position: relative;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n /* Horizontal swipes turn the spread. */\n touch-action: pan-y pinch-zoom;\n outline: none;\n}\n.postext-folio:focus-visible {\n outline: 2px solid var(--postext-folio-accent, #4f8cff);\n outline-offset: -4px;\n}\n.postext-folio-spread {\n position: absolute;\n display: grid;\n grid-template-columns: 1fr 1fr;\n /* Page surfaces (z 1) and their spine shading (z 2) paint above every\n page's drop shadow, as the canvas draws them. */\n isolation: isolate;\n}\n.postext-folio-spread.is-solo {\n grid-template-columns: 1fr;\n}\n/* The canvas draws the book: the DOM pages stay (sources, text\n alternatives, click targets) but are not seen. */\n.postext-folio-spread.is-gl > .postext-folio-page {\n opacity: 0;\n}\n.postext-folio-spread.is-by-hand > .postext-folio-page:not(.is-empty) {\n cursor: grab;\n}\n.postext-folio-spread.is-held,\n.postext-folio-spread.is-held > .postext-folio-page {\n cursor: grabbing !important;\n}\n/* Orbit and select modes: one finger drags the view or the selection,\n never the page; the cursor says which. */\n.postext-folio.is-orbit,\n.postext-folio.is-select {\n touch-action: none;\n}\n.postext-folio.is-orbit .postext-folio-spread > .postext-folio-page:not(.is-empty),\n.postext-folio.is-orbit {\n cursor: move;\n}\n.postext-folio.is-orbiting,\n.postext-folio.is-orbiting * {\n cursor: grabbing !important;\n}\n.postext-folio.is-select .postext-folio-spread > .postext-folio-page:not(.is-empty) {\n cursor: default;\n}\n.postext-folio.is-select.is-over-page,\n.postext-folio.is-select.is-over-page .postext-folio-spread > .postext-folio-page {\n cursor: text;\n}\n.postext-folio-spread,\n.postext-folio-page {\n user-select: none;\n -webkit-user-select: none;\n}\n/* The book in WebGL: over the whole box, centred on the spread (sized by\n the viewer), with room for a lifted leaf. */\n.postext-folio-flip {\n position: absolute;\n z-index: 3;\n pointer-events: none;\n}\n.postext-folio-page {\n position: relative;\n margin: 0;\n min-width: 0;\n}\n.postext-folio-page > img,\n.postext-folio-page > .postext-folio-surface {\n position: relative;\n z-index: 1;\n display: block;\n width: 100%;\n height: 100%;\n background: #fff;\n}\n.postext-folio-page.is-blank {\n background: var(--postext-folio-paper, #fff);\n}\n.postext-folio-page:not(.is-empty) {\n box-shadow:\n 0 1px 1px rgb(0 0 0 / 0.35),\n 0 16px 36px -8px rgb(0 0 0 / 0.65);\n}\n/* The spine: each page darkens towards the fold. */\n.postext-folio-page:not(.is-empty)::after {\n content: \"\";\n position: absolute;\n z-index: 2;\n inset: 0;\n pointer-events: none;\n}\n.postext-folio-page.is-verso::after {\n background: linear-gradient(to left, rgb(0 0 0 / 0.16), rgb(0 0 0 / 0.04) 3%, transparent 9%);\n}\n.postext-folio-page.is-recto::after {\n background: linear-gradient(to right, rgb(0 0 0 / 0.18), rgb(0 0 0 / 0.05) 3%, transparent 9%);\n}\n/* A right-bound book lies mirrored: the verso on the right, the recto on\n the left, each shaded towards the fold. */\n.postext-folio[dir=\"rtl\"] .postext-folio-page.is-verso::after {\n background: linear-gradient(to right, rgb(0 0 0 / 0.16), rgb(0 0 0 / 0.04) 3%, transparent 9%);\n}\n.postext-folio[dir=\"rtl\"] .postext-folio-page.is-recto::after {\n background: linear-gradient(to left, rgb(0 0 0 / 0.18), rgb(0 0 0 / 0.05) 3%, transparent 9%);\n}\n.postext-folio-nav {\n position: absolute;\n z-index: 4;\n top: 50%;\n transform: translateY(-50%);\n display: grid;\n place-items: center;\n width: 44px;\n height: 44px;\n padding: 0;\n border: 1.5px solid var(--postext-folio-nav-border, color-mix(in srgb, currentColor 35%, transparent));\n border-radius: 999px;\n background: transparent;\n color: inherit;\n cursor: pointer;\n transition: border-color 0.15s, color 0.15s, opacity 0.15s;\n}\n.postext-folio-nav.is-prev {\n left: 12px;\n}\n.postext-folio-nav.is-next {\n right: 12px;\n}\n.postext-folio[dir=\"rtl\"] .postext-folio-nav.is-prev {\n left: auto;\n right: 12px;\n}\n.postext-folio[dir=\"rtl\"] .postext-folio-nav.is-next {\n right: auto;\n left: 12px;\n}\n.postext-folio-nav[hidden] {\n display: none;\n}\n.postext-folio-nav:hover:not(:disabled) {\n border-color: var(--postext-folio-accent, #4f8cff);\n color: var(--postext-folio-accent, #4f8cff);\n}\n.postext-folio-nav:focus-visible {\n outline: 2px solid var(--postext-folio-accent, #4f8cff);\n outline-offset: 2px;\n}\n.postext-folio-nav:disabled {\n opacity: 0.3;\n cursor: default;\n}\n.postext-folio-count {\n position: absolute;\n z-index: 4;\n left: 0;\n right: 0;\n bottom: 12px;\n text-align: center;\n pointer-events: none;\n margin: 0;\n font: inherit;\n font-size: 0.875em;\n font-variant-numeric: tabular-nums;\n opacity: 0.8;\n}\n/* Announced, not shown. */\n.postext-folio-count.is-unseen {\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n/* One page at a time: the buttons and the count in a bar under the page. */\n.postext-folio.is-single .postext-folio-nav {\n top: auto;\n bottom: 12px;\n transform: none;\n}\n.postext-folio.is-single .postext-folio-count {\n bottom: 24px;\n}\n@media (prefers-reduced-motion: reduce) {\n .postext-folio-nav {\n transition: none;\n }\n}\n";
|
|
6
|
+
export declare const FOLIO_CSS = "\n.postext-folio {\n position: relative;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n /* Horizontal swipes turn the spread. */\n touch-action: pan-y pinch-zoom;\n outline: none;\n}\n.postext-folio:focus-visible {\n outline: 2px solid var(--postext-folio-accent, #4f8cff);\n outline-offset: -4px;\n}\n.postext-folio-spread {\n position: absolute;\n display: grid;\n grid-template-columns: 1fr 1fr;\n /* Page surfaces (z 1) and their spine shading (z 2) paint above every\n page's drop shadow, as the canvas draws them. */\n isolation: isolate;\n}\n.postext-folio-spread.is-solo {\n grid-template-columns: 1fr;\n}\n/* The canvas draws the book: the DOM pages stay (sources, text\n alternatives, click targets) but are not seen. */\n.postext-folio-spread.is-gl > .postext-folio-page {\n opacity: 0;\n}\n.postext-folio-spread.is-by-hand > .postext-folio-page:not(.is-empty) {\n cursor: grab;\n}\n.postext-folio-spread.is-held,\n.postext-folio-spread.is-held > .postext-folio-page {\n cursor: grabbing !important;\n}\n/* Orbit and select modes: one finger drags the view or the selection,\n never the page; the cursor says which. */\n.postext-folio.is-orbit,\n.postext-folio.is-select {\n touch-action: none;\n}\n.postext-folio.is-orbit .postext-folio-spread > .postext-folio-page:not(.is-empty),\n.postext-folio.is-orbit {\n cursor: move;\n}\n.postext-folio.is-orbiting,\n.postext-folio.is-orbiting * {\n cursor: grabbing !important;\n}\n.postext-folio.is-select .postext-folio-spread > .postext-folio-page:not(.is-empty) {\n cursor: default;\n}\n.postext-folio.is-select.is-over-page,\n.postext-folio.is-select.is-over-page .postext-folio-spread > .postext-folio-page {\n cursor: text;\n}\n/* Over something a click acts on (a video that plays on the page), in\n every pointer mode. */\n.postext-folio.is-over-action,\n.postext-folio.is-over-action.is-select,\n.postext-folio.is-over-action.is-orbit,\n.postext-folio.is-over-action .postext-folio-spread > .postext-folio-page:not(.is-empty),\n.postext-folio.is-over-action.is-select .postext-folio-spread > .postext-folio-page:not(.is-empty),\n.postext-folio.is-over-action.is-orbit .postext-folio-spread > .postext-folio-page:not(.is-empty) {\n cursor: pointer;\n}\n/* A video on a page of the DOM spread (no WebGL): laid over its poster. */\n.postext-folio-page > .postext-folio-video {\n position: absolute;\n z-index: 2;\n left: 0;\n top: 0;\n transform-origin: 0 0;\n object-fit: cover;\n background: #000;\n pointer-events: none;\n}\n.postext-folio-spread,\n.postext-folio-page {\n user-select: none;\n -webkit-user-select: none;\n}\n/* The book in WebGL: over the whole box, centred on the spread (sized by\n the viewer), with room for a lifted leaf. */\n.postext-folio-flip {\n position: absolute;\n z-index: 3;\n pointer-events: none;\n}\n.postext-folio-page {\n position: relative;\n margin: 0;\n min-width: 0;\n}\n.postext-folio-page > img,\n.postext-folio-page > .postext-folio-surface {\n position: relative;\n z-index: 1;\n display: block;\n width: 100%;\n height: 100%;\n background: #fff;\n}\n.postext-folio-page.is-blank {\n background: var(--postext-folio-paper, #fff);\n}\n.postext-folio-page:not(.is-empty) {\n box-shadow:\n 0 1px 1px rgb(0 0 0 / 0.35),\n 0 16px 36px -8px rgb(0 0 0 / 0.65);\n}\n/* The spine: each page darkens towards the fold. */\n.postext-folio-page:not(.is-empty)::after {\n content: \"\";\n position: absolute;\n z-index: 2;\n inset: 0;\n pointer-events: none;\n}\n.postext-folio-page.is-verso::after {\n background: linear-gradient(to left, rgb(0 0 0 / 0.16), rgb(0 0 0 / 0.04) 3%, transparent 9%);\n}\n.postext-folio-page.is-recto::after {\n background: linear-gradient(to right, rgb(0 0 0 / 0.18), rgb(0 0 0 / 0.05) 3%, transparent 9%);\n}\n/* A right-bound book lies mirrored: the verso on the right, the recto on\n the left, each shaded towards the fold. */\n.postext-folio[dir=\"rtl\"] .postext-folio-page.is-verso::after {\n background: linear-gradient(to right, rgb(0 0 0 / 0.16), rgb(0 0 0 / 0.04) 3%, transparent 9%);\n}\n.postext-folio[dir=\"rtl\"] .postext-folio-page.is-recto::after {\n background: linear-gradient(to left, rgb(0 0 0 / 0.18), rgb(0 0 0 / 0.05) 3%, transparent 9%);\n}\n.postext-folio-nav {\n position: absolute;\n z-index: 4;\n top: 50%;\n transform: translateY(-50%);\n display: grid;\n place-items: center;\n width: 44px;\n height: 44px;\n padding: 0;\n border: 1.5px solid var(--postext-folio-nav-border, color-mix(in srgb, currentColor 35%, transparent));\n border-radius: 999px;\n background: transparent;\n color: inherit;\n cursor: pointer;\n transition: border-color 0.15s, color 0.15s, opacity 0.15s;\n}\n.postext-folio-nav.is-prev {\n left: 12px;\n}\n.postext-folio-nav.is-next {\n right: 12px;\n}\n.postext-folio[dir=\"rtl\"] .postext-folio-nav.is-prev {\n left: auto;\n right: 12px;\n}\n.postext-folio[dir=\"rtl\"] .postext-folio-nav.is-next {\n right: auto;\n left: 12px;\n}\n.postext-folio-nav[hidden] {\n display: none;\n}\n.postext-folio-nav:hover:not(:disabled) {\n border-color: var(--postext-folio-accent, #4f8cff);\n color: var(--postext-folio-accent, #4f8cff);\n}\n.postext-folio-nav:focus-visible {\n outline: 2px solid var(--postext-folio-accent, #4f8cff);\n outline-offset: 2px;\n}\n.postext-folio-nav:disabled {\n opacity: 0.3;\n cursor: default;\n}\n.postext-folio-count {\n position: absolute;\n z-index: 4;\n left: 0;\n right: 0;\n bottom: 12px;\n text-align: center;\n pointer-events: none;\n margin: 0;\n font: inherit;\n font-size: 0.875em;\n font-variant-numeric: tabular-nums;\n opacity: 0.8;\n}\n/* Announced, not shown. */\n.postext-folio-count.is-unseen {\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n/* One page at a time: the buttons and the count in a bar under the page. */\n.postext-folio.is-single .postext-folio-nav {\n top: auto;\n bottom: 12px;\n transform: none;\n}\n.postext-folio.is-single .postext-folio-count {\n bottom: 24px;\n}\n@media (prefers-reduced-motion: reduce) {\n .postext-folio-nav {\n transition: none;\n }\n}\n";
|
|
7
7
|
/** Adds the styles once to the document (or shadow root) the viewer
|
|
8
8
|
* lives in. */
|
|
9
9
|
export declare function injectStyles(target: Node): void;
|
package/dist/styles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;;;6DAI6D;AAC7D,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;;;6DAI6D;AAC7D,eAAO,MAAM,SAAS,8lMA2NrB,CAAC;AAIF;gBACgB;AAChB,wBAAgB,YAAY,CAAC,MAAM,EAAE,IAAI,QAexC"}
|
package/dist/styles.js
CHANGED
|
@@ -63,6 +63,27 @@ export const FOLIO_CSS = `
|
|
|
63
63
|
.postext-folio.is-select.is-over-page .postext-folio-spread > .postext-folio-page {
|
|
64
64
|
cursor: text;
|
|
65
65
|
}
|
|
66
|
+
/* Over something a click acts on (a video that plays on the page), in
|
|
67
|
+
every pointer mode. */
|
|
68
|
+
.postext-folio.is-over-action,
|
|
69
|
+
.postext-folio.is-over-action.is-select,
|
|
70
|
+
.postext-folio.is-over-action.is-orbit,
|
|
71
|
+
.postext-folio.is-over-action .postext-folio-spread > .postext-folio-page:not(.is-empty),
|
|
72
|
+
.postext-folio.is-over-action.is-select .postext-folio-spread > .postext-folio-page:not(.is-empty),
|
|
73
|
+
.postext-folio.is-over-action.is-orbit .postext-folio-spread > .postext-folio-page:not(.is-empty) {
|
|
74
|
+
cursor: pointer;
|
|
75
|
+
}
|
|
76
|
+
/* A video on a page of the DOM spread (no WebGL): laid over its poster. */
|
|
77
|
+
.postext-folio-page > .postext-folio-video {
|
|
78
|
+
position: absolute;
|
|
79
|
+
z-index: 2;
|
|
80
|
+
left: 0;
|
|
81
|
+
top: 0;
|
|
82
|
+
transform-origin: 0 0;
|
|
83
|
+
object-fit: cover;
|
|
84
|
+
background: #000;
|
|
85
|
+
pointer-events: none;
|
|
86
|
+
}
|
|
66
87
|
.postext-folio-spread,
|
|
67
88
|
.postext-folio-page {
|
|
68
89
|
user-select: none;
|
package/dist/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;;;6DAI6D;AAC7D,MAAM,CAAC,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;;;6DAI6D;AAC7D,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2NxB,CAAC;AAEF,MAAM,QAAQ,GAAG,sBAAsB,CAAC;AAExC;gBACgB;AAChB,MAAM,UAAU,YAAY,CAAC,MAAY;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;IAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,QAAQ,GAAG,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,IAAI,QAAQ,EAAE,CAAC;QACb,+DAA+D;QAC/D,+CAA+C;QAC/C,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;YAAE,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC;QACzE,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC;IACpB,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC"}
|
package/dist/videos.d.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type VDTDocument, type VDTPage, type VDTResourceVideo } from "postext";
|
|
2
|
+
import type { PageVideoFrame } from "./pageFlip";
|
|
3
|
+
/**
|
|
4
|
+
* Videos on Folio's pages (#477): where each video resource's picture lies
|
|
5
|
+
* on a page as bound, and how a `<video>` element is given its source (a
|
|
6
|
+
* file, or an HLS stream through hls.js where the browser has no HLS of
|
|
7
|
+
* its own).
|
|
8
|
+
*/
|
|
9
|
+
/** A video printed on a page: its place (see {@link PageVideoFrame}), what
|
|
10
|
+
* plays and a key that finds it again in another layout of the book. */
|
|
11
|
+
export interface PageVideoSpot extends PageVideoFrame {
|
|
12
|
+
/** The resource's id and its occurrence on the page. */
|
|
13
|
+
key: string;
|
|
14
|
+
resourceId: string;
|
|
15
|
+
video: VDTResourceVideo;
|
|
16
|
+
/** The picture's height on the page, in the page's own px. */
|
|
17
|
+
heightPx: number;
|
|
18
|
+
}
|
|
19
|
+
/** The video resources printed on a page, in the order they are painted:
|
|
20
|
+
* each picture's place in fractions of the page as bound (trimmed), with
|
|
21
|
+
* the turns the page and the block give it. A mirrored (right-to-left)
|
|
22
|
+
* page sets its pictures unmirrored, as the renderers do. */
|
|
23
|
+
export declare function pageVideoSpots(page: VDTPage, doc: VDTDocument): PageVideoSpot[];
|
|
24
|
+
/** Whether a point of the page (fractions from its top left corner) lies on
|
|
25
|
+
* a spot's picture. */
|
|
26
|
+
export declare function spotContains(spot: PageVideoFrame, x: number, y: number): boolean;
|
|
27
|
+
/** The variant to cap a stream at: the tallest no taller than `maxHeight`
|
|
28
|
+
* (with a quarter of slack), else the shortest there is. */
|
|
29
|
+
export declare function hlsLevelCap(levels: readonly {
|
|
30
|
+
height: number;
|
|
31
|
+
}[], maxHeight: number): number;
|
|
32
|
+
/**
|
|
33
|
+
* Gives a `<video>` its source: a file's address as it is, or an HLS
|
|
34
|
+
* stream (`hls`, or an `.m3u8` address). A stream plays through hls.js
|
|
35
|
+
* (loaded on demand) wherever Media Source Extensions exist, its quality
|
|
36
|
+
* capped at the variant nearest `maxHeight` px tall, so a picture a few
|
|
37
|
+
* hundred pixels tall never pulls a 4K variant; the browser's own HLS
|
|
38
|
+
* (Safari on iOS) is the fallback, or the first choice with `native:
|
|
39
|
+
* 'prefer'` (a player shown at its size, which picks its own variant).
|
|
40
|
+
* A fatal network or media error is retried once each. `lazy` loads no
|
|
41
|
+
* segment before the first play. Resolves to a function that lets the
|
|
42
|
+
* source go; rejects when the stream cannot play.
|
|
43
|
+
*/
|
|
44
|
+
export declare function attachVideoSource(element: HTMLVideoElement, url: string, options?: {
|
|
45
|
+
hls?: boolean;
|
|
46
|
+
maxHeight?: number;
|
|
47
|
+
lazy?: boolean;
|
|
48
|
+
native?: "prefer" | "avoid";
|
|
49
|
+
corsTag?: boolean;
|
|
50
|
+
}): Promise<() => void>;
|
|
51
|
+
/** An address with the query that keeps its cache entry apart (see
|
|
52
|
+
* `corsTag`). */
|
|
53
|
+
export declare function corsTagged(url: string): string;
|
|
54
|
+
/** Whether a video plays from an HLS address. */
|
|
55
|
+
export declare function isHlsVideo(video: Pick<VDTResourceVideo, "mimeType">, url: string): boolean;
|
|
56
|
+
//# sourceMappingURL=videos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"videos.d.ts","sourceRoot":"","sources":["../src/videos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC/I,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;GAKG;AAEH;yEACyE;AACzE,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,gBAAgB,CAAC;IACxB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;8DAG8D;AAC9D,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,aAAa,EAAE,CAqD/E;AAED;wBACwB;AACxB,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAMhF;AAmBD;6DAC6D;AAC7D,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAQ5F;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAClH,OAAO,CAAC,MAAM,IAAI,CAAC,CAoDrB;AAED;kBACkB;AAClB,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAE1F"}
|