mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-22 16:18:08 +02:00
Merge pull request #17070 from calixteman/17069
Update the noHTML flag to take into account the hasOwnCanvas one (fixes #17069)
This commit is contained in:
commit
c4c24c6d18
4 changed files with 27 additions and 1 deletions
|
@ -2845,6 +2845,7 @@ class ButtonWidgetAnnotation extends WidgetAnnotation {
|
|||
this._processRadioButton(params);
|
||||
} else if (this.data.pushButton) {
|
||||
this.data.hasOwnCanvas = true;
|
||||
this.data.noHTML = false;
|
||||
this._processPushButton(params);
|
||||
} else {
|
||||
warn("Invalid field flags for button widget annotation");
|
||||
|
@ -3570,6 +3571,7 @@ class SignatureWidgetAnnotation extends WidgetAnnotation {
|
|||
// to the main-thread (issue 10347).
|
||||
this.data.fieldValue = null;
|
||||
this.data.hasOwnCanvas = this.data.noRotate;
|
||||
this.data.noHTML = !this.data.hasOwnCanvas;
|
||||
}
|
||||
|
||||
getFieldObject() {
|
||||
|
@ -3591,6 +3593,7 @@ class TextAnnotation extends MarkupAnnotation {
|
|||
// No rotation for Text (see 12.5.6.4).
|
||||
this.data.noRotate = true;
|
||||
this.data.hasOwnCanvas = this.data.noRotate;
|
||||
this.data.noHTML = false;
|
||||
|
||||
const { dict } = params;
|
||||
this.data.annotationType = AnnotationType.TEXT;
|
||||
|
@ -3643,6 +3646,11 @@ class PopupAnnotation extends Annotation {
|
|||
|
||||
const { dict } = params;
|
||||
this.data.annotationType = AnnotationType.POPUP;
|
||||
|
||||
// A pop-up is never rendered on the main canvas so we must render its HTML
|
||||
// version.
|
||||
this.data.noHTML = false;
|
||||
|
||||
if (
|
||||
this.data.rect[0] === this.data.rect[2] ||
|
||||
this.data.rect[1] === this.data.rect[3]
|
||||
|
@ -3712,7 +3720,10 @@ class FreeTextAnnotation extends MarkupAnnotation {
|
|||
constructor(params) {
|
||||
super(params);
|
||||
|
||||
this.data.hasOwnCanvas = true;
|
||||
// It uses its own canvas in order to be hidden if edited.
|
||||
// But if it has the noHTML flag, it means that we don't want to be able
|
||||
// to modify it so we can just draw it on the main canvas.
|
||||
this.data.hasOwnCanvas = !this.data.noHTML;
|
||||
|
||||
const { evaluatorOptions, xref } = params;
|
||||
this.data.annotationType = AnnotationType.FREETEXT;
|
||||
|
@ -3926,6 +3937,7 @@ class LineAnnotation extends MarkupAnnotation {
|
|||
const { dict, xref } = params;
|
||||
this.data.annotationType = AnnotationType.LINE;
|
||||
this.data.hasOwnCanvas = this.data.noRotate;
|
||||
this.data.noHTML = false;
|
||||
|
||||
const lineCoordinates = dict.getArray("L");
|
||||
this.data.lineCoordinates = Util.normalizeRect(lineCoordinates);
|
||||
|
@ -3993,6 +4005,7 @@ class SquareAnnotation extends MarkupAnnotation {
|
|||
const { dict, xref } = params;
|
||||
this.data.annotationType = AnnotationType.SQUARE;
|
||||
this.data.hasOwnCanvas = this.data.noRotate;
|
||||
this.data.noHTML = false;
|
||||
|
||||
if (!this.appearance) {
|
||||
// The default stroke color is black.
|
||||
|
@ -4105,6 +4118,7 @@ class PolylineAnnotation extends MarkupAnnotation {
|
|||
const { dict, xref } = params;
|
||||
this.data.annotationType = AnnotationType.POLYLINE;
|
||||
this.data.hasOwnCanvas = this.data.noRotate;
|
||||
this.data.noHTML = false;
|
||||
this.data.vertices = [];
|
||||
|
||||
if (
|
||||
|
@ -4193,6 +4207,7 @@ class InkAnnotation extends MarkupAnnotation {
|
|||
super(params);
|
||||
|
||||
this.data.hasOwnCanvas = this.data.noRotate;
|
||||
this.data.noHTML = false;
|
||||
|
||||
const { dict, xref } = params;
|
||||
this.data.annotationType = AnnotationType.INK;
|
||||
|
@ -4531,6 +4546,7 @@ class StampAnnotation extends MarkupAnnotation {
|
|||
|
||||
this.data.annotationType = AnnotationType.STAMP;
|
||||
this.data.hasOwnCanvas = this.data.noRotate;
|
||||
this.data.noHTML = false;
|
||||
}
|
||||
|
||||
static async createImage(bitmap, xref) {
|
||||
|
@ -4680,6 +4696,7 @@ class FileAttachmentAnnotation extends MarkupAnnotation {
|
|||
|
||||
this.data.annotationType = AnnotationType.FILEATTACHMENT;
|
||||
this.data.hasOwnCanvas = this.data.noRotate;
|
||||
this.data.noHTML = false;
|
||||
this.data.file = file.serializable;
|
||||
|
||||
const name = dict.get("Name");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue