pdfjs-dist 2.1.266 → 2.5.207
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.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/CODE_OF_CONDUCT.md +15 -0
- package/README.md +4 -0
- package/bower.json +1 -1
- package/build/pdf.js +8382 -18492
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +22 -1
- package/build/pdf.worker.entry.js +5 -3
- package/build/pdf.worker.js +20417 -29816
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +22 -1
- package/es5/build/pdf.js +25688 -0
- package/es5/build/pdf.js.map +1 -0
- package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
- package/es5/build/pdf.worker.js +58239 -0
- package/es5/build/pdf.worker.js.map +1 -0
- package/es5/web/images/annotation-check.svg +11 -0
- package/es5/web/images/annotation-comment.svg +16 -0
- package/es5/web/images/annotation-help.svg +26 -0
- package/es5/web/images/annotation-insert.svg +10 -0
- package/es5/web/images/annotation-key.svg +11 -0
- package/es5/web/images/annotation-newparagraph.svg +11 -0
- package/es5/web/images/annotation-noicon.svg +7 -0
- package/es5/web/images/annotation-note.svg +42 -0
- package/es5/web/images/annotation-paragraph.svg +16 -0
- package/es5/web/images/loading-icon.gif +0 -0
- package/es5/web/images/shadow.png +0 -0
- package/es5/web/images/texture.png +0 -0
- package/es5/web/pdf_viewer.css +403 -0
- package/es5/web/pdf_viewer.js +7742 -0
- package/es5/web/pdf_viewer.js.map +1 -0
- package/image_decoders/pdf.image_decoders.js +1475 -4897
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +22 -1
- package/lib/README.md +7 -0
- package/lib/core/annotation.js +750 -899
- package/lib/core/arithmetic_decoder.js +81 -97
- package/lib/core/bidi.js +54 -46
- package/lib/core/ccitt.js +88 -81
- package/lib/core/ccitt_stream.js +15 -14
- package/lib/core/cff_parser.js +235 -183
- package/lib/core/charsets.js +4 -4
- package/lib/core/chunked_stream.js +447 -542
- package/lib/core/cmap.js +222 -264
- package/lib/core/colorspace.js +699 -863
- package/lib/core/core_utils.js +152 -0
- package/lib/core/crypto.js +379 -437
- package/lib/core/document.js +573 -660
- package/lib/core/encodings.js +15 -15
- package/lib/core/evaluator.js +1103 -868
- package/lib/core/font_renderer.js +135 -178
- package/lib/core/fonts.js +570 -491
- package/lib/core/function.js +291 -288
- package/lib/core/glyphlist.js +4527 -4526
- package/lib/core/image.js +145 -149
- package/lib/core/image_utils.js +170 -0
- package/lib/core/jbig2.js +325 -316
- package/lib/core/jbig2_stream.js +18 -17
- package/lib/core/jpeg_stream.js +21 -26
- package/lib/core/jpg.js +284 -232
- package/lib/core/jpx.js +161 -143
- package/lib/core/jpx_stream.js +28 -28
- package/lib/core/metrics.js +2929 -2929
- package/lib/core/murmurhash3.js +90 -101
- package/lib/core/obj.js +1183 -1157
- package/lib/core/operator_list.js +99 -67
- package/lib/core/parser.js +972 -911
- package/lib/core/pattern.js +87 -70
- package/lib/core/pdf_manager.js +150 -315
- package/lib/core/primitives.js +83 -56
- package/lib/core/ps_parser.js +175 -214
- package/lib/core/standard_fonts.js +237 -236
- package/lib/core/stream.js +94 -74
- package/lib/core/type1_parser.js +87 -69
- package/lib/core/unicode.js +1654 -1654
- package/lib/core/worker.js +193 -390
- package/lib/core/worker_stream.js +168 -0
- package/lib/display/annotation_layer.js +741 -972
- package/lib/display/api.js +1500 -1791
- package/lib/display/api_compatibility.js +12 -17
- package/lib/display/canvas.js +165 -165
- package/lib/display/content_disposition.js +40 -59
- package/lib/display/display_utils.js +515 -0
- package/lib/display/fetch_stream.js +183 -298
- package/lib/display/font_loader.js +273 -413
- package/lib/display/metadata.js +86 -98
- package/lib/display/network.js +266 -359
- package/lib/display/network_utils.js +25 -18
- package/lib/display/node_stream.js +285 -458
- package/lib/display/pattern_helper.js +113 -65
- package/lib/display/svg.js +1166 -901
- package/lib/display/text_layer.js +156 -132
- package/lib/display/transport_stream.js +262 -278
- package/lib/display/webgl.js +70 -83
- package/lib/display/worker_options.js +3 -3
- package/lib/display/xml_parser.js +303 -392
- package/lib/examples/node/domstubs.js +40 -37
- package/lib/pdf.js +226 -59
- package/lib/pdf.worker.js +14 -6
- package/lib/shared/compatibility.js +3 -246
- package/lib/shared/is_node.js +7 -6
- package/lib/shared/message_handler.js +327 -332
- package/lib/shared/util.js +266 -416
- package/lib/test/unit/annotation_spec.js +1555 -701
- package/lib/test/unit/api_spec.js +802 -604
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +84 -69
- package/lib/test/unit/clitests_helper.js +7 -9
- package/lib/test/unit/cmap_spec.js +74 -76
- package/lib/test/unit/colorspace_spec.js +166 -161
- package/lib/test/unit/core_utils_spec.js +211 -0
- package/lib/test/unit/crypto_spec.js +181 -181
- package/lib/test/unit/custom_spec.js +20 -22
- package/lib/test/unit/display_svg_spec.js +34 -39
- package/lib/test/unit/display_utils_spec.js +263 -0
- package/lib/test/unit/document_spec.js +16 -21
- package/lib/test/unit/encodings_spec.js +12 -34
- package/lib/test/unit/evaluator_spec.js +83 -83
- package/lib/test/unit/fetch_stream_spec.js +111 -0
- package/lib/test/unit/function_spec.js +206 -204
- package/lib/test/unit/jasmine-boot.js +46 -30
- package/lib/test/unit/message_handler_spec.js +173 -159
- package/lib/test/unit/metadata_spec.js +69 -69
- package/lib/test/unit/murmurhash3_spec.js +12 -12
- package/lib/test/unit/network_spec.js +13 -61
- package/lib/test/unit/network_utils_spec.js +183 -119
- package/lib/test/unit/node_stream_spec.js +78 -92
- package/lib/test/unit/parser_spec.js +172 -114
- package/lib/test/unit/pdf_find_controller_spec.js +55 -86
- package/lib/test/unit/pdf_find_utils_spec.js +32 -32
- package/lib/test/unit/pdf_history_spec.js +32 -32
- package/lib/test/unit/primitives_spec.js +140 -125
- package/lib/test/unit/stream_spec.js +16 -14
- package/lib/test/unit/test_utils.js +131 -143
- package/lib/test/unit/testreporter.js +19 -19
- package/lib/test/unit/type1_parser_spec.js +42 -42
- package/lib/test/unit/ui_utils_spec.js +297 -459
- package/lib/test/unit/unicode_spec.js +38 -38
- package/lib/test/unit/util_spec.js +121 -305
- package/lib/web/annotation_layer_builder.js +66 -103
- package/lib/web/app.js +1328 -1214
- package/lib/web/app_options.js +105 -107
- package/lib/web/base_viewer.js +824 -838
- package/lib/web/chromecom.js +165 -252
- package/lib/web/debugger.js +149 -205
- package/lib/web/download_manager.js +39 -55
- package/lib/web/firefox_print_service.js +37 -27
- package/lib/web/firefoxcom.js +212 -363
- package/lib/web/genericcom.js +26 -108
- package/lib/web/genericl10n.js +24 -153
- package/lib/web/grab_to_pan.js +32 -30
- package/lib/web/interfaces.js +80 -254
- package/lib/web/overlay_manager.js +70 -246
- package/lib/web/password_prompt.js +38 -64
- package/lib/web/pdf_attachment_viewer.js +113 -131
- package/lib/web/pdf_cursor_tools.js +75 -102
- package/lib/web/pdf_document_properties.js +221 -306
- package/lib/web/pdf_find_bar.js +136 -170
- package/lib/web/pdf_find_controller.js +491 -548
- package/lib/web/pdf_find_utils.js +13 -13
- package/lib/web/pdf_history.js +397 -406
- package/lib/web/pdf_link_service.js +304 -348
- package/lib/web/pdf_outline_viewer.js +140 -175
- package/lib/web/pdf_page_view.js +452 -523
- package/lib/web/pdf_presentation_mode.js +308 -357
- package/lib/web/pdf_print_service.js +90 -104
- package/lib/web/pdf_rendering_queue.js +84 -108
- package/lib/web/pdf_sidebar.js +276 -306
- package/lib/web/pdf_sidebar_resizer.js +92 -119
- package/lib/web/pdf_single_page_viewer.js +77 -126
- package/lib/web/pdf_thumbnail_view.js +276 -297
- package/lib/web/pdf_thumbnail_viewer.js +186 -206
- package/lib/web/pdf_viewer.component.js +20 -21
- package/lib/web/pdf_viewer.js +55 -115
- package/lib/web/preferences.js +82 -286
- package/lib/web/secondary_toolbar.js +164 -196
- package/lib/web/text_layer_builder.js +282 -339
- package/lib/web/toolbar.js +217 -210
- package/lib/web/ui_utils.js +267 -420
- package/lib/web/view_history.js +52 -226
- package/lib/web/viewer_compatibility.js +21 -6
- package/package.json +2 -9
- package/web/pdf_viewer.css +35 -25
- package/web/pdf_viewer.js +3489 -4855
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +14 -5
- package/external/streams/streams-lib.js +0 -3962
- package/external/url/url-lib.js +0 -627
- package/lib/display/dom_utils.js +0 -494
- package/lib/shared/streams_polyfill.js +0 -43
- package/lib/shared/url_polyfill.js +0 -56
- package/lib/test/unit/dom_utils_spec.js +0 -89
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2020 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -27,25 +27,40 @@ Object.defineProperty(exports, "__esModule", {
|
|
27
27
|
exports.getShadingPatternFromIR = getShadingPatternFromIR;
|
28
28
|
exports.TilingPattern = void 0;
|
29
29
|
|
30
|
-
var _util = require("../shared/util");
|
30
|
+
var _util = require("../shared/util.js");
|
31
31
|
|
32
32
|
var ShadingIRs = {};
|
33
|
+
|
34
|
+
function applyBoundingBox(ctx, bbox) {
|
35
|
+
if (!bbox || typeof Path2D === "undefined") {
|
36
|
+
return;
|
37
|
+
}
|
38
|
+
|
39
|
+
const width = bbox[2] - bbox[0];
|
40
|
+
const height = bbox[3] - bbox[1];
|
41
|
+
const region = new Path2D();
|
42
|
+
region.rect(bbox[0], bbox[1], width, height);
|
43
|
+
ctx.clip(region);
|
44
|
+
}
|
45
|
+
|
33
46
|
ShadingIRs.RadialAxial = {
|
34
47
|
fromIR: function RadialAxial_fromIR(raw) {
|
35
48
|
var type = raw[1];
|
36
|
-
var
|
37
|
-
var
|
38
|
-
var
|
39
|
-
var
|
40
|
-
var
|
49
|
+
var bbox = raw[2];
|
50
|
+
var colorStops = raw[3];
|
51
|
+
var p0 = raw[4];
|
52
|
+
var p1 = raw[5];
|
53
|
+
var r0 = raw[6];
|
54
|
+
var r1 = raw[7];
|
41
55
|
return {
|
42
|
-
type:
|
56
|
+
type: "Pattern",
|
43
57
|
getPattern: function RadialAxial_getPattern(ctx) {
|
58
|
+
applyBoundingBox(ctx, bbox);
|
44
59
|
var grad;
|
45
60
|
|
46
|
-
if (type ===
|
61
|
+
if (type === "axial") {
|
47
62
|
grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);
|
48
|
-
} else if (type ===
|
63
|
+
} else if (type === "radial") {
|
49
64
|
grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);
|
50
65
|
}
|
51
66
|
|
@@ -119,24 +134,50 @@ var createMeshCanvas = function createMeshCanvasClosure() {
|
|
119
134
|
maxY = Math.round(y3);
|
120
135
|
var xa, car, cag, cab;
|
121
136
|
var xb, cbr, cbg, cbb;
|
122
|
-
var k;
|
123
137
|
|
124
138
|
for (var y = minY; y <= maxY; y++) {
|
125
139
|
if (y < y2) {
|
126
|
-
k
|
140
|
+
let k;
|
141
|
+
|
142
|
+
if (y < y1) {
|
143
|
+
k = 0;
|
144
|
+
} else if (y1 === y2) {
|
145
|
+
k = 1;
|
146
|
+
} else {
|
147
|
+
k = (y1 - y) / (y1 - y2);
|
148
|
+
}
|
149
|
+
|
127
150
|
xa = x1 - (x1 - x2) * k;
|
128
151
|
car = c1r - (c1r - c2r) * k;
|
129
152
|
cag = c1g - (c1g - c2g) * k;
|
130
153
|
cab = c1b - (c1b - c2b) * k;
|
131
154
|
} else {
|
132
|
-
k
|
155
|
+
let k;
|
156
|
+
|
157
|
+
if (y > y3) {
|
158
|
+
k = 1;
|
159
|
+
} else if (y2 === y3) {
|
160
|
+
k = 0;
|
161
|
+
} else {
|
162
|
+
k = (y2 - y) / (y2 - y3);
|
163
|
+
}
|
164
|
+
|
133
165
|
xa = x2 - (x2 - x3) * k;
|
134
166
|
car = c2r - (c2r - c3r) * k;
|
135
167
|
cag = c2g - (c2g - c3g) * k;
|
136
168
|
cab = c2b - (c2b - c3b) * k;
|
137
169
|
}
|
138
170
|
|
139
|
-
k
|
171
|
+
let k;
|
172
|
+
|
173
|
+
if (y < y1) {
|
174
|
+
k = 0;
|
175
|
+
} else if (y > y3) {
|
176
|
+
k = 1;
|
177
|
+
} else {
|
178
|
+
k = (y1 - y) / (y1 - y3);
|
179
|
+
}
|
180
|
+
|
140
181
|
xb = x1 - (x1 - x3) * k;
|
141
182
|
cbr = c1r - (c1r - c3r) * k;
|
142
183
|
cbg = c1g - (c1g - c3g) * k;
|
@@ -147,7 +188,13 @@ var createMeshCanvas = function createMeshCanvasClosure() {
|
|
147
188
|
|
148
189
|
for (var x = x1_; x <= x2_; x++) {
|
149
190
|
k = (xa - x) / (xa - xb);
|
150
|
-
|
191
|
+
|
192
|
+
if (k < 0) {
|
193
|
+
k = 0;
|
194
|
+
} else if (k > 1) {
|
195
|
+
k = 1;
|
196
|
+
}
|
197
|
+
|
151
198
|
bytes[j++] = car - (car - cbr) * k | 0;
|
152
199
|
bytes[j++] = cag - (cag - cbg) * k | 0;
|
153
200
|
bytes[j++] = cab - (cab - cbb) * k | 0;
|
@@ -162,7 +209,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
|
|
162
209
|
var i, ii;
|
163
210
|
|
164
211
|
switch (figure.type) {
|
165
|
-
case
|
212
|
+
case "lattice":
|
166
213
|
var verticesPerRow = figure.verticesPerRow;
|
167
214
|
var rows = Math.floor(ps.length / verticesPerRow) - 1;
|
168
215
|
var cols = verticesPerRow - 1;
|
@@ -178,7 +225,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
|
|
178
225
|
|
179
226
|
break;
|
180
227
|
|
181
|
-
case
|
228
|
+
case "triangles":
|
182
229
|
for (i = 0, ii = ps.length; i < ii; i += 3) {
|
183
230
|
drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);
|
184
231
|
}
|
@@ -186,7 +233,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
|
|
186
233
|
break;
|
187
234
|
|
188
235
|
default:
|
189
|
-
throw new Error(
|
236
|
+
throw new Error("illegal figure");
|
190
237
|
}
|
191
238
|
}
|
192
239
|
|
@@ -203,8 +250,8 @@ var createMeshCanvas = function createMeshCanvasClosure() {
|
|
203
250
|
var scaleX = boundsWidth / width;
|
204
251
|
var scaleY = boundsHeight / height;
|
205
252
|
var context = {
|
206
|
-
coords
|
207
|
-
colors
|
253
|
+
coords,
|
254
|
+
colors,
|
208
255
|
offsetX: -offsetX,
|
209
256
|
offsetY: -offsetY,
|
210
257
|
scaleX: 1 / scaleX,
|
@@ -216,17 +263,17 @@ var createMeshCanvas = function createMeshCanvasClosure() {
|
|
216
263
|
|
217
264
|
if (webGLContext.isEnabled) {
|
218
265
|
canvas = webGLContext.drawFigures({
|
219
|
-
width
|
220
|
-
height
|
221
|
-
backgroundColor
|
222
|
-
figures
|
223
|
-
context
|
266
|
+
width,
|
267
|
+
height,
|
268
|
+
backgroundColor,
|
269
|
+
figures,
|
270
|
+
context
|
224
271
|
});
|
225
|
-
tmpCanvas = cachedCanvases.getCanvas(
|
272
|
+
tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
|
226
273
|
tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);
|
227
274
|
canvas = tmpCanvas.canvas;
|
228
275
|
} else {
|
229
|
-
tmpCanvas = cachedCanvases.getCanvas(
|
276
|
+
tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
|
230
277
|
var tmpCtx = tmpCanvas.context;
|
231
278
|
var data = tmpCtx.createImageData(width, height);
|
232
279
|
|
@@ -250,11 +297,11 @@ var createMeshCanvas = function createMeshCanvasClosure() {
|
|
250
297
|
}
|
251
298
|
|
252
299
|
return {
|
253
|
-
canvas
|
300
|
+
canvas,
|
254
301
|
offsetX: offsetX - BORDER_SIZE * scaleX,
|
255
302
|
offsetY: offsetY - BORDER_SIZE * scaleY,
|
256
|
-
scaleX
|
257
|
-
scaleY
|
303
|
+
scaleX,
|
304
|
+
scaleY
|
258
305
|
};
|
259
306
|
}
|
260
307
|
|
@@ -268,10 +315,12 @@ ShadingIRs.Mesh = {
|
|
268
315
|
var figures = raw[4];
|
269
316
|
var bounds = raw[5];
|
270
317
|
var matrix = raw[6];
|
318
|
+
var bbox = raw[7];
|
271
319
|
var background = raw[8];
|
272
320
|
return {
|
273
|
-
type:
|
321
|
+
type: "Pattern",
|
274
322
|
getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {
|
323
|
+
applyBoundingBox(ctx, bbox);
|
275
324
|
var scale;
|
276
325
|
|
277
326
|
if (shadingFill) {
|
@@ -298,7 +347,7 @@ ShadingIRs.Mesh = {
|
|
298
347
|
|
299
348
|
ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);
|
300
349
|
ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);
|
301
|
-
return ctx.createPattern(temporaryPatternCanvas.canvas,
|
350
|
+
return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat");
|
302
351
|
}
|
303
352
|
};
|
304
353
|
}
|
@@ -306,9 +355,9 @@ ShadingIRs.Mesh = {
|
|
306
355
|
ShadingIRs.Dummy = {
|
307
356
|
fromIR: function Dummy_fromIR() {
|
308
357
|
return {
|
309
|
-
type:
|
358
|
+
type: "Pattern",
|
310
359
|
getPattern: function Dummy_fromIR_getPattern() {
|
311
|
-
return
|
360
|
+
return "hotpink";
|
312
361
|
}
|
313
362
|
};
|
314
363
|
}
|
@@ -318,7 +367,7 @@ function getShadingPatternFromIR(raw) {
|
|
318
367
|
var shadingIR = ShadingIRs[raw[0]];
|
319
368
|
|
320
369
|
if (!shadingIR) {
|
321
|
-
throw new Error(
|
370
|
+
throw new Error(`Unknown IR type: ${raw[0]}`);
|
322
371
|
}
|
323
372
|
|
324
373
|
return shadingIR.fromIR(raw);
|
@@ -342,7 +391,7 @@ var TilingPattern = function TilingPatternClosure() {
|
|
342
391
|
this.color = color;
|
343
392
|
this.canvasGraphicsFactory = canvasGraphicsFactory;
|
344
393
|
this.baseTransform = baseTransform;
|
345
|
-
this.type =
|
394
|
+
this.type = "Pattern";
|
346
395
|
this.ctx = ctx;
|
347
396
|
}
|
348
397
|
|
@@ -356,47 +405,47 @@ var TilingPattern = function TilingPatternClosure() {
|
|
356
405
|
var tilingType = this.tilingType;
|
357
406
|
var color = this.color;
|
358
407
|
var canvasGraphicsFactory = this.canvasGraphicsFactory;
|
359
|
-
(0, _util.info)(
|
408
|
+
(0, _util.info)("TilingType: " + tilingType);
|
360
409
|
var x0 = bbox[0],
|
361
410
|
y0 = bbox[1],
|
362
411
|
x1 = bbox[2],
|
363
412
|
y1 = bbox[3];
|
364
|
-
var topLeft = [x0, y0];
|
365
|
-
var botRight = [x0 + xstep, y0 + ystep];
|
366
|
-
var width = botRight[0] - topLeft[0];
|
367
|
-
var height = botRight[1] - topLeft[1];
|
368
413
|
|
369
414
|
var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);
|
370
415
|
|
371
416
|
var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);
|
372
417
|
|
373
418
|
var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];
|
374
|
-
|
375
|
-
|
376
|
-
var tmpCanvas = owner.cachedCanvases.getCanvas(
|
419
|
+
var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);
|
420
|
+
var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);
|
421
|
+
var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true);
|
377
422
|
var tmpCtx = tmpCanvas.context;
|
378
423
|
var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);
|
379
424
|
graphics.groupLevel = owner.groupLevel;
|
380
425
|
this.setFillAndStrokeStyleToContext(graphics, paintType, color);
|
381
|
-
|
382
|
-
|
383
|
-
var tmpTranslate = [1, 0, 0, 1, -topLeft[0], -topLeft[1]];
|
384
|
-
graphics.transform.apply(graphics, tmpTranslate);
|
426
|
+
graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);
|
427
|
+
graphics.transform(1, 0, 0, 1, -x0, -y0);
|
385
428
|
this.clipBbox(graphics, bbox, x0, y0, x1, y1);
|
386
429
|
graphics.executeOperatorList(operatorList);
|
430
|
+
this.ctx.transform(1, 0, 0, 1, x0, y0);
|
431
|
+
this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);
|
387
432
|
return tmpCanvas.canvas;
|
388
433
|
},
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
434
|
+
getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {
|
435
|
+
step = Math.abs(step);
|
436
|
+
var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);
|
437
|
+
var size = Math.ceil(step * scale);
|
438
|
+
|
439
|
+
if (size >= maxSize) {
|
440
|
+
size = maxSize;
|
441
|
+
} else {
|
442
|
+
scale = size / step;
|
443
|
+
}
|
444
|
+
|
445
|
+
return {
|
446
|
+
scale,
|
447
|
+
size
|
448
|
+
};
|
400
449
|
},
|
401
450
|
clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {
|
402
451
|
if (Array.isArray(bbox) && bbox.length === 4) {
|
@@ -408,8 +457,8 @@ var TilingPattern = function TilingPatternClosure() {
|
|
408
457
|
}
|
409
458
|
},
|
410
459
|
setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {
|
411
|
-
|
412
|
-
|
460
|
+
const context = graphics.ctx,
|
461
|
+
current = graphics.current;
|
413
462
|
|
414
463
|
switch (paintType) {
|
415
464
|
case PaintType.COLORED:
|
@@ -430,16 +479,15 @@ var TilingPattern = function TilingPatternClosure() {
|
|
430
479
|
break;
|
431
480
|
|
432
481
|
default:
|
433
|
-
throw new _util.FormatError(
|
482
|
+
throw new _util.FormatError(`Unsupported paint type: ${paintType}`);
|
434
483
|
}
|
435
484
|
},
|
436
485
|
getPattern: function TilingPattern_getPattern(ctx, owner) {
|
437
|
-
var temporaryPatternCanvas = this.createPatternCanvas(owner);
|
438
486
|
ctx = this.ctx;
|
439
487
|
ctx.setTransform.apply(ctx, this.baseTransform);
|
440
488
|
ctx.transform.apply(ctx, this.matrix);
|
441
|
-
this.
|
442
|
-
return ctx.createPattern(temporaryPatternCanvas,
|
489
|
+
var temporaryPatternCanvas = this.createPatternCanvas(owner);
|
490
|
+
return ctx.createPattern(temporaryPatternCanvas, "repeat");
|
443
491
|
}
|
444
492
|
};
|
445
493
|
return TilingPattern;
|