@sl-utils/map 1.0.7 → 1.0.8

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.
Files changed (44) hide show
  1. package/demo/App.vue +31 -0
  2. package/demo/app.d.ts +3 -0
  3. package/demo/main.js +7 -0
  4. package/demo/main.js.map +1 -0
  5. package/demo/main.ts +5 -0
  6. package/demo/style.css +2 -0
  7. package/dist/sl-utils-map.es.js +12926 -0
  8. package/dist/sl-utils-map.umd.js +6 -0
  9. package/index.cjs +2 -2
  10. package/index.html +13 -0
  11. package/package.json +7 -2
  12. package/src/sl-utils-map.d.ts +4 -6
  13. package/tsconfig.json +10 -4
  14. package/vite.config.ts +17 -0
  15. package/dist/canvas/index.js +0 -21
  16. package/dist/canvas/index.js.map +0 -1
  17. package/dist/canvas/slu-canvas-gif.js +0 -471
  18. package/dist/canvas/slu-canvas-gif.js.map +0 -1
  19. package/dist/canvas/slu-canvas-img.js +0 -49
  20. package/dist/canvas/slu-canvas-img.js.map +0 -1
  21. package/dist/canvas/slu-canvas-text.js +0 -151
  22. package/dist/canvas/slu-canvas-text.js.map +0 -1
  23. package/dist/canvas/slu-canvas.js +0 -163
  24. package/dist/canvas/slu-canvas.js.map +0 -1
  25. package/dist/leaflet/index.js +0 -19
  26. package/dist/leaflet/index.js.map +0 -1
  27. package/dist/leaflet/leaflet-tilelayer-wmts.js +0 -83
  28. package/dist/leaflet/leaflet-tilelayer-wmts.js.map +0 -1
  29. package/dist/leaflet/slu-leaflet-net-map.js +0 -189
  30. package/dist/leaflet/slu-leaflet-net-map.js.map +0 -1
  31. package/dist/map/canvas-draw.js +0 -214
  32. package/dist/map/canvas-draw.js.map +0 -1
  33. package/dist/map/canvas-event.js +0 -210
  34. package/dist/map/canvas-event.js.map +0 -1
  35. package/dist/map/canvas-layer.js +0 -159
  36. package/dist/map/canvas-layer.js.map +0 -1
  37. package/dist/map/canvas-map.js +0 -97
  38. package/dist/map/canvas-map.js.map +0 -1
  39. package/dist/sl-utils-map.js +0 -27
  40. package/dist/sl-utils-map.js.map +0 -1
  41. package/dist/utils/slu-map.js +0 -341
  42. package/dist/utils/slu-map.js.map +0 -1
  43. package/dist/utils/txt.js +0 -181
  44. package/dist/utils/txt.js.map +0 -1
package/index.cjs CHANGED
@@ -2,8 +2,8 @@
2
2
  "use strict";
3
3
 
4
4
  const path = require("path");
5
- const minified = path.join(__dirname, "dist/sl-utils-map.js");
6
- const unminified = path.join(__dirname, "Build/CesiumUnminified/index.cjs");
5
+ const minified = path.join(__dirname, "dist/sl-utils-map.es.js");
6
+ const unminified = path.join(__dirname, "dist/sl-utils-map.umd.js");
7
7
 
8
8
  // If in 'production' mode, use the combined/minified/optimized version of Cesium
9
9
  module.exports =
package/index.html ADDED
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>vue-demo</title>
8
+ </head>
9
+ <body>
10
+ <div id="app"></div>
11
+ <script type="module" src="/demo/main.ts"></script>
12
+ </body>
13
+ </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sl-utils/map",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "",
5
5
  "main": "index.cjs",
6
6
  "module": "./src/sl-utils-map.ts",
@@ -21,8 +21,13 @@
21
21
  "devDependencies": {
22
22
  "@types/leaflet": "^1.9.17",
23
23
  "@types/rbush": "^4.0.0",
24
+ "@vitejs/plugin-vue": "^6.0.1",
25
+ "path": "^0.12.7",
24
26
  "ts-node": "^10.9.2",
25
- "typescript": "~5.7.2"
27
+ "typescript": "~5.7.2",
28
+ "vite": "^7.1.7",
29
+ "vue": "^3.5.21",
30
+ "vue-tsc": "^3.0.7"
26
31
  },
