123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- /* Copyright 2018 Mozilla Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- /* eslint-disable getter-return */
- /** @typedef {import("../src/display/api").PDFPageProxy} PDFPageProxy */
- // eslint-disable-next-line max-len
- /** @typedef {import("../src/display/display_utils").PageViewport} PageViewport */
- /** @typedef {import("./ui_utils").RenderingStates} RenderingStates */
- /**
- * @interface
- */
- class IPDFLinkService {
- /**
- * @type {number}
- */
- get pagesCount() {}
- /**
- * @type {number}
- */
- get page() {}
- /**
- * @param {number} value
- */
- set page(value) {}
- /**
- * @type {number}
- */
- get rotation() {}
- /**
- * @param {number} value
- */
- set rotation(value) {}
- /**
- * @type {boolean}
- */
- get isInPresentationMode() {}
- /**
- * @type {boolean}
- */
- get externalLinkEnabled() {}
- /**
- * @param {boolean} value
- */
- set externalLinkEnabled(value) {}
- /**
- * @param {string|Array} dest - The named, or explicit, PDF destination.
- */
- async goToDestination(dest) {}
- /**
- * @param {number|string} val - The page number, or page label.
- */
- goToPage(val) {}
- /**
- * @param {HTMLAnchorElement} link
- * @param {string} url
- * @param {boolean} [newWindow]
- */
- addLinkAttributes(link, url, newWindow = false) {}
- /**
- * @param dest - The PDF destination object.
- * @returns {string} The hyperlink to the PDF object.
- */
- getDestinationHash(dest) {}
- /**
- * @param hash - The PDF parameters/hash.
- * @returns {string} The hyperlink to the PDF object.
- */
- getAnchorUrl(hash) {}
- /**
- * @param {string} hash
- */
- setHash(hash) {}
- /**
- * @param {string} action
- */
- executeNamedAction(action) {}
- /**
- * @param {Object} action
- */
- executeSetOCGState(action) {}
- /**
- * @param {number} pageNum - page number.
- * @param {Object} pageRef - reference to the page.
- */
- cachePageRef(pageNum, pageRef) {}
- /**
- * @param {number} pageNumber
- */
- isPageVisible(pageNumber) {}
- /**
- * @param {number} pageNumber
- */
- isPageCached(pageNumber) {}
- }
- /**
- * @interface
- */
- class IRenderableView {
- constructor() {
- /** @type {function | null} */
- this.resume = null;
- }
- /**
- * @type {string} - Unique ID for rendering queue.
- */
- get renderingId() {}
- /**
- * @type {RenderingStates}
- */
- get renderingState() {}
- /**
- * @returns {Promise} Resolved on draw completion.
- */
- draw() {}
- }
- /**
- * @interface
- */
- class IDownloadManager {
- /**
- * @param {string} url
- * @param {string} filename
- */
- downloadUrl(url, filename) {}
- /**
- * @param {Uint8Array} data
- * @param {string} filename
- * @param {string} [contentType]
- */
- downloadData(data, filename, contentType) {}
- /**
- * @param {HTMLElement} element
- * @param {Uint8Array} data
- * @param {string} filename
- * @returns {boolean} Indicating if the data was opened.
- */
- openOrDownloadData(element, data, filename) {}
- /**
- * @param {Blob} blob
- * @param {string} url
- * @param {string} filename
- */
- download(blob, url, filename) {}
- }
- /**
- * @interface
- */
- class IL10n {
- /**
- * @returns {Promise<string>} - Resolves to the current locale.
- */
- async getLanguage() {}
- /**
- * @returns {Promise<string>} - Resolves to 'rtl' or 'ltr'.
- */
- async getDirection() {}
- /**
- * Translates text identified by the key and adds/formats data using the args
- * property bag. If the key was not found, translation falls back to the
- * fallback text.
- * @param {string} key
- * @param {Object | null} [args]
- * @param {string} [fallback]
- * @returns {Promise<string>}
- */
- async get(key, args = null, fallback) {}
- /**
- * Translates HTML element.
- * @param {HTMLElement} element
- * @returns {Promise<void>}
- */
- async translate(element) {}
- }
- export { IDownloadManager, IL10n, IPDFLinkService, IRenderableView };
|