1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-22 16:18:08 +02:00

Implement support for stamp annotations

This commit is contained in:
Tim van der Meij 2017-09-16 16:37:50 +02:00
parent 3be941d982
commit 400e4aae0e
No known key found for this signature in database
GPG key ID: 8C3FD2925A5F2762
6 changed files with 48 additions and 0 deletions

View file

@ -99,6 +99,9 @@ class AnnotationFactory {
case 'StrikeOut':
return new StrikeOutAnnotation(parameters);
case 'Stamp':
return new StampAnnotation(parameters);
case 'FileAttachment':
return new FileAttachmentAnnotation(parameters);
@ -946,6 +949,15 @@ class StrikeOutAnnotation extends Annotation {
}
}
class StampAnnotation extends Annotation {
constructor(parameters) {
super(parameters);
this.data.annotationType = AnnotationType.STAMP;
this._preparePopup(parameters.dict);
}
}
class FileAttachmentAnnotation extends Annotation {
constructor(parameters) {
super(parameters);

View file

@ -92,6 +92,9 @@ class AnnotationElementFactory {
case AnnotationType.STRIKEOUT:
return new StrikeOutAnnotationElement(parameters);
case AnnotationType.STAMP:
return new StampAnnotationElement(parameters);
case AnnotationType.FILEATTACHMENT:
return new FileAttachmentAnnotationElement(parameters);
@ -1004,6 +1007,30 @@ class StrikeOutAnnotationElement extends AnnotationElement {
}
}
class StampAnnotationElement extends AnnotationElement {
constructor(parameters) {
let isRenderable = !!(parameters.data.hasPopup ||
parameters.data.title || parameters.data.contents);
super(parameters, isRenderable, /* ignoreBorder = */ true);
}
/**
* Render the stamp annotation's HTML element in the empty container.
*
* @public
* @memberof StampAnnotationElement
* @returns {HTMLSectionElement}
*/
render() {
this.container.className = 'stampAnnotation';
if (!this.data.hasPopup) {
this._createPopup(this.container, null, this.data);
}
return this.container;
}
}
class FileAttachmentAnnotationElement extends AnnotationElement {
constructor(parameters) {
super(parameters, /* isRenderable = */ true);