27
32
  "exports": {
28
33
  "./package.json": "./package.json",
@@ -1,7 +1,8 @@
1
1
  declare module '@sl-utils/map' {
2
- // 根据你的包实际导出的内容声明类型
3
- export function mapFunction<T>(array: T[], callback: (item: T) => any): any[];
4
- export const someValue: string;
2
+ /**leaflet 需要开发者在样式表中挂载leaflet样式 */
3
+ export class SLUMap {
4
+ constructor(ele: string);
5
+ }
5
6
  // 添加其他导出...
6
7
  export class MapCanvasDraw {
7
8
  constructor();
@@ -12,7 +13,4 @@ declare module '@sl-utils/map' {
12
13
  export class MapCanvasLayer {
13
14
  constructor();
14
15
  }
15
- export class SLUMap {
16
- constructor(ele: string);
17
- }
18
16
  }
package/tsconfig.json CHANGED
@@ -9,17 +9,23 @@
9
9
  "module": "commonjs",
10
10
  "outDir": "./dist",
11
11
  "rootDir": "./src",
12
+ "baseUrl": ".",
12
13
  "lib": [
13
14
  "es2020",
14
15
  "dom"
15
16
  ],
17
+ "paths": {
18
+ "@/*": ["src/*"],
19
+ "@sl-utils/*": ["src/utils/*"] // 添加这行
20
+ }
16
21
  },
17
22
  "include": [
18
23
  "src/**/*",
19
24
  "types/**/*",
25
+ "src/**/*.ts",
26
+ "src/**/*.d.ts",
27
+ "src/**/*.tsx",
28
+ "src/**/*.vue"
20
29
  ],
21
- "exclude": [
22
- "node_modules",
23
- "dist"
24
- ]
30
+ "exclude": []
25
31
  }
package/vite.config.ts ADDED
@@ -0,0 +1,17 @@
1
+ import { defineConfig } from 'vite'
2
+ import vue from '@vitejs/plugin-vue'
3
+ // https://vite.dev/config/
4
+ export default defineConfig({
5
+ plugins: [vue()],
6
+ build: {
7
+ outDir: 'dist',
8
+ lib: {
9
+ entry: 'src/sl-utils-map.ts',
10
+ name: 'test',
11
+ fileName: (format) => `sl-utils-map.${format}.js`,
12
+ },
13
+ },
14
+ server: {
15
+ port: 5172
16
+ }
17
+ })
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./slu-canvas"), exports);
18
- __exportStar(require("./slu-canvas-gif"), exports);
19
- __exportStar(require("./slu-canvas-img"), exports);
20
- __exportStar(require("./slu-canvas-text"), exports);
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/canvas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,mDAAgC;AAChC,mDAAgC;AAChC,oDAAiC"}
@@ -1,471 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SLUCanvasGif = void 0;
4
- class SLUCanvasGif {
5
- constructor() {
6
- this.canvasTool = document.createElement("canvas");
7
- this.LAST_DISPOSA_METHOD = null;
8
- this.CURRENT_FRAME_INDEX = -1;
9
- this.TRANSPARENCY = null;
10
- this.gifCache = {};
11
- this.aniIds = {};
12
- this.opts = [];
13
- }
14
- async loadGIF(opt, ctx) {
15
- let { url } = opt;
16
- let cache = this.gifCache[url];
17
- this.CTX = ctx;
18
- if (!cache) {
19
- this.gifCache[url] = { status: 0, data: null, frameList: [] };
20
- cache = this.gifCache[url];
21
- try {
22
- cache.status = 1;
23
- const data = await this.fetchGIF(url);
24
- const stream = new Stream(data);
25
- cache.status = 2;
26
- this.parseHeader(url, stream);
27
- this.parseBlock(opt, stream);
28
- }
29
- catch (error) {
30
- console.error('Error loading GIF:', error);
31
- }
32
- }
33
- else {
34
- if (cache.status === 1) {
35
- this.opts.push(opt);
36
- clearTimeout(this.timeId);
37
- this.timeId = setTimeout(() => {
38
- console.log(this.opts);
39
- let opts = this.opts;
40
- this.opts = [];
41
- opts.forEach(e => this.loadGIF(e, this.CTX));
42
- }, 100);
43
- }
44
- else if (cache.status === 2) {
45
- this.stopGif(opt);
46
- this.playGif(opt);
47
- }
48
- }
49
- }
50
- fetchGIF(url) {
51
- return new Promise((resolve, reject) => {
52
- const xhr = new XMLHttpRequest();
53
- xhr.open('GET', url, true);
54
- if ('overrideMimeType' in xhr) {
55
- xhr.overrideMimeType('text/plain; charset=x-user-defined');
56
- }
57
- xhr.onload = () => {
58
- if (xhr.status === 200) {
59
- const data = xhr.response;
60
- if (data.toString().indexOf('ArrayBuffer') > 0) {
61
- resolve(new Uint8Array(data));
62
- }
63
- else {
64
- resolve(data);
65
- }
66
- }
67
- else {
68
- reject(new Error('XHR Error - Response'));
69
- }
70
- };
71
- xhr.onerror = () => {
72
- reject(new Error('XHR Error'));
73
- };
74
- xhr.send();
75
- });
76
- }
77
- parseHeader(url, stream) {
78
- let STREAM = stream, GIF_INFO = this.gifInfo = Object.create(null), canvas = this.canvasTool;
79
- GIF_INFO.sig = STREAM.read(3);
80
- GIF_INFO.ver = STREAM.read(3);
81
- if (GIF_INFO.sig !== 'GIF')
82
- throw new Error('Not a GIF file.');
83
- GIF_INFO.width = STREAM.readUnsigned();
84
- GIF_INFO.height = STREAM.readUnsigned();
85
- let bits = this.byteToBitArr(STREAM.readByte());
86
- GIF_INFO.gctFlag = !!bits.shift();
87
- GIF_INFO.colorRes = this.bitsToNum(bits.splice(0, 3));
88
- GIF_INFO.sorted = !!bits.shift();
89
- GIF_INFO.gctSize = this.bitsToNum(bits.splice(0, 3));
90
- GIF_INFO.bgColor = STREAM.readByte();
91
- GIF_INFO.pixelAspectRatio = STREAM.readByte();
92
- if (GIF_INFO.gctFlag) {
93
- GIF_INFO.gct = this.parseCT(1 << (GIF_INFO.gctSize + 1), stream);
94
- }
95
- canvas.width = GIF_INFO.width;
96
- canvas.height = GIF_INFO.height;
97
- canvas.style.width = GIF_INFO.width + 'px';
98
- canvas.style.height = GIF_INFO.height + 'px';
99
- canvas.getContext('2d').setTransform(1, 0, 0, 1, 0, 0);
100
- }
101
- ;
102
- parseBlock(opt, stream) {
103
- let block = Object.create(null), STREAM = stream;
104
- block.sentinel = STREAM.readByte();
105
- switch (String.fromCharCode(block.sentinel)) {
106
- case '!':
107
- block.type = 'ext';
108
- this.parseExt(block, stream, opt.url);
109
- break;
110
- case ',':
111
- block.type = 'img';
112
- this.parseImg(block, stream, opt.url);
113
- break;
114
- case ';':
115
- block.type = 'eof';
116
- this.playGif(opt);
117
- break;
118
- default:
119
- throw new Error('Unknown block: 0x' + block.sentinel.toString(16));
120
- }
121
- if (block.type !== 'eof') {
122
- this.parseBlock(opt, stream);
123
- }
124
- }
125
- ;
126
- playGif(opt, index = 0) {
127
- const that = this, { delay = 0 } = opt;
128
- const { frameList: list } = that.gifCache[opt.url], len = list.length;
129
- let lastTimestamp;
130
- const animate = (timestamp) => {
131
- if (lastTimestamp === undefined)
132
- lastTimestamp = timestamp;
133
- const elapsed = timestamp - (lastTimestamp || timestamp);
134
- if (elapsed >= delay) {
135
- lastTimestamp = timestamp;
136
- index++;
137
- if (index >= len) {
138
- index = 0;
139
- }
140
- }
141
- ;
142
- that.drawFrame(opt, index);
143
- that.aniIds[opt.id] = requestAnimationFrame(animate);
144
- };
145
- that.aniIds[opt.id] = requestAnimationFrame(animate);
146
- }
147
- drawFrame(opt, index) {
148
- const that = this, ctx = that.CTX;
149
- let { point, points = [], size = [100, 100], url, sizeo, posX = 0, posY = 0, left = 0, top = 0, rotate = 0, alpha = 1, delay } = opt;
150
- let { frameList: list } = that.gifCache[opt.url];
151
- that.canvasTool.getContext("2d").putImageData(list[index].data, 0, 0);
152
- let imgEle = that.canvasTool;
153
- let sizeX = size[0], sizeY = size[1], sizeOX = sizeo && sizeo[0], sizeOY = sizeo && sizeo[1];
154
- if (point)
155
- points = [...points, point];
156
- for (let i = 0; i < points.length; i++) {
157
- const e = points[i], x = e[0], y = e[1];
158
- rotate = (rotate * Math.PI) / 180;
159
- ctx.globalAlpha = alpha;
160
- ctx.setTransform(1, 0, 0, 1, x, y);
161
- ctx.rotate(rotate);
162
- if (sizeOX && sizeOY) {
163
- ctx.drawImage(imgEle, posX, posY, sizeOX, sizeOY, -sizeX / 2 + left, -sizeY / 2 + top, sizeX, sizeY);
164
- }
165
- else {
166
- ctx.drawImage(imgEle, -sizeX / 2 + left, -sizeY / 2 + top, sizeX, sizeY);
167
- }
168
- ctx.rotate(-rotate);
169
- ctx.setTransform(1, 0, 0, 1, 0, 0);
170
- }
171
- }
172
- stopGif(opt) {
173
- const that = this, aniId = that.aniIds[opt.id];
174
- if (!aniId)
175
- return;
176
- cancelAnimationFrame(aniId);
177
- that.aniIds[opt.id] = null;
178
- }
179
- parseExt(block, stream, url) {
180
- let STREAM = stream;
181
- let parseGCExt = (block) => {
182
- STREAM.readByte();
183
- var bits = this.byteToBitArr(STREAM.readByte());
184
- block.reserved = bits.splice(0, 3);
185
- block.disposalMethod = this.bitsToNum(bits.splice(0, 3));
186
- this.LAST_DISPOSA_METHOD = block.disposalMethod;
187
- block.userInput = bits.shift();
188
- block.transparencyGiven = bits.shift();
189
- block.delayTime = STREAM.readUnsigned();
190
- block.transparencyIndex = STREAM.readByte();
191
- block.terminator = STREAM.readByte();
192
- this.pushFrame(block.delayTime, url);
193
- this.TRANSPARENCY = block.transparencyGiven ? block.transparencyIndex : null;
194
- };
195
- let parseComExt = (block) => {
196
- block.comment = this.readSubBlocks(stream);
197
- };
198
- let parsePTExt = (block) => {
199
- STREAM.readByte();
200
- block.ptHeader = STREAM.readBytes(12);
201
- block.ptData = this.readSubBlocks(stream);
202
- };
203
- let parseAppExt = (block) => {
204
- var parseNetscapeExt = function (block) {
205
- STREAM.readByte();
206
- block.unknown = STREAM.readByte();
207
- block.iterations = STREAM.readUnsigned();
208
- block.terminator = STREAM.readByte();
209
- };
210
- var parseUnknownAppExt = (block) => {
211
- block.appData = this.readSubBlocks(stream);
212
- };
213
- STREAM.readByte();
214
- block.identifier = STREAM.read(8);
215
- block.authCode = STREAM.read(3);
216
- switch (block.identifier) {
217
- case 'NETSCAPE':
218
- parseNetscapeExt(block);
219
- break;
220
- default:
221
- parseUnknownAppExt(block);
222
- break;
223
- }
224
- };
225
- let parseUnknownExt = (block) => {
226
- block.data = this.readSubBlocks(stream);
227
- };
228
- block.label = STREAM.readByte();
229
- switch (block.label) {
230
- case 0xF9:
231
- block.extType = 'gce';
232
- parseGCExt(block);
233
- break;
234
- case 0xFE:
235
- block.extType = 'com';
236
- parseComExt(block);
237
- break;
238
- case 0x01:
239
- block.extType = 'pte';
240
- parsePTExt(block);
241
- break;
242
- case 0xFF:
243
- block.extType = 'app';
244
- parseAppExt(block);
245
- break;
246
- default:
247
- block.extType = 'unknown';
248
- parseUnknownExt(block);
249
- break;
250
- }
251
- }
252
- ;
253
- pushFrame(delay, url) {
254
- let FRAME_LIST = this.gifCache[url].frameList;
255
- if (!this.ctx) {
256
- return;
257
- }
258
- ;
259
- FRAME_LIST.push({
260
- delay,
261
- data: this.ctx.getImageData(0, 0, this.gifInfo.width, this.gifInfo.height)
262
- });
263
- }
264
- ;
265
- parseImg(img, stream, url) {
266
- let STREAM = stream;
267
- function deinterlace(pixels, width) {
268
- let newPixels = new Array(pixels.length);
269
- const rows = pixels.length / width;
270
- function cpRow(toRow, fromRow) {
271
- const fromPixels = pixels.slice(fromRow * width, (fromRow + 1) * width);
272
- newPixels.splice.apply(newPixels, [toRow * width, width].concat(fromPixels));
273
- }
274
- ;
275
- const offsets = [0, 4, 2, 1], steps = [8, 8, 4, 2];
276
- let fromRow = 0;
277
- for (var pass = 0; pass < 4; pass++) {
278
- for (var toRow = offsets[pass]; toRow < rows; toRow += steps[pass]) {
279
- cpRow(toRow, fromRow);
280
- fromRow++;
281
- }
282
- }
283
- return newPixels;
284
- }
285
- ;
286
- img.leftPos = STREAM.readUnsigned();
287
- img.topPos = STREAM.readUnsigned();
288
- img.width = STREAM.readUnsigned();
289
- img.height = STREAM.readUnsigned();
290
- let bits = this.byteToBitArr(STREAM.readByte());
291
- img.lctFlag = bits.shift();
292
- img.interlaced = bits.shift();
293
- img.sorted = bits.shift();
294
- img.reserved = bits.splice(0, 2);
295
- img.lctSize = this.bitsToNum(bits.splice(0, 3));
296
- if (img.lctFlag) {
297
- img.lct = this.parseCT(1 << (img.lctSize + 1), stream);
298
- }
299
- img.lzwMinCodeSize = STREAM.readByte();
300
- const lzwData = this.readSubBlocks(stream);
301
- img.pixels = this.lzwDecode(img.lzwMinCodeSize, lzwData);
302
- if (img.interlaced) {
303
- img.pixels = deinterlace(img.pixels, img.width);
304
- }
305
- this.doImg(img, url);
306
- }
307
- ;
308
- readSubBlocks(stream) {
309
- let size, STREAM = stream, data = '';
310
- do {
311
- size = STREAM.readByte();
312
- data += STREAM.read(size);
313
- } while (size !== 0);
314
- return data;
315
- }
316
- ;
317
- lzwDecode(minCodeSize, data) {
318
- let pos = 0;
319
- function readCode(size) {
320
- let code = 0;
321
- for (let i = 0; i < size; i++) {
322
- if (data.charCodeAt(pos >> 3) & (1 << (pos & 7))) {
323
- code |= (1 << i);
324
- }
325
- pos++;
326
- }
327
- return code;
328
- }
329
- ;
330
- let output = [], clearCode = 1 << minCodeSize, eoiCode = clearCode + 1, codeSize = minCodeSize + 1, dict = [];
331
- function clear() {
332
- dict = [];
333
- codeSize = minCodeSize + 1;
334
- for (let i = 0; i < clearCode; i++) {
335
- dict[i] = [i];
336
- }
337
- dict[clearCode] = [];
338
- dict[eoiCode] = null;
339
- }
340
- ;
341
- let code = null, last = null;
342
- while (true) {
343
- last = code;
344
- code = readCode(codeSize);
345
- if (code === clearCode) {
346
- clear();
347
- continue;
348
- }
349
- if (code === eoiCode) {
350
- break;
351
- }
352
- ;
353
- if (code < dict.length) {
354
- if (last !== clearCode) {
355
- dict.push(dict[last].concat(dict[code][0]));
356
- }
357
- }
358
- else {
359
- if (code !== dict.length) {
360
- throw new Error('Invalid LZW code.');
361
- }
362
- dict.push(dict[last].concat(dict[last][0]));
363
- }
364
- output.push.apply(output, dict[code]);
365
- if (dict.length === (1 << codeSize) && codeSize < 12) {
366
- codeSize++;
367
- }
368
- }
369
- return output;
370
- }
371
- ;
372
- doImg(img, url) {
373
- let TEMP_CANVAS_CTX = this.ctx, TEMP_CANVAS = this.canvasTool, GIF_INFO = this.gifInfo;
374
- let FRAME_LIST = this.gifCache[url].frameList;
375
- if (!this.ctx) {
376
- TEMP_CANVAS_CTX = this.ctx = TEMP_CANVAS.getContext('2d');
377
- }
378
- const currIdx = FRAME_LIST.length, ct = img.lctFlag ? img.lct : GIF_INFO.gct;
379
- if (currIdx > 0) {
380
- if (this.LAST_DISPOSA_METHOD === 3) {
381
- if (this.CURRENT_FRAME_INDEX !== null && this.CURRENT_FRAME_INDEX > -1) {
382
- TEMP_CANVAS_CTX.putImageData(FRAME_LIST[this.CURRENT_FRAME_INDEX].data, 0, 0);
383
- }
384
- else {
385
- TEMP_CANVAS_CTX.clearRect(0, 0, TEMP_CANVAS.width, TEMP_CANVAS.height);
386
- }
387
- }
388
- else {
389
- this.CURRENT_FRAME_INDEX = currIdx - 1;
390
- }
391
- if (this.LAST_DISPOSA_METHOD === 2) {
392
- TEMP_CANVAS_CTX.clearRect(0, 0, TEMP_CANVAS.width, TEMP_CANVAS.height);
393
- }
394
- }
395
- let imgData = TEMP_CANVAS_CTX.getImageData(img.leftPos, img.topPos, img.width, img.height);
396
- img.pixels.forEach((pixel, i) => {
397
- if (pixel !== this.TRANSPARENCY) {
398
- imgData.data[i * 4 + 0] = ct[pixel][0];
399
- imgData.data[i * 4 + 1] = ct[pixel][1];
400
- imgData.data[i * 4 + 2] = ct[pixel][2];
401
- imgData.data[i * 4 + 3] = 255;
402
- }
403
- });
404
- TEMP_CANVAS_CTX.putImageData(imgData, img.leftPos, img.topPos);
405
- }
406
- ;
407
- byteToBitArr(bite) {
408
- let byteArr = [];
409
- for (let i = 7; i >= 0; i--) {
410
- byteArr.push(!!(bite & (1 << i)));
411
- }
412
- return byteArr;
413
- }
414
- ;
415
- bitsToNum(ba) {
416
- return ba.reduce(function (s, n) {
417
- return s * 2 + Number(n);
418
- }, 0);
419
- }
420
- ;
421
- parseCT(size, stream) {
422
- let ct = [];
423
- for (let i = 0; i < size; i++) {
424
- ct.push(stream.readBytes(3));
425
- }
426
- return ct;
427
- }
428
- ;
429
- }
430
- exports.SLUCanvasGif = SLUCanvasGif;
431
- class Stream {
432
- constructor(data) {
433
- this.pos = 0;
434
- this.data = data;
435
- this.len = data.length;
436
- this.pos = 0;
437
- }
438
- readByte() {
439
- if (this.pos >= this.data.length) {
440
- throw new Error('Attempted to read past end of stream.');
441
- }
442
- if (this.data instanceof Uint8Array)
443
- return this.data[this.pos++];
444
- else
445
- return this.data.charCodeAt(this.pos++) & 0xFF;
446
- }
447
- ;
448
- readBytes(n) {
449
- let bytes = [];
450
- for (let i = 0; i < n; i++) {
451
- bytes.push(this.readByte());
452
- }
453
- return bytes;
454
- }
455
- ;
456
- read(n) {
457
- let chars = '';
458
- for (let i = 0; i < n; i++) {
459
- chars += String.fromCharCode(this.readByte());
460
- }
461
- return chars;
462
- }
463
- ;
464
- readUnsigned() {
465
- let unsigned = this.readBytes(2);
466
- return (unsigned[1] << 8) + unsigned[0];
467
- }
468
- ;
469
- }
470
- ;
471
- //# sourceMappingURL=slu-canvas-gif.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slu-canvas-gif.js","sourceRoot":"","sources":["../../src/canvas/slu-canvas-gif.ts"],"names":[],"mappings":"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"}