vue-openlayers-plugin 1.0.4 → 1.0.6

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.
@@ -0,0 +1,814 @@
1
+ function _mergeNamespaces(n, m) {
2
+ for (var i = 0; i < m.length; i++) {
3
+ const e2 = m[i];
4
+ if (typeof e2 !== "string" && !Array.isArray(e2)) {
5
+ for (const k in e2) {
6
+ if (k !== "default" && !(k in n)) {
7
+ const d = Object.getOwnPropertyDescriptor(e2, k);
8
+ if (d) {
9
+ Object.defineProperty(n, k, d.get ? d : {
10
+ enumerable: true,
11
+ get: () => e2[k]
12
+ });
13
+ }
14
+ }
15
+ }
16
+ }
17
+ }
18
+ return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: "Module" }));
19
+ }
20
+ function commonjsRequire(path) {
21
+ throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
22
+ }
23
+ var gifler$1 = {};
24
+ (function e(t, n, r) {
25
+ function s(o2, u) {
26
+ if (!n[o2]) {
27
+ if (!t[o2]) {
28
+ var a = typeof commonjsRequire == "function" && commonjsRequire;
29
+ if (!u && a)
30
+ return a(o2, true);
31
+ if (i)
32
+ return i(o2, true);
33
+ var f = new Error("Cannot find module '" + o2 + "'");
34
+ throw f.code = "MODULE_NOT_FOUND", f;
35
+ }
36
+ var l = n[o2] = { exports: {} };
37
+ t[o2][0].call(l.exports, function(e2) {
38
+ var n2 = t[o2][1][e2];
39
+ return s(n2 ? n2 : e2);
40
+ }, l, l.exports, e, t, n, r);
41
+ }
42
+ return n[o2].exports;
43
+ }
44
+ var i = typeof commonjsRequire == "function" && commonjsRequire;
45
+ for (var o = 0; o < r.length; o++)
46
+ s(r[o]);
47
+ return s;
48
+ })({ 1: [function(require2, module, exports) {
49
+ function GifWriter(buf, width, height, gopts) {
50
+ var p = 0;
51
+ var gopts = gopts === void 0 ? {} : gopts;
52
+ var loop_count = gopts.loop === void 0 ? null : gopts.loop;
53
+ var global_palette = gopts.palette === void 0 ? null : gopts.palette;
54
+ if (width <= 0 || height <= 0 || width > 65535 || height > 65535)
55
+ throw "Width/Height invalid.";
56
+ function check_palette_and_num_colors(palette) {
57
+ var num_colors = palette.length;
58
+ if (num_colors < 2 || num_colors > 256 || num_colors & num_colors - 1)
59
+ throw "Invalid code/color length, must be power of 2 and 2 .. 256.";
60
+ return num_colors;
61
+ }
62
+ buf[p++] = 71;
63
+ buf[p++] = 73;
64
+ buf[p++] = 70;
65
+ buf[p++] = 56;
66
+ buf[p++] = 57;
67
+ buf[p++] = 97;
68
+ var gp_num_colors_pow2 = 0;
69
+ var background = 0;
70
+ if (global_palette !== null) {
71
+ var gp_num_colors = check_palette_and_num_colors(global_palette);
72
+ while (gp_num_colors >>= 1)
73
+ ++gp_num_colors_pow2;
74
+ gp_num_colors = 1 << gp_num_colors_pow2;
75
+ --gp_num_colors_pow2;
76
+ if (gopts.background !== void 0) {
77
+ background = gopts.background;
78
+ if (background >= gp_num_colors)
79
+ throw "Background index out of range.";
80
+ if (background === 0)
81
+ throw "Background index explicitly passed as 0.";
82
+ }
83
+ }
84
+ buf[p++] = width & 255;
85
+ buf[p++] = width >> 8 & 255;
86
+ buf[p++] = height & 255;
87
+ buf[p++] = height >> 8 & 255;
88
+ buf[p++] = (global_palette !== null ? 128 : 0) | // Global Color Table Flag.
89
+ gp_num_colors_pow2;
90
+ buf[p++] = background;
91
+ buf[p++] = 0;
92
+ if (global_palette !== null) {
93
+ for (var i = 0, il = global_palette.length; i < il; ++i) {
94
+ var rgb = global_palette[i];
95
+ buf[p++] = rgb >> 16 & 255;
96
+ buf[p++] = rgb >> 8 & 255;
97
+ buf[p++] = rgb & 255;
98
+ }
99
+ }
100
+ if (loop_count !== null) {
101
+ if (loop_count < 0 || loop_count > 65535)
102
+ throw "Loop count invalid.";
103
+ buf[p++] = 33;
104
+ buf[p++] = 255;
105
+ buf[p++] = 11;
106
+ buf[p++] = 78;
107
+ buf[p++] = 69;
108
+ buf[p++] = 84;
109
+ buf[p++] = 83;
110
+ buf[p++] = 67;
111
+ buf[p++] = 65;
112
+ buf[p++] = 80;
113
+ buf[p++] = 69;
114
+ buf[p++] = 50;
115
+ buf[p++] = 46;
116
+ buf[p++] = 48;
117
+ buf[p++] = 3;
118
+ buf[p++] = 1;
119
+ buf[p++] = loop_count & 255;
120
+ buf[p++] = loop_count >> 8 & 255;
121
+ buf[p++] = 0;
122
+ }
123
+ var ended = false;
124
+ this.addFrame = function(x, y, w, h, indexed_pixels, opts) {
125
+ if (ended === true) {
126
+ --p;
127
+ ended = false;
128
+ }
129
+ opts = opts === void 0 ? {} : opts;
130
+ if (x < 0 || y < 0 || x > 65535 || y > 65535)
131
+ throw "x/y invalid.";
132
+ if (w <= 0 || h <= 0 || w > 65535 || h > 65535)
133
+ throw "Width/Height invalid.";
134
+ if (indexed_pixels.length < w * h)
135
+ throw "Not enough pixels for the frame size.";
136
+ var using_local_palette = true;
137
+ var palette = opts.palette;
138
+ if (palette === void 0 || palette === null) {
139
+ using_local_palette = false;
140
+ palette = global_palette;
141
+ }
142
+ if (palette === void 0 || palette === null)
143
+ throw "Must supply either a local or global palette.";
144
+ var num_colors = check_palette_and_num_colors(palette);
145
+ var min_code_size = 0;
146
+ while (num_colors >>= 1)
147
+ ++min_code_size;
148
+ num_colors = 1 << min_code_size;
149
+ var delay = opts.delay === void 0 ? 0 : opts.delay;
150
+ var disposal = opts.disposal === void 0 ? 0 : opts.disposal;
151
+ if (disposal < 0 || disposal > 3)
152
+ throw "Disposal out of range.";
153
+ var use_transparency = false;
154
+ var transparent_index = 0;
155
+ if (opts.transparent !== void 0 && opts.transparent !== null) {
156
+ use_transparency = true;
157
+ transparent_index = opts.transparent;
158
+ if (transparent_index < 0 || transparent_index >= num_colors)
159
+ throw "Transparent color index.";
160
+ }
161
+ if (disposal !== 0 || use_transparency || delay !== 0) {
162
+ buf[p++] = 33;
163
+ buf[p++] = 249;
164
+ buf[p++] = 4;
165
+ buf[p++] = disposal << 2 | (use_transparency === true ? 1 : 0);
166
+ buf[p++] = delay & 255;
167
+ buf[p++] = delay >> 8 & 255;
168
+ buf[p++] = transparent_index;
169
+ buf[p++] = 0;
170
+ }
171
+ buf[p++] = 44;
172
+ buf[p++] = x & 255;
173
+ buf[p++] = x >> 8 & 255;
174
+ buf[p++] = y & 255;
175
+ buf[p++] = y >> 8 & 255;
176
+ buf[p++] = w & 255;
177
+ buf[p++] = w >> 8 & 255;
178
+ buf[p++] = h & 255;
179
+ buf[p++] = h >> 8 & 255;
180
+ buf[p++] = using_local_palette === true ? 128 | min_code_size - 1 : 0;
181
+ if (using_local_palette === true) {
182
+ for (var i2 = 0, il2 = palette.length; i2 < il2; ++i2) {
183
+ var rgb2 = palette[i2];
184
+ buf[p++] = rgb2 >> 16 & 255;
185
+ buf[p++] = rgb2 >> 8 & 255;
186
+ buf[p++] = rgb2 & 255;
187
+ }
188
+ }
189
+ p = GifWriterOutputLZWCodeStream(
190
+ buf,
191
+ p,
192
+ min_code_size < 2 ? 2 : min_code_size,
193
+ indexed_pixels
194
+ );
195
+ };
196
+ this.end = function() {
197
+ if (ended === false) {
198
+ buf[p++] = 59;
199
+ ended = true;
200
+ }
201
+ return p;
202
+ };
203
+ }
204
+ function GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {
205
+ buf[p++] = min_code_size;
206
+ var cur_subblock = p++;
207
+ var clear_code = 1 << min_code_size;
208
+ var code_mask = clear_code - 1;
209
+ var eoi_code = clear_code + 1;
210
+ var next_code = eoi_code + 1;
211
+ var cur_code_size = min_code_size + 1;
212
+ var cur_shift = 0;
213
+ var cur = 0;
214
+ function emit_bytes_to_buffer(bit_block_size) {
215
+ while (cur_shift >= bit_block_size) {
216
+ buf[p++] = cur & 255;
217
+ cur >>= 8;
218
+ cur_shift -= 8;
219
+ if (p === cur_subblock + 256) {
220
+ buf[cur_subblock] = 255;
221
+ cur_subblock = p++;
222
+ }
223
+ }
224
+ }
225
+ function emit_code(c) {
226
+ cur |= c << cur_shift;
227
+ cur_shift += cur_code_size;
228
+ emit_bytes_to_buffer(8);
229
+ }
230
+ var ib_code = index_stream[0] & code_mask;
231
+ var code_table = {};
232
+ emit_code(clear_code);
233
+ for (var i = 1, il = index_stream.length; i < il; ++i) {
234
+ var k = index_stream[i] & code_mask;
235
+ var cur_key = ib_code << 8 | k;
236
+ var cur_code = code_table[cur_key];
237
+ if (cur_code === void 0) {
238
+ cur |= ib_code << cur_shift;
239
+ cur_shift += cur_code_size;
240
+ while (cur_shift >= 8) {
241
+ buf[p++] = cur & 255;
242
+ cur >>= 8;
243
+ cur_shift -= 8;
244
+ if (p === cur_subblock + 256) {
245
+ buf[cur_subblock] = 255;
246
+ cur_subblock = p++;
247
+ }
248
+ }
249
+ if (next_code === 4096) {
250
+ emit_code(clear_code);
251
+ next_code = eoi_code + 1;
252
+ cur_code_size = min_code_size + 1;
253
+ code_table = {};
254
+ } else {
255
+ if (next_code >= 1 << cur_code_size)
256
+ ++cur_code_size;
257
+ code_table[cur_key] = next_code++;
258
+ }
259
+ ib_code = k;
260
+ } else {
261
+ ib_code = cur_code;
262
+ }
263
+ }
264
+ emit_code(ib_code);
265
+ emit_code(eoi_code);
266
+ emit_bytes_to_buffer(1);
267
+ if (cur_subblock + 1 === p) {
268
+ buf[cur_subblock] = 0;
269
+ } else {
270
+ buf[cur_subblock] = p - cur_subblock - 1;
271
+ buf[p++] = 0;
272
+ }
273
+ return p;
274
+ }
275
+ function GifReader(buf) {
276
+ var p = 0;
277
+ if (buf[p++] !== 71 || buf[p++] !== 73 || buf[p++] !== 70 || buf[p++] !== 56 || (buf[p++] + 1 & 253) !== 56 || buf[p++] !== 97) {
278
+ throw "Invalid GIF 87a/89a header.";
279
+ }
280
+ var width = buf[p++] | buf[p++] << 8;
281
+ var height = buf[p++] | buf[p++] << 8;
282
+ var pf0 = buf[p++];
283
+ var global_palette_flag = pf0 >> 7;
284
+ var num_global_colors_pow2 = pf0 & 7;
285
+ var num_global_colors = 1 << num_global_colors_pow2 + 1;
286
+ buf[p++];
287
+ buf[p++];
288
+ var global_palette_offset = null;
289
+ if (global_palette_flag) {
290
+ global_palette_offset = p;
291
+ p += num_global_colors * 3;
292
+ }
293
+ var no_eof = true;
294
+ var frames = [];
295
+ var delay = 0;
296
+ var transparent_index = null;
297
+ var disposal = 0;
298
+ var loop_count = null;
299
+ this.width = width;
300
+ this.height = height;
301
+ while (no_eof && p < buf.length) {
302
+ switch (buf[p++]) {
303
+ case 33:
304
+ switch (buf[p++]) {
305
+ case 255:
306
+ if (buf[p] !== 11 || // 21 FF already read, check block size.
307
+ // NETSCAPE2.0
308
+ buf[p + 1] == 78 && buf[p + 2] == 69 && buf[p + 3] == 84 && buf[p + 4] == 83 && buf[p + 5] == 67 && buf[p + 6] == 65 && buf[p + 7] == 80 && buf[p + 8] == 69 && buf[p + 9] == 50 && buf[p + 10] == 46 && buf[p + 11] == 48 && // Sub-block
309
+ buf[p + 12] == 3 && buf[p + 13] == 1 && buf[p + 16] == 0) {
310
+ p += 14;
311
+ loop_count = buf[p++] | buf[p++] << 8;
312
+ p++;
313
+ } else {
314
+ p += 12;
315
+ while (true) {
316
+ var block_size = buf[p++];
317
+ if (block_size === 0)
318
+ break;
319
+ p += block_size;
320
+ }
321
+ }
322
+ break;
323
+ case 249:
324
+ if (buf[p++] !== 4 || buf[p + 4] !== 0)
325
+ throw "Invalid graphics extension block.";
326
+ var pf1 = buf[p++];
327
+ delay = buf[p++] | buf[p++] << 8;
328
+ transparent_index = buf[p++];
329
+ if ((pf1 & 1) === 0)
330
+ transparent_index = null;
331
+ disposal = pf1 >> 2 & 7;
332
+ p++;
333
+ break;
334
+ case 254:
335
+ while (true) {
336
+ var block_size = buf[p++];
337
+ if (block_size === 0)
338
+ break;
339
+ p += block_size;
340
+ }
341
+ break;
342
+ default:
343
+ throw "Unknown graphic control label: 0x" + buf[p - 1].toString(16);
344
+ }
345
+ break;
346
+ case 44:
347
+ var x = buf[p++] | buf[p++] << 8;
348
+ var y = buf[p++] | buf[p++] << 8;
349
+ var w = buf[p++] | buf[p++] << 8;
350
+ var h = buf[p++] | buf[p++] << 8;
351
+ var pf2 = buf[p++];
352
+ var local_palette_flag = pf2 >> 7;
353
+ var interlace_flag = pf2 >> 6 & 1;
354
+ var num_local_colors_pow2 = pf2 & 7;
355
+ var num_local_colors = 1 << num_local_colors_pow2 + 1;
356
+ var palette_offset = global_palette_offset;
357
+ var has_local_palette = false;
358
+ if (local_palette_flag) {
359
+ var has_local_palette = true;
360
+ palette_offset = p;
361
+ p += num_local_colors * 3;
362
+ }
363
+ var data_offset = p;
364
+ p++;
365
+ while (true) {
366
+ var block_size = buf[p++];
367
+ if (block_size === 0)
368
+ break;
369
+ p += block_size;
370
+ }
371
+ frames.push({
372
+ x,
373
+ y,
374
+ width: w,
375
+ height: h,
376
+ has_local_palette,
377
+ palette_offset,
378
+ data_offset,
379
+ data_length: p - data_offset,
380
+ transparent_index,
381
+ interlaced: !!interlace_flag,
382
+ delay,
383
+ disposal
384
+ });
385
+ break;
386
+ case 59:
387
+ no_eof = false;
388
+ break;
389
+ default:
390
+ throw "Unknown gif block: 0x" + buf[p - 1].toString(16);
391
+ }
392
+ }
393
+ this.numFrames = function() {
394
+ return frames.length;
395
+ };
396
+ this.loopCount = function() {
397
+ return loop_count;
398
+ };
399
+ this.frameInfo = function(frame_num) {
400
+ if (frame_num < 0 || frame_num >= frames.length)
401
+ throw "Frame index out of range.";
402
+ return frames[frame_num];
403
+ };
404
+ this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {
405
+ var frame = this.frameInfo(frame_num);
406
+ var num_pixels = frame.width * frame.height;
407
+ var index_stream = new Uint8Array(num_pixels);
408
+ GifReaderLZWOutputIndexStream(
409
+ buf,
410
+ frame.data_offset,
411
+ index_stream,
412
+ num_pixels
413
+ );
414
+ var palette_offset2 = frame.palette_offset;
415
+ var trans = frame.transparent_index;
416
+ if (trans === null)
417
+ trans = 256;
418
+ var framewidth = frame.width;
419
+ var framestride = width - framewidth;
420
+ var xleft = framewidth;
421
+ var opbeg = (frame.y * width + frame.x) * 4;
422
+ var opend = ((frame.y + frame.height) * width + frame.x) * 4;
423
+ var op = opbeg;
424
+ var scanstride = framestride * 4;
425
+ if (frame.interlaced === true) {
426
+ scanstride += width * 4 * 7;
427
+ }
428
+ var interlaceskip = 8;
429
+ for (var i = 0, il = index_stream.length; i < il; ++i) {
430
+ var index = index_stream[i];
431
+ if (xleft === 0) {
432
+ op += scanstride;
433
+ xleft = framewidth;
434
+ if (op >= opend) {
435
+ scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);
436
+ op = opbeg + (framewidth + framestride) * (interlaceskip << 1);
437
+ interlaceskip >>= 1;
438
+ }
439
+ }
440
+ if (index === trans) {
441
+ op += 4;
442
+ } else {
443
+ var r = buf[palette_offset2 + index * 3];
444
+ var g = buf[palette_offset2 + index * 3 + 1];
445
+ var b = buf[palette_offset2 + index * 3 + 2];
446
+ pixels[op++] = b;
447
+ pixels[op++] = g;
448
+ pixels[op++] = r;
449
+ pixels[op++] = 255;
450
+ }
451
+ --xleft;
452
+ }
453
+ };
454
+ this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {
455
+ var frame = this.frameInfo(frame_num);
456
+ var num_pixels = frame.width * frame.height;
457
+ var index_stream = new Uint8Array(num_pixels);
458
+ GifReaderLZWOutputIndexStream(
459
+ buf,
460
+ frame.data_offset,
461
+ index_stream,
462
+ num_pixels
463
+ );
464
+ var palette_offset2 = frame.palette_offset;
465
+ var trans = frame.transparent_index;
466
+ if (trans === null)
467
+ trans = 256;
468
+ var framewidth = frame.width;
469
+ var framestride = width - framewidth;
470
+ var xleft = framewidth;
471
+ var opbeg = (frame.y * width + frame.x) * 4;
472
+ var opend = ((frame.y + frame.height) * width + frame.x) * 4;
473
+ var op = opbeg;
474
+ var scanstride = framestride * 4;
475
+ if (frame.interlaced === true) {
476
+ scanstride += width * 4 * 7;
477
+ }
478
+ var interlaceskip = 8;
479
+ for (var i = 0, il = index_stream.length; i < il; ++i) {
480
+ var index = index_stream[i];
481
+ if (xleft === 0) {
482
+ op += scanstride;
483
+ xleft = framewidth;
484
+ if (op >= opend) {
485
+ scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);
486
+ op = opbeg + (framewidth + framestride) * (interlaceskip << 1);
487
+ interlaceskip >>= 1;
488
+ }
489
+ }
490
+ if (index === trans) {
491
+ op += 4;
492
+ } else {
493
+ var r = buf[palette_offset2 + index * 3];
494
+ var g = buf[palette_offset2 + index * 3 + 1];
495
+ var b = buf[palette_offset2 + index * 3 + 2];
496
+ pixels[op++] = r;
497
+ pixels[op++] = g;
498
+ pixels[op++] = b;
499
+ pixels[op++] = 255;
500
+ }
501
+ --xleft;
502
+ }
503
+ };
504
+ }
505
+ function GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {
506
+ var min_code_size = code_stream[p++];
507
+ var clear_code = 1 << min_code_size;
508
+ var eoi_code = clear_code + 1;
509
+ var next_code = eoi_code + 1;
510
+ var cur_code_size = min_code_size + 1;
511
+ var code_mask = (1 << cur_code_size) - 1;
512
+ var cur_shift = 0;
513
+ var cur = 0;
514
+ var op = 0;
515
+ var subblock_size = code_stream[p++];
516
+ var code_table = new Int32Array(4096);
517
+ var prev_code = null;
518
+ while (true) {
519
+ while (cur_shift < 16) {
520
+ if (subblock_size === 0)
521
+ break;
522
+ cur |= code_stream[p++] << cur_shift;
523
+ cur_shift += 8;
524
+ if (subblock_size === 1) {
525
+ subblock_size = code_stream[p++];
526
+ } else {
527
+ --subblock_size;
528
+ }
529
+ }
530
+ if (cur_shift < cur_code_size)
531
+ break;
532
+ var code = cur & code_mask;
533
+ cur >>= cur_code_size;
534
+ cur_shift -= cur_code_size;
535
+ if (code === clear_code) {
536
+ next_code = eoi_code + 1;
537
+ cur_code_size = min_code_size + 1;
538
+ code_mask = (1 << cur_code_size) - 1;
539
+ prev_code = null;
540
+ continue;
541
+ } else if (code === eoi_code) {
542
+ break;
543
+ }
544
+ var chase_code = code < next_code ? code : prev_code;
545
+ var chase_length = 0;
546
+ var chase = chase_code;
547
+ while (chase > clear_code) {
548
+ chase = code_table[chase] >> 8;
549
+ ++chase_length;
550
+ }
551
+ var k = chase;
552
+ var op_end = op + chase_length + (chase_code !== code ? 1 : 0);
553
+ if (op_end > output_length) {
554
+ console.log("Warning, gif stream longer than expected.");
555
+ return;
556
+ }
557
+ output[op++] = k;
558
+ op += chase_length;
559
+ var b = op;
560
+ if (chase_code !== code)
561
+ output[op++] = k;
562
+ chase = chase_code;
563
+ while (chase_length--) {
564
+ chase = code_table[chase];
565
+ output[--b] = chase & 255;
566
+ chase >>= 8;
567
+ }
568
+ if (prev_code !== null && next_code < 4096) {
569
+ code_table[next_code++] = prev_code << 8 | k;
570
+ if (next_code >= code_mask + 1 && cur_code_size < 12) {
571
+ ++cur_code_size;
572
+ code_mask = code_mask << 1 | 1;
573
+ }
574
+ }
575
+ prev_code = code;
576
+ }
577
+ if (op !== output_length) {
578
+ console.log("Warning, gif stream shorter than expected.");
579
+ }
580
+ return output;
581
+ }
582
+ try {
583
+ exports.GifWriter = GifWriter;
584
+ exports.GifReader = GifReader;
585
+ } catch (e2) {
586
+ }
587
+ }, {}], 2: [function(require2, module, exports) {
588
+ var Animator, GifReader, createBufferCanvas, decodeFrames, getCanvasElement, gifler2, wrapXhrCallback, bind = function(fn, me) {
589
+ return function() {
590
+ return fn.apply(me, arguments);
591
+ };
592
+ };
593
+ GifReader = require2("omggif").GifReader;
594
+ gifler2 = function(url) {
595
+ var xhr;
596
+ xhr = new XMLHttpRequest();
597
+ xhr.open("GET", url, true);
598
+ xhr.responseType = "arraybuffer";
599
+ return {
600
+ xhr,
601
+ get: function(callback) {
602
+ xhr.onload = wrapXhrCallback(callback);
603
+ xhr.send();
604
+ return this;
605
+ },
606
+ animate: function(selector) {
607
+ var canvas;
608
+ canvas = getCanvasElement(selector);
609
+ xhr.onload = wrapXhrCallback(function(animator) {
610
+ return animator.animateInCanvas(canvas);
611
+ });
612
+ xhr.send();
613
+ return this;
614
+ },
615
+ frames: function(selector, onDrawFrame, setCanvasDimesions) {
616
+ var canvas;
617
+ if (setCanvasDimesions == null) {
618
+ setCanvasDimesions = false;
619
+ }
620
+ canvas = getCanvasElement(selector);
621
+ xhr.onload = wrapXhrCallback(function(animator) {
622
+ animator.onDrawFrame = onDrawFrame;
623
+ return animator.animateInCanvas(canvas, setCanvasDimesions);
624
+ });
625
+ xhr.send();
626
+ return this;
627
+ }
628
+ };
629
+ };
630
+ wrapXhrCallback = function(callback) {
631
+ return function(e2) {
632
+ return callback(new Animator(new GifReader(new Uint8Array(this.response))));
633
+ };
634
+ };
635
+ getCanvasElement = function(selector) {
636
+ var element, ref;
637
+ if (typeof selector === "string" && ((ref = element = document.querySelector(selector)) != null ? ref.tagName : void 0) === "CANVAS") {
638
+ return element;
639
+ } else if ((selector != null ? selector.tagName : void 0) === "CANVAS") {
640
+ return selector;
641
+ } else {
642
+ throw new Error("Unexpected selector type. Valid types are query-selector-string/canvas-element");
643
+ }
644
+ };
645
+ createBufferCanvas = function(frame, width, height) {
646
+ var bufferCanvas, bufferContext, imageData;
647
+ bufferCanvas = document.createElement("canvas");
648
+ bufferContext = bufferCanvas.getContext("2d");
649
+ bufferCanvas.width = frame.width;
650
+ bufferCanvas.height = frame.height;
651
+ imageData = bufferContext.createImageData(width, height);
652
+ imageData.data.set(frame.pixels);
653
+ bufferContext.putImageData(imageData, -frame.x, -frame.y);
654
+ return bufferCanvas;
655
+ };
656
+ decodeFrames = function(reader, frameIndex) {
657
+ var results;
658
+ return (function() {
659
+ results = [];
660
+ for (var j = 0, ref = reader.numFrames(); 0 <= ref ? j < ref : j > ref; 0 <= ref ? j++ : j--) {
661
+ results.push(j);
662
+ }
663
+ return results;
664
+ }).apply(this).map(function(_this) {
665
+ return function(frameIndex2) {
666
+ var frameInfo;
667
+ frameInfo = reader.frameInfo(frameIndex2);
668
+ frameInfo.pixels = new Uint8ClampedArray(reader.width * reader.height * 4);
669
+ reader.decodeAndBlitFrameRGBA(frameIndex2, frameInfo.pixels);
670
+ return frameInfo;
671
+ };
672
+ }());
673
+ };
674
+ Animator = function() {
675
+ function Animator2(_reader) {
676
+ var ref;
677
+ this._reader = _reader;
678
+ this._advanceFrame = bind(this._advanceFrame, this);
679
+ this._nextFrameRender = bind(this._nextFrameRender, this);
680
+ this._nextFrame = bind(this._nextFrame, this);
681
+ ref = this._reader, this.width = ref.width, this.height = ref.height;
682
+ this._frames = decodeFrames(this._reader);
683
+ this._loopCount = this._reader.loopCount();
684
+ this._loops = 0;
685
+ this._frameIndex = 0;
686
+ this._running = false;
687
+ }
688
+ Animator2.prototype.start = function() {
689
+ this._lastTime = (/* @__PURE__ */ new Date()).valueOf();
690
+ this._delayCompensation = 0;
691
+ this._running = true;
692
+ setTimeout(this._nextFrame, 0);
693
+ return this;
694
+ };
695
+ Animator2.prototype.stop = function() {
696
+ this._running = false;
697
+ return this;
698
+ };
699
+ Animator2.prototype.reset = function() {
700
+ this._frameIndex = 0;
701
+ this._loops = 0;
702
+ return this;
703
+ };
704
+ Animator2.prototype._nextFrame = function() {
705
+ requestAnimationFrame(this._nextFrameRender);
706
+ };
707
+ Animator2.prototype._nextFrameRender = function() {
708
+ var frame, ref;
709
+ if (!this._running) {
710
+ return;
711
+ }
712
+ frame = this._frames[this._frameIndex];
713
+ if ((ref = this.onFrame) != null) {
714
+ ref.apply(this, [frame, this._frameIndex]);
715
+ }
716
+ return this._enqueueNextFrame();
717
+ };
718
+ Animator2.prototype._advanceFrame = function() {
719
+ this._frameIndex += 1;
720
+ if (this._frameIndex >= this._frames.length) {
721
+ if (this._loopCount !== 0 && this._loopCount === this._loops) {
722
+ this.stop();
723
+ } else {
724
+ this._frameIndex = 0;
725
+ this._loops += 1;
726
+ }
727
+ }
728
+ };
729
+ Animator2.prototype._enqueueNextFrame = function() {
730
+ var actualDelay, delta, frame, frameDelay;
731
+ this._advanceFrame();
732
+ while (this._running) {
733
+ frame = this._frames[this._frameIndex];
734
+ delta = (/* @__PURE__ */ new Date()).valueOf() - this._lastTime;
735
+ this._lastTime += delta;
736
+ this._delayCompensation += delta;
737
+ frameDelay = frame.delay * 10;
738
+ actualDelay = frameDelay - this._delayCompensation;
739
+ this._delayCompensation -= frameDelay;
740
+ if (actualDelay < 0) {
741
+ this._advanceFrame();
742
+ continue;
743
+ } else {
744
+ setTimeout(this._nextFrame, actualDelay);
745
+ break;
746
+ }
747
+ }
748
+ };
749
+ Animator2.prototype.animateInCanvas = function(canvas, setDimension) {
750
+ var ctx;
751
+ if (setDimension == null) {
752
+ setDimension = true;
753
+ }
754
+ if (setDimension) {
755
+ canvas.width = this.width;
756
+ canvas.height = this.height;
757
+ }
758
+ ctx = canvas.getContext("2d");
759
+ if (this.onDrawFrame == null) {
760
+ this.onDrawFrame = function(ctx2, frame, i) {
761
+ return ctx2.drawImage(frame.buffer, frame.x, frame.y);
762
+ };
763
+ }
764
+ if (this.onFrame == null) {
765
+ this.onFrame = function(_this) {
766
+ return function(frame, i) {
767
+ var ref, saved;
768
+ if (frame.buffer == null) {
769
+ frame.buffer = createBufferCanvas(frame, _this.width, _this.height);
770
+ }
771
+ if (typeof _this.disposeFrame === "function") {
772
+ _this.disposeFrame();
773
+ }
774
+ switch (frame.disposal) {
775
+ case 2:
776
+ _this.disposeFrame = function() {
777
+ return ctx.clearRect(0, 0, canvas.width, canvas.height);
778
+ };
779
+ break;
780
+ case 3:
781
+ saved = ctx.getImageData(0, 0, canvas.width, canvas.height);
782
+ _this.disposeFrame = function() {
783
+ return ctx.putImageData(saved, 0, 0);
784
+ };
785
+ break;
786
+ default:
787
+ _this.disposeFrame = null;
788
+ }
789
+ return (ref = _this.onDrawFrame) != null ? ref.apply(_this, [ctx, frame, i]) : void 0;
790
+ };
791
+ }(this);
792
+ }
793
+ this.start();
794
+ return this;
795
+ };
796
+ return Animator2;
797
+ }();
798
+ gifler2.Animator = Animator;
799
+ gifler2.decodeFrames = decodeFrames;
800
+ gifler2.createBufferCanvas = createBufferCanvas;
801
+ if (typeof window !== "undefined" && window !== null) {
802
+ window.gifler = gifler2;
803
+ }
804
+ if (typeof module !== "undefined" && module !== null) {
805
+ module.exports = gifler2;
806
+ }
807
+ }, { "omggif": 1 }] }, {}, [2]);
808
+ const gifler = /* @__PURE__ */ _mergeNamespaces({
809
+ __proto__: null,
810
+ default: gifler$1
811
+ }, [gifler$1]);
812
+ export {
813
+ gifler as g
814
+ };