1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-19 14:48:08 +02:00

Merge pull request #19622 from nicolo-ribaudo/zoom-detail-view-constant-redraw

Do not constantly render the detail canvas on zoom (bug 1952496)
This commit is contained in:
Jonas Jenwald 2025-03-07 13:56:13 +01:00 committed by GitHub
commit cef4fcf025
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1868,14 +1868,18 @@ class PDFViewer {
this._spreadMode !== SpreadMode.NONE &&
this._scrollMode !== ScrollMode.HORIZONTAL;
// If we are scrolling and the rendering of a detail view was just
// cancelled, it's because the user is scrolling too quickly and so
// we constantly need to re-render a different area.
// Don't attempt to re-render it: this will be done once the user
// stops scrolling.
const ignoreDetailViews =
this.#scrollTimeoutId !== null &&
visiblePages.views.some(page => page.detailView?.renderingCancelled);
// If we are zooming, do not re-render the detail views. Re-renders on
// zoom happen with a delay, and once the rendering happens it will also
// trigger rendering of the detail views.
this.#scaleTimeoutId !== null ||
// If we are scrolling and the rendering of a detail view was just
// cancelled, it's because the user is scrolling too quickly and so
// we constantly need to re-render a different area.
// Don't attempt to re-render it: this will be done once the user
// stops scrolling.
(this.#scrollTimeoutId !== null &&
visiblePages.views.some(page => page.detailView?.renderingCancelled));
const pageView = this.renderingQueue.getHighestPriority(
visiblePages,