@illgrenoble/webx-client 1.10.5 → 1.11.0

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,306 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WebXWindowCanvas = void 0;
13
+ const three_1 = require("three");
14
+ const WebXMaterial_1 = require("../display/WebXMaterial");
15
+ /**
16
+ * The `WebXWindowCanvas` class holds the graphical elements necessary for rendering
17
+ * a specific window in the desktop environment. HTML Canvases are used for rendering image data. Window image data
18
+ * is received in the form of color, alpha and stencil buffers. These are blended to produce the final window image.
19
+ */
20
+ class WebXWindowCanvas {
21
+ /**
22
+ * Gets the unique ID of the associated mesh.
23
+ */
24
+ get id() {
25
+ return this._mesh.id;
26
+ }
27
+ /**
28
+ * Returns the window canvas
29
+ */
30
+ get canvas() {
31
+ return this._canvas;
32
+ }
33
+ /**
34
+ * Returns the left-hand x coordinate of the window
35
+ */
36
+ get x() {
37
+ return this._x;
38
+ }
39
+ /**
40
+ * Returns the top y coordinate of the window
41
+ */
42
+ get y() {
43
+ return this._y;
44
+ }
45
+ /**
46
+ * Returns the zIndex of the window
47
+ */
48
+ get zIndex() {
49
+ return this._zIndex;
50
+ }
51
+ /**
52
+ * Returns the width of the window
53
+ */
54
+ get width() {
55
+ return this._width;
56
+ }
57
+ /**
58
+ * Returns the height of the window
59
+ */
60
+ get height() {
61
+ return this._height;
62
+ }
63
+ /**
64
+ * Initializes a new `WebXWindowCanvas` for the given window Mesh and Material. The Mesh and Material contains all graphical information
65
+ * necessary to render a window (namely window position, size and z-order), the Mesh Material contains the graphical information (color, alpha and stencil data).
66
+ * @param _mesh - The `Mesh` object representing the window.
67
+ * @param _alphaStencilBlender - The alpha stencil blender instance.
68
+ */
69
+ constructor(_mesh, _alphaStencilBlender) {
70
+ this._mesh = _mesh;
71
+ this._alphaStencilBlender = _alphaStencilBlender;
72
+ this._x = 0;
73
+ this._y = 0;
74
+ this._zIndex = 0;
75
+ this._width = 0;
76
+ this._height = 0;
77
+ this._regionUpdates = [];
78
+ this._canvas = this.createElementNS('canvas');
79
+ this._canvas.id = `webx-window-${this.id}`;
80
+ this._canvas.style.position = 'absolute';
81
+ this._canvas.style.pointerEvents = 'none';
82
+ this._canvas.style.top = '0';
83
+ this._canvas.style.left = '0';
84
+ this._canvas.style.overflow = 'hidden';
85
+ this._context = this._canvas.getContext('2d');
86
+ this.updateGeometry();
87
+ this.updateCanvas();
88
+ }
89
+ /**
90
+ * Updates the geometry of the window canvas based on the mesh's properties if any changes are needed.
91
+ */
92
+ updateGeometry() {
93
+ const width = this._mesh.scale.x;
94
+ const height = this._mesh.scale.y;
95
+ const x = this._mesh.position.x - 0.5 * width;
96
+ const y = this._mesh.position.y - 0.5 * height;
97
+ const zIndex = this._mesh.position.z;
98
+ if (x !== this._x || y !== this._y) {
99
+ this._canvas.style.top = `${y}px`;
100
+ this._canvas.style.left = `${x}px`;
101
+ this._x = x;
102
+ this._y = y;
103
+ }
104
+ if (width !== this._width || height !== this._height) {
105
+ this._canvas.style.width = `${width}px`;
106
+ this._canvas.style.height = `${height}px`;
107
+ this._width = width;
108
+ this._height = height;
109
+ }
110
+ if (zIndex !== this._zIndex) {
111
+ this._canvas.style.zIndex = `${this._mesh.position.z}`;
112
+ this._zIndex = zIndex;
113
+ }
114
+ }
115
+ /**
116
+ * Updates the canvas content using the material textures (color, alpha and stencil buffers)
117
+ * if any changes have occurred.
118
+ */
119
+ updateCanvas() {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ var _a;
122
+ if (this._mesh.material instanceof WebXMaterial_1.WebXMaterial || this._mesh.material instanceof three_1.MeshBasicMaterial) {
123
+ const material = this._mesh.material;
124
+ // Handle the stencil map
125
+ this.updateStencilMap(material);
126
+ if (material.map) {
127
+ // Check for new color map and/or alpha map
128
+ const updateCanvas = material.map != this._colorMap || material.alphaMap != this._alphaMap;
129
+ if (updateCanvas) {
130
+ this._colorMap = material.map;
131
+ this._alphaMap = material.alphaMap;
132
+ const colorImage = material.map.image;
133
+ const width = colorImage.width;
134
+ const height = colorImage.height;
135
+ if (this._canvas.width !== width || this._canvas.height !== height) {
136
+ this._canvas.width = width;
137
+ this._canvas.height = height;
138
+ this._canvas.style.width = `${width}px`;
139
+ this._canvas.style.height = `${height}px`;
140
+ }
141
+ const hasAlphaMap = this.isValidAlphaMap(material.alphaMap);
142
+ if (hasAlphaMap || this._stencilContext) {
143
+ const alphaImage = (_a = material.alphaMap) === null || _a === void 0 ? void 0 : _a.image;
144
+ const blendedImageData = yield this.blendAlphaAndStencil(colorImage, alphaImage, 0, 0);
145
+ this._context.putImageData(blendedImageData, 0, 0);
146
+ }
147
+ else {
148
+ this._context.clearRect(0, 0, width, height);
149
+ this._context.drawImage(colorImage, 0, 0, width, height);
150
+ }
151
+ }
152
+ // Apply any regional updates
153
+ yield this.handleRegionUpdates();
154
+ }
155
+ else {
156
+ if (this._colorMap) {
157
+ this._colorMap = null;
158
+ this._alphaMap = null;
159
+ this._regionUpdates = [];
160
+ this._context.clearRect(0, 0, this._canvas.width, this._canvas.height);
161
+ }
162
+ }
163
+ }
164
+ });
165
+ }
166
+ /**
167
+ * Adds a region update to the canvas taking into account the color, alpha and stencil buffers. Here we store a simple
168
+ * array of all the updates necessary for this frame. The updates are taken into account in the next rendering request of the window
169
+ * (and are only applied if the destination buffers have not been replaced).
170
+ * @param srcColorMap - The source color texture.
171
+ * @param dstColorMap - The destination color texture.
172
+ * @param srcAlphaMap - The source alpha texture.
173
+ * @param dstAlphaMap - The destination alpha texture.
174
+ * @param width - The width of the region to update.
175
+ * @param height - The height of the region to update.
176
+ * @param dstPosition - The destination position of the region.
177
+ */
178
+ addRegionUpdate(srcColorMap, dstColorMap, srcAlphaMap, dstAlphaMap, width, height, dstPosition) {
179
+ this._regionUpdates.push({
180
+ srcColorMap,
181
+ dstColorMap,
182
+ srcAlphaMap,
183
+ dstAlphaMap,
184
+ width,
185
+ height,
186
+ dstPosition,
187
+ });
188
+ }
189
+ /**
190
+ * Handles all pending region updates for the canvas. The different buffers (color, alpha and stencil) are blended (in a web
191
+ * worker if available) and then re-rendered into the main canvas of the window. If the window has only a color buffer then this
192
+ * is rendered immediately into the main canvas.
193
+ */
194
+ handleRegionUpdates() {
195
+ return __awaiter(this, void 0, void 0, function* () {
196
+ for (const region of this._regionUpdates) {
197
+ if (region.dstColorMap === this._colorMap && region.dstAlphaMap === this._alphaMap) {
198
+ const { srcColorMap, srcAlphaMap, width, height, dstPosition } = region;
199
+ const colorImage = srcColorMap.image;
200
+ const alphaImage = srcAlphaMap === null || srcAlphaMap === void 0 ? void 0 : srcAlphaMap.image;
201
+ if (alphaImage || this._stencilContext) {
202
+ const blendedImageData = yield this.blendAlphaAndStencil(colorImage, alphaImage, dstPosition.x, dstPosition.y);
203
+ this._context.putImageData(blendedImageData, dstPosition.x, dstPosition.y);
204
+ }
205
+ else {
206
+ this._context.drawImage(colorImage, 0, 0, width, height, dstPosition.x, dstPosition.y, width, height);
207
+ }
208
+ }
209
+ }
210
+ this._regionUpdates = [];
211
+ });
212
+ }
213
+ /**
214
+ * Checks if the provided alpha map is valid for the canvas (dimensions are equal).
215
+ * @param alphaMap - The alpha texture to validate.
216
+ * @returns `true` if the alpha map is valid, otherwise `false`.
217
+ */
218
+ isValidAlphaMap(alphaMap) {
219
+ if (alphaMap) {
220
+ const width = alphaMap.image.width;
221
+ const height = alphaMap.image.height;
222
+ return width === this._canvas.width && height === this._canvas.height;
223
+ }
224
+ return false;
225
+ }
226
+ /**
227
+ * Updates the stencil map for the window if it exists in the material and has changed.
228
+ * @param material - The material of the associated mesh.
229
+ */
230
+ updateStencilMap(material) {
231
+ // Get stencil map if it exists, remove it if no longer needed
232
+ if (material instanceof WebXMaterial_1.WebXMaterial && material.stencilMap) {
233
+ if (material.stencilMap != this._stencilMap) {
234
+ this._stencilMap = material.stencilMap;
235
+ // Create canvas and context for stencil Image
236
+ const stencilImage = this._stencilMap.image;
237
+ this._stencilCanvas = this.createElementNS('canvas');
238
+ this._stencilCanvas.width = stencilImage.width;
239
+ this._stencilCanvas.height = stencilImage.height;
240
+ this._stencilContext = this._stencilCanvas.getContext('2d', { willReadFrequently: true });
241
+ this._stencilContext.drawImage(stencilImage, 0, 0);
242
+ }
243
+ }
244
+ else {
245
+ if (this._stencilMap) {
246
+ this._stencilMap = null;
247
+ this._stencilCanvas = null;
248
+ this._stencilContext = null;
249
+ }
250
+ }
251
+ }
252
+ /**
253
+ * Prepares temporary canvases to renderer the image data (jpeg format) into raw pixmaps. The pixmap data for the different
254
+ * images is sent to the blender for processing.
255
+ * @param colorImage - The color image.
256
+ * @param alphaImage - The alpha image.
257
+ * @param dstX - The destination X position.
258
+ * @param dstY - The destination Y position.
259
+ * @returns A promise that resolves to the blended `ImageData`.
260
+ */
261
+ blendAlphaAndStencil(colorImage, alphaImage, dstX, dstY) {
262
+ return __awaiter(this, void 0, void 0, function* () {
263
+ if (!alphaImage && !this._stencilContext) {
264
+ return;
265
+ }
266
+ const width = colorImage.width;
267
+ const height = colorImage.height;
268
+ // Create temporary canvas and context for color Image
269
+ const colorCanvas = this.createElementNS('canvas');
270
+ colorCanvas.width = width;
271
+ colorCanvas.height = height;
272
+ const colorContext = colorCanvas.getContext('2d');
273
+ colorContext.drawImage(colorImage, 0, 0);
274
+ const colorImageData = colorContext.getImageData(0, 0, width, height);
275
+ let alphaImageData = null;
276
+ if (alphaImage) {
277
+ // Create temporary canvas and context for alpha Image
278
+ const alphaCanvas = this.createElementNS('canvas');
279
+ alphaCanvas.width = width;
280
+ alphaCanvas.height = height;
281
+ const alphaContext = alphaCanvas.getContext('2d');
282
+ alphaContext.drawImage(alphaImage, 0, 0);
283
+ alphaImageData = alphaContext.getImageData(0, 0, width, height);
284
+ }
285
+ const startTime = performance.now();
286
+ let stencilImageData = null;
287
+ if (this._stencilContext) {
288
+ stencilImageData = this._stencilContext.getImageData(dstX, dstY, width, height);
289
+ }
290
+ const blendedImageData = yield this._alphaStencilBlender.blendAlphaAndStencil(colorImageData, alphaImageData, stencilImageData);
291
+ const endTime = performance.now();
292
+ // console.log(`Time to blend alpha image = ${(endTime - startTime).toFixed((3))}ms for ${width * height} pixels`);
293
+ return blendedImageData;
294
+ });
295
+ }
296
+ /**
297
+ * Creates an HTML element with the specified namespace.
298
+ * @param name - The name of the element to create.
299
+ * @returns The created `HTMLElement`.
300
+ */
301
+ createElementNS(name) {
302
+ return document.createElementNS('http://www.w3.org/1999/xhtml', name);
303
+ }
304
+ }
305
+ exports.WebXWindowCanvas = WebXWindowCanvas;
306
+ //# sourceMappingURL=WebXWindowCanvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebXWindowCanvas.js","sourceRoot":"","sources":["../../src/renderer/WebXWindowCanvas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export = createBlenderModule;
2
+ declare function createBlenderModule(moduleArg?: {}): Promise<{}>;
3
+ declare namespace createBlenderModule {
4
+ export { createBlenderModule as default };
5
+ }
@@ -0,0 +1,201 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var createBlenderModule = (() => {
11
+ var _a;
12
+ var _scriptName = typeof document != "undefined" ? (_a = document.currentScript) === null || _a === void 0 ? void 0 : _a.src : undefined;
13
+ return function () {
14
+ return __awaiter(this, arguments, void 0, function* (moduleArg = {}) {
15
+ var _a;
16
+ var moduleRtn;
17
+ var Module = moduleArg;
18
+ var ENVIRONMENT_IS_WEB = typeof window == "object";
19
+ var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != "undefined";
20
+ var ENVIRONMENT_IS_NODE = typeof process == "object" && ((_a = process.versions) === null || _a === void 0 ? void 0 : _a.node) && process.type != "renderer";
21
+ var arguments_ = [];
22
+ var thisProgram = "./this.program";
23
+ if (ENVIRONMENT_IS_WORKER) {
24
+ _scriptName = self.location.href;
25
+ }
26
+ var scriptDirectory = "";
27
+ var readAsync, readBinary;
28
+ if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
29
+ try {
30
+ scriptDirectory = new URL(".", _scriptName).href;
31
+ }
32
+ catch (_b) { }
33
+ {
34
+ if (ENVIRONMENT_IS_WORKER) {
35
+ readBinary = url => { var xhr = new XMLHttpRequest; xhr.open("GET", url, false); xhr.responseType = "arraybuffer"; xhr.send(null); return new Uint8Array(xhr.response); };
36
+ }
37
+ readAsync = (url) => __awaiter(this, void 0, void 0, function* () { var response = yield fetch(url, { credentials: "same-origin" }); if (response.ok) {
38
+ return response.arrayBuffer();
39
+ } throw new Error(response.status + " : " + response.url); });
40
+ }
41
+ }
42
+ else { }
43
+ var out = console.log.bind(console);
44
+ var err = console.error.bind(console);
45
+ var wasmBinary;
46
+ var ABORT = false;
47
+ var readyPromiseResolve, readyPromiseReject;
48
+ var wasmMemory;
49
+ var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
50
+ var HEAP64, HEAPU64;
51
+ var runtimeInitialized = false;
52
+ function updateMemoryViews() { var b = wasmMemory.buffer; HEAP8 = new Int8Array(b); HEAP16 = new Int16Array(b); Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); HEAPU16 = new Uint16Array(b); HEAP32 = new Int32Array(b); HEAPU32 = new Uint32Array(b); HEAPF32 = new Float32Array(b); HEAPF64 = new Float64Array(b); HEAP64 = new BigInt64Array(b); HEAPU64 = new BigUint64Array(b); }
53
+ function preRun() { if (Module["preRun"]) {
54
+ if (typeof Module["preRun"] == "function")
55
+ Module["preRun"] = [Module["preRun"]];
56
+ while (Module["preRun"].length) {
57
+ addOnPreRun(Module["preRun"].shift());
58
+ }
59
+ } callRuntimeCallbacks(onPreRuns); }
60
+ function initRuntime() { runtimeInitialized = true; wasmExports["c"](); }
61
+ function postRun() { if (Module["postRun"]) {
62
+ if (typeof Module["postRun"] == "function")
63
+ Module["postRun"] = [Module["postRun"]];
64
+ while (Module["postRun"].length) {
65
+ addOnPostRun(Module["postRun"].shift());
66
+ }
67
+ } callRuntimeCallbacks(onPostRuns); }
68
+ function abort(what) { var _a; (_a = Module["onAbort"]) === null || _a === void 0 ? void 0 : _a.call(Module, what); what = "Aborted(" + what + ")"; err(what); ABORT = true; what += ". Build with -sASSERTIONS for more info."; var e = new WebAssembly.RuntimeError(what); readyPromiseReject === null || readyPromiseReject === void 0 ? void 0 : readyPromiseReject(e); throw e; }
69
+ var wasmBinaryFile;
70
+ function findWasmBinary() { return base64Decode("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"); }
71
+ function getBinarySync(file) { if (ArrayBuffer.isView(file)) {
72
+ return file;
73
+ } if (file == wasmBinaryFile && wasmBinary) {
74
+ return new Uint8Array(wasmBinary);
75
+ } if (readBinary) {
76
+ return readBinary(file);
77
+ } throw "both async and sync fetching of the wasm failed"; }
78
+ function getWasmBinary(binaryFile) {
79
+ return __awaiter(this, void 0, void 0, function* () { return getBinarySync(binaryFile); });
80
+ }
81
+ function instantiateArrayBuffer(binaryFile, imports) {
82
+ return __awaiter(this, void 0, void 0, function* () { try {
83
+ var binary = yield getWasmBinary(binaryFile);
84
+ var instance = yield WebAssembly.instantiate(binary, imports);
85
+ return instance;
86
+ }
87
+ catch (reason) {
88
+ err(`failed to asynchronously prepare wasm: ${reason}`);
89
+ abort(reason);
90
+ } });
91
+ }
92
+ function instantiateAsync(binary, binaryFile, imports) {
93
+ return __awaiter(this, void 0, void 0, function* () { return instantiateArrayBuffer(binaryFile, imports); });
94
+ }
95
+ function getWasmImports() { return { a: wasmImports }; }
96
+ function createWasm() {
97
+ return __awaiter(this, void 0, void 0, function* () { function receiveInstance(instance, module) { wasmExports = instance.exports; wasmMemory = wasmExports["b"]; updateMemoryViews(); assignWasmExports(wasmExports); return wasmExports; } function receiveInstantiationResult(result) { return receiveInstance(result["instance"]); } var info = getWasmImports(); if (Module["instantiateWasm"]) {
98
+ return new Promise((resolve, reject) => { Module["instantiateWasm"](info, (mod, inst) => { resolve(receiveInstance(mod, inst)); }); });
99
+ } wasmBinaryFile !== null && wasmBinaryFile !== void 0 ? wasmBinaryFile : (wasmBinaryFile = findWasmBinary()); var result = yield instantiateAsync(wasmBinary, wasmBinaryFile, info); var exports = receiveInstantiationResult(result); return exports; });
100
+ }
101
+ class ExitStatus {
102
+ constructor(status) {
103
+ this.name = "ExitStatus";
104
+ this.message = `Program terminated with exit(${status})`;
105
+ this.status = status;
106
+ }
107
+ }
108
+ var callRuntimeCallbacks = callbacks => { while (callbacks.length > 0) {
109
+ callbacks.shift()(Module);
110
+ } };
111
+ var onPostRuns = [];
112
+ var addOnPostRun = cb => onPostRuns.push(cb);
113
+ var onPreRuns = [];
114
+ var addOnPreRun = cb => onPreRuns.push(cb);
115
+ var base64Decode = b64 => { var b1, b2, i = 0, j = 0, bLength = b64.length; var output = new Uint8Array((bLength * 3 >> 2) - (b64[bLength - 2] == "=") - (b64[bLength - 1] == "=")); for (; i < bLength; i += 4, j += 3) {
116
+ b1 = base64ReverseLookup[b64.charCodeAt(i + 1)];
117
+ b2 = base64ReverseLookup[b64.charCodeAt(i + 2)];
118
+ output[j] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4;
119
+ output[j + 1] = b1 << 4 | b2 >> 2;
120
+ output[j + 2] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i + 3)];
121
+ } return output; };
122
+ var noExitRuntime = true;
123
+ var getHeapMax = () => 2147483648;
124
+ var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
125
+ var growMemory = size => { var oldHeapSize = wasmMemory.buffer.byteLength; var pages = (size - oldHeapSize + 65535) / 65536 | 0; try {
126
+ wasmMemory.grow(pages);
127
+ updateMemoryViews();
128
+ return 1;
129
+ }
130
+ catch (e) { } };
131
+ var _emscripten_resize_heap = requestedSize => { var oldSize = HEAPU8.length; requestedSize >>>= 0; var maxHeapSize = getHeapMax(); if (requestedSize > maxHeapSize) {
132
+ return false;
133
+ } for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
134
+ var overGrownHeapSize = oldSize * (1 + .2 / cutDown);
135
+ overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
136
+ var newSize = Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536));
137
+ var replacement = growMemory(newSize);
138
+ if (replacement) {
139
+ return true;
140
+ }
141
+ } return false; };
142
+ for (var base64ReverseLookup = new Uint8Array(123), i = 25; i >= 0; --i) {
143
+ base64ReverseLookup[48 + i] = 52 + i;
144
+ base64ReverseLookup[65 + i] = i;
145
+ base64ReverseLookup[97 + i] = 26 + i;
146
+ }
147
+ base64ReverseLookup[43] = 62;
148
+ base64ReverseLookup[47] = 63;
149
+ {
150
+ if (Module["noExitRuntime"])
151
+ noExitRuntime = Module["noExitRuntime"];
152
+ if (Module["print"])
153
+ out = Module["print"];
154
+ if (Module["printErr"])
155
+ err = Module["printErr"];
156
+ if (Module["wasmBinary"])
157
+ wasmBinary = Module["wasmBinary"];
158
+ if (Module["arguments"])
159
+ arguments_ = Module["arguments"];
160
+ if (Module["thisProgram"])
161
+ thisProgram = Module["thisProgram"];
162
+ if (Module["preInit"]) {
163
+ if (typeof Module["preInit"] == "function")
164
+ Module["preInit"] = [Module["preInit"]];
165
+ while (Module["preInit"].length > 0) {
166
+ Module["preInit"].shift()();
167
+ }
168
+ }
169
+ }
170
+ var _float_sqrt, _alpha_and_stencil_blend, _malloc, _free;
171
+ function assignWasmExports(wasmExports) { Module["_float_sqrt"] = _float_sqrt = wasmExports["d"]; Module["_alpha_and_stencil_blend"] = _alpha_and_stencil_blend = wasmExports["e"]; Module["_malloc"] = _malloc = wasmExports["f"]; Module["_free"] = _free = wasmExports["g"]; }
172
+ var wasmImports = { a: _emscripten_resize_heap };
173
+ function run() { preRun(); function doRun() { var _a; Module["calledRun"] = true; if (ABORT)
174
+ return; initRuntime(); readyPromiseResolve === null || readyPromiseResolve === void 0 ? void 0 : readyPromiseResolve(Module); (_a = Module["onRuntimeInitialized"]) === null || _a === void 0 ? void 0 : _a.call(Module); postRun(); } if (Module["setStatus"]) {
175
+ Module["setStatus"]("Running...");
176
+ setTimeout(() => { setTimeout(() => Module["setStatus"](""), 1); doRun(); }, 1);
177
+ }
178
+ else {
179
+ doRun();
180
+ } }
181
+ var wasmExports;
182
+ wasmExports = yield (createWasm());
183
+ run();
184
+ if (runtimeInitialized) {
185
+ moduleRtn = Module;
186
+ }
187
+ else {
188
+ moduleRtn = new Promise((resolve, reject) => { readyPromiseResolve = resolve; readyPromiseReject = reject; });
189
+ }
190
+ ;
191
+ return moduleRtn;
192
+ });
193
+ };
194
+ })();
195
+ if (typeof exports === "object" && typeof module === "object") {
196
+ module.exports = createBlenderModule;
197
+ module.exports.default = createBlenderModule;
198
+ }
199
+ else if (typeof define === "function" && define["amd"])
200
+ define([], () => createBlenderModule);
201
+ //# sourceMappingURL=blender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blender.js","sourceRoot":"","sources":["../../src/renderer/blender.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './WebXCanvasRenderer';
2
+ export * from './WebXWindowCanvas';
3
+ export * from './WebXAlphaStencilBlender';
@@ -0,0 +1,20 @@
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("./WebXCanvasRenderer"), exports);
18
+ __exportStar(require("./WebXWindowCanvas"), exports);
19
+ __exportStar(require("./WebXAlphaStencilBlender"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAoC;AACpC,qDAAkC;AAClC,4DAAyC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@illgrenoble/webx-client",
3
3
  "description": "Client javascript library to display WebX remote desktop in a browser.",
4
- "version": "1.10.5",
4
+ "version": "1.11.0",
5
5
  "scripts": {
6
6
  "lint": "eslint . --ext .ts",
7
7
  "lint:fix": "eslint . --ext .ts --fix",