@illgrenoble/webx-client 1.11.0 → 1.12.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.
- package/dist/GuacamoleKeyboard.js +1551 -0
- package/dist/WebXClient.d.ts +1 -1
- package/dist/common/WebXImageBlenderFunc.d.ts +26 -0
- package/dist/common/WebXSubImage.d.ts +50 -0
- package/dist/common/WebXWindowProperties.d.ts +44 -0
- package/dist/common/index.d.ts +3 -0
- package/dist/display/WebXCursor.d.ts +5 -17
- package/dist/display/WebXCursor.js +22 -33
- package/dist/display/WebXCursor.js.map +1 -1
- package/dist/display/WebXCursorFactory.d.ts +2 -2
- package/dist/display/WebXDisplay.d.ts +11 -9
- package/dist/display/WebXDisplay.js +10 -4
- package/dist/display/WebXDisplay.js.map +1 -1
- package/dist/display/WebXDisplayOverlay.d.ts +10 -0
- package/dist/display/WebXDisplayOverlay.js +31 -0
- package/dist/display/WebXDisplayOverlay.js.map +1 -0
- package/dist/display/WebXTexture.d.ts +6 -0
- package/dist/display/WebXTextureFunc.d.ts +3 -0
- package/dist/display/WebXWindow.d.ts +4 -4
- package/dist/display/WebXWindow.js +12 -9
- package/dist/display/WebXWindow.js.map +1 -1
- package/dist/display/WebXWindowImageFactory.d.ts +31 -0
- package/dist/display/index.d.ts +0 -6
- package/dist/index.d.ts +2 -0
- package/dist/message/WebXCursorImageMessage.d.ts +3 -3
- package/dist/message/WebXImageMessage.d.ts +4 -4
- package/dist/message/WebXMessage.d.ts +13 -1
- package/dist/message/WebXShapeMessage.d.ts +3 -3
- package/dist/message/WebXSubImagesMessage.d.ts +1 -1
- package/dist/message/WebXWindowsMessage.d.ts +1 -1
- package/dist/renderer/WebXCanvasRenderer.d.ts +1 -1
- package/dist/renderer/WebXImageBlender.d.ts +30 -0
- package/dist/renderer/WebXImageBlenderFunc.d.ts +8 -0
- package/dist/renderer/WebXImageBlenderWorker.d.ts +1 -0
- package/dist/renderer/WebXWindowCanvas.d.ts +27 -8
- package/dist/renderer/WebXWindowCanvas.js +10 -4
- package/dist/renderer/WebXWindowCanvas.js.map +1 -1
- package/dist/renderer/index.d.ts +1 -1
- package/dist/texture/WebXTexture.d.ts +18 -0
- package/dist/texture/WebXTextureFactory.d.ts +23 -0
- package/dist/texture/WebXTextureFunc.d.ts +3 -0
- package/dist/texture/index.d.ts +3 -0
- package/dist/transport/WebXBinarySerializer.d.ts +13 -8
- package/dist/transport/WebXMessageBuffer.d.ts +4 -0
- package/dist/transport/WebXMessageDecoder.d.ts +2 -5
- package/dist/transport/WebXMessageDecoderWorker.d.ts +1 -0
- package/dist/transport/WebXMessageFunc.d.ts +22 -0
- package/dist/transport/index.d.ts +0 -2
- package/dist/tunnel/WebXTunnel.d.ts +5 -2
- package/dist/tunnel/WebXWebSocketTunnel.d.ts +2 -4
- package/dist/webx-client.cjs +5391 -0
- package/dist/webx-client.cjs.map +1 -0
- package/dist/webx-client.esm.js +5322 -0
- package/dist/webx-client.esm.js.map +1 -0
- package/package.json +11 -9
- package/dist/renderer/WebXBlenderWorker.d.ts +0 -1
- package/dist/renderer/WebXBlenderWorker.js +0 -33
- package/dist/renderer/WebXBlenderWorker.js.map +0 -1
- package/dist/renderer/WebXWindowBlender.d.ts +0 -11
- package/dist/renderer/WebXWindowBlender.js +0 -27
- package/dist/renderer/WebXWindowBlender.js.map +0 -1
- package/dist/renderer/blender.d.ts +0 -5
- package/dist/renderer/blender.js +0 -201
- package/dist/renderer/blender.js.map +0 -1
|
@@ -353,30 +353,34 @@ class WebXWindow {
|
|
|
353
353
|
if (colorMap == null) {
|
|
354
354
|
return;
|
|
355
355
|
}
|
|
356
|
+
const hasColorMapStart = this.colorMap != null;
|
|
357
|
+
const hasAlphaMapStart = this.alphaMap != null;
|
|
356
358
|
this._depth = depth;
|
|
357
359
|
// Dispose of previous texture
|
|
358
360
|
if (colorMap != this.colorMap) {
|
|
359
361
|
this._disposeColorMap();
|
|
360
362
|
this.colorMap = colorMap;
|
|
361
363
|
}
|
|
362
|
-
colorMap.minFilter = three_1.LinearFilter;
|
|
363
364
|
this.colorMap.repeat.set(this._width / this.colorMap.image.width, this._height / this.colorMap.image.height);
|
|
364
365
|
this.visible = (!this._shaped || this.stencilMap != null);
|
|
365
|
-
this._material.needsUpdate = true;
|
|
366
366
|
// Only update alpha if it has been sent
|
|
367
367
|
if (alphaMap) {
|
|
368
368
|
if (alphaMap != this.alphaMap) {
|
|
369
369
|
this._disposeAlphaMap();
|
|
370
370
|
this.alphaMap = alphaMap;
|
|
371
371
|
}
|
|
372
|
-
this.alphaMap.minFilter = three_1.LinearFilter;
|
|
373
372
|
this.alphaMap.repeat.set(this._width / this.alphaMap.image.width, this._height / this.alphaMap.image.height);
|
|
374
|
-
this._material.needsUpdate = true;
|
|
375
373
|
}
|
|
376
374
|
else if (depth == 24) {
|
|
377
375
|
this._disposeAlphaMap();
|
|
378
376
|
}
|
|
379
377
|
this._material.transparent = (this.alphaMap != null || depth === 32);
|
|
378
|
+
const hasColorMapEnd = this.colorMap != null;
|
|
379
|
+
const hasAlphaMapEnd = this.alphaMap != null;
|
|
380
|
+
// Recompile the material if map usage changes
|
|
381
|
+
if (hasColorMapStart != hasColorMapEnd || hasAlphaMapStart != hasAlphaMapEnd) {
|
|
382
|
+
this._material.needsUpdate = true;
|
|
383
|
+
}
|
|
380
384
|
// Request a window update if it's not a full window
|
|
381
385
|
if (!isFullWindow) {
|
|
382
386
|
if (this._windowRefreshTimeout) {
|
|
@@ -404,15 +408,14 @@ class WebXWindow {
|
|
|
404
408
|
if (stencilMap) {
|
|
405
409
|
stencilMap.minFilter = three_1.LinearFilter;
|
|
406
410
|
this.visible = this.colorMap != null;
|
|
407
|
-
this._material.needsUpdate = true;
|
|
408
411
|
this._shaped = true;
|
|
409
412
|
}
|
|
410
413
|
else {
|
|
411
414
|
this._shaped = false;
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
415
|
+
}
|
|
416
|
+
// Recompile the material if needed
|
|
417
|
+
if (oldShaped !== this._shaped) {
|
|
418
|
+
this._material.needsUpdate = true;
|
|
416
419
|
}
|
|
417
420
|
}
|
|
418
421
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebXWindow.js","sourceRoot":"","sources":["../../src/display/WebXWindow.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WebXWindow.js","sourceRoot":"","sources":["../../src/display/WebXWindow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { WebXTunnel } from '../tunnel';
|
|
2
|
+
import { WebXTexture } from "../texture";
|
|
3
|
+
/**
|
|
4
|
+
* Factory class for request textures for WebX windows.
|
|
5
|
+
*
|
|
6
|
+
* This class retrieves textures from the WebX Engine
|
|
7
|
+
*/
|
|
8
|
+
export declare class WebXWindowImageFactory {
|
|
9
|
+
private _tunnel;
|
|
10
|
+
constructor(_tunnel: WebXTunnel);
|
|
11
|
+
/**
|
|
12
|
+
* Retrieves the textures (colorMap and alphaMap) for a specific window ID from the WebX Engine.
|
|
13
|
+
*
|
|
14
|
+
* @param windowId The ID of the window to retrieve the texture for.
|
|
15
|
+
* @returns A promise that resolves to the textures and associated data.
|
|
16
|
+
*/
|
|
17
|
+
getWindowTexture(windowId: number): Promise<{
|
|
18
|
+
depth: number;
|
|
19
|
+
colorMap: WebXTexture;
|
|
20
|
+
alphaMap: WebXTexture;
|
|
21
|
+
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Retrieves the stencil textures for a specific window ID from the WebX Engine.
|
|
24
|
+
*
|
|
25
|
+
* @param windowId The ID of the window to retrieve the texture for.
|
|
26
|
+
* @returns A promise that resolves to the stencil texture
|
|
27
|
+
*/
|
|
28
|
+
getWindowStencilTexture(windowId: number): Promise<{
|
|
29
|
+
stencilMap: WebXTexture;
|
|
30
|
+
}>;
|
|
31
|
+
}
|
package/dist/display/index.d.ts
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WebXMessage } from './WebXMessage';
|
|
2
|
-
import {
|
|
2
|
+
import { WebXTexture } from "../texture";
|
|
3
3
|
/**
|
|
4
4
|
* Represents a message containing cursor image data.
|
|
5
5
|
*
|
|
@@ -22,7 +22,7 @@ export declare class WebXCursorImageMessage extends WebXMessage {
|
|
|
22
22
|
/**
|
|
23
23
|
* The texture of the cursor.
|
|
24
24
|
*/
|
|
25
|
-
readonly texture:
|
|
25
|
+
readonly texture: WebXTexture;
|
|
26
26
|
/**
|
|
27
27
|
* The x-coordinate of the cursor's position.
|
|
28
28
|
*/
|
|
@@ -42,5 +42,5 @@ export declare class WebXCursorImageMessage extends WebXMessage {
|
|
|
42
42
|
* @param y The y-coordinate of the cursor's position.
|
|
43
43
|
* @param commandId The ID of the command associated with this message.
|
|
44
44
|
*/
|
|
45
|
-
constructor(x: number, y: number, xHot: number, yHot: number, cursorId: number, texture:
|
|
45
|
+
constructor(x: number, y: number, xHot: number, yHot: number, cursorId: number, texture: WebXTexture, commandId: number);
|
|
46
46
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WebXMessage } from './WebXMessage';
|
|
2
|
-
import {
|
|
2
|
+
import { WebXTexture } from "../texture";
|
|
3
3
|
/**
|
|
4
4
|
* Represents a message containing image data for a window.
|
|
5
5
|
*
|
|
@@ -18,11 +18,11 @@ export declare class WebXImageMessage extends WebXMessage {
|
|
|
18
18
|
/**
|
|
19
19
|
* The color texture of the image.
|
|
20
20
|
*/
|
|
21
|
-
readonly colorMap:
|
|
21
|
+
readonly colorMap: WebXTexture;
|
|
22
22
|
/**
|
|
23
23
|
* The alpha texture of the image.
|
|
24
24
|
*/
|
|
25
|
-
readonly alphaMap:
|
|
25
|
+
readonly alphaMap: WebXTexture;
|
|
26
26
|
/**
|
|
27
27
|
* The size of the image.
|
|
28
28
|
*/
|
|
@@ -37,5 +37,5 @@ export declare class WebXImageMessage extends WebXMessage {
|
|
|
37
37
|
* @param commandId The ID of the command associated with this message.
|
|
38
38
|
* @param size The size of the image.
|
|
39
39
|
*/
|
|
40
|
-
constructor(windowId: number, depth: number, colorMap:
|
|
40
|
+
constructor(windowId: number, depth: number, colorMap: WebXTexture, alphaMap: WebXTexture, commandId: number, size: number);
|
|
41
41
|
}
|
|
@@ -14,11 +14,23 @@ export declare abstract class WebXMessage {
|
|
|
14
14
|
* The ID of the command associated with this message.
|
|
15
15
|
*/
|
|
16
16
|
readonly commandId: number;
|
|
17
|
+
/**
|
|
18
|
+
* Used to globally set function of web worker when decoding messages
|
|
19
|
+
*/
|
|
20
|
+
private static _convertToImageDataInWorker;
|
|
17
21
|
/**
|
|
18
22
|
* Constructs a new WebXMessage.
|
|
19
23
|
*
|
|
20
24
|
* @param type The type of the message.
|
|
21
25
|
* @param commandId The ID of the command associated with this message.
|
|
22
26
|
*/
|
|
23
|
-
constructor(type: WebXMessageType, commandId?: number);
|
|
27
|
+
protected constructor(type: WebXMessageType, commandId?: number);
|
|
28
|
+
/**
|
|
29
|
+
* Get the flag to determine if images should be converted to image data in a worker
|
|
30
|
+
*/
|
|
31
|
+
static get convertToImageDataInWorker(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Set the flag to specify whether images should be converted to image data in a worker
|
|
34
|
+
*/
|
|
35
|
+
static set convertToImageDataInWorker(value: boolean);
|
|
24
36
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WebXMessage } from './WebXMessage';
|
|
2
|
-
import {
|
|
2
|
+
import { WebXTexture } from "../texture";
|
|
3
3
|
/**
|
|
4
4
|
* Represents a message containing image data for a window.
|
|
5
5
|
*
|
|
@@ -14,7 +14,7 @@ export declare class WebXShapeMessage extends WebXMessage {
|
|
|
14
14
|
/**
|
|
15
15
|
* The stencil texture of the window.
|
|
16
16
|
*/
|
|
17
|
-
readonly stencilMap:
|
|
17
|
+
readonly stencilMap: WebXTexture;
|
|
18
18
|
/**
|
|
19
19
|
* The size of the image.
|
|
20
20
|
*/
|
|
@@ -27,5 +27,5 @@ export declare class WebXShapeMessage extends WebXMessage {
|
|
|
27
27
|
* @param commandId The ID of the command associated with this message.
|
|
28
28
|
* @param size The size of the image.
|
|
29
29
|
*/
|
|
30
|
-
constructor(windowId: number, stencilMap:
|
|
30
|
+
constructor(windowId: number, stencilMap: WebXTexture, commandId: number, size: number);
|
|
31
31
|
}
|
|
@@ -11,7 +11,7 @@ export declare class WebXCanvasRenderer {
|
|
|
11
11
|
private _desktopContainer;
|
|
12
12
|
private _desktop;
|
|
13
13
|
private _clearColor;
|
|
14
|
-
private readonly
|
|
14
|
+
private readonly _imageBlender;
|
|
15
15
|
private _windowCanvases;
|
|
16
16
|
/**
|
|
17
17
|
* Gets the root DOM element of the renderer.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `WebXAlphaStencilBlender` class handles blending of alpha and stencil data
|
|
3
|
+
* for rendering purposes. It uses a Web Worker for asynchronous processing.
|
|
4
|
+
*/
|
|
5
|
+
export declare class WebXImageBlender {
|
|
6
|
+
private readonly _worker;
|
|
7
|
+
private _pending;
|
|
8
|
+
private _nextId;
|
|
9
|
+
/**
|
|
10
|
+
* Initializes the `WebXAlphaStencilBlender` and sets up the Web Worker (if web-workers present on the client).
|
|
11
|
+
* The web worker is initialised from the worker/blending functions above. Each blending request is assigned an id.
|
|
12
|
+
* The data is passed to the web worker along with the Id. The web worker returns the Id with blended data so that the
|
|
13
|
+
* calling promise can be resolved.
|
|
14
|
+
*/
|
|
15
|
+
constructor();
|
|
16
|
+
/**
|
|
17
|
+
* Blends alpha and stencil data asynchronously.
|
|
18
|
+
* Main entry point to blend the different buffers. If a web-worker is available on the client then the data is prepared to transfer
|
|
19
|
+
* to the worker. Otherwise the standard blending function is called immediately.
|
|
20
|
+
* @param colorImageData - The color image data.
|
|
21
|
+
* @param alphaImageData - The alpha image data.
|
|
22
|
+
* @param stencilImageData - The stencil image data.
|
|
23
|
+
* @returns A promise that resolves to the blended `ImageData`.
|
|
24
|
+
*/
|
|
25
|
+
blendAlphaAndStencil(colorImageData: ImageData, alphaImageData: ImageData, stencilImageData: ImageData): Promise<ImageData>;
|
|
26
|
+
/**
|
|
27
|
+
* Terminates the Web Worker and clears pending tasks.
|
|
28
|
+
*/
|
|
29
|
+
terminate(): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Alpha and stencil buffer blending function. The alpha buffer contains alpha data in the
|
|
3
|
+
* green channel. The stencil buffer is a black and white image: only pixels with a stencil value > 127 are to be rendered
|
|
4
|
+
* @param colorData the color data array
|
|
5
|
+
* @param alphaData the alpha data array
|
|
6
|
+
* @param stencilData the stencil data array
|
|
7
|
+
*/
|
|
8
|
+
export declare const alphaAndStencilBlend: (colorData: Uint8ClampedArray, alphaData: Uint8ClampedArray, stencilData: Uint8ClampedArray) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Mesh, Texture, Vector2 } from "three";
|
|
2
|
-
import {
|
|
2
|
+
import { WebXImageBlender } from "./WebXImageBlender";
|
|
3
3
|
/**
|
|
4
4
|
* The `WebXWindowCanvas` class holds the graphical elements necessary for rendering
|
|
5
5
|
* a specific window in the desktop environment. HTML Canvases are used for rendering image data. Window image data
|
|
@@ -7,11 +7,10 @@ import { WebXAlphaStencilBlender } from "./WebXAlphaStencilBlender";
|
|
|
7
7
|
*/
|
|
8
8
|
export declare class WebXWindowCanvas {
|
|
9
9
|
private readonly _mesh;
|
|
10
|
-
private readonly
|
|
10
|
+
private readonly _imageBlender;
|
|
11
11
|
private readonly _canvas;
|
|
12
12
|
private _context;
|
|
13
|
-
private
|
|
14
|
-
private _stencilContext;
|
|
13
|
+
private _stencilData;
|
|
15
14
|
private _x;
|
|
16
15
|
private _y;
|
|
17
16
|
private _zIndex;
|
|
@@ -53,9 +52,9 @@ export declare class WebXWindowCanvas {
|
|
|
53
52
|
* Initializes a new `WebXWindowCanvas` for the given window Mesh and Material. The Mesh and Material contains all graphical information
|
|
54
53
|
* necessary to render a window (namely window position, size and z-order), the Mesh Material contains the graphical information (color, alpha and stencil data).
|
|
55
54
|
* @param _mesh - The `Mesh` object representing the window.
|
|
56
|
-
* @param
|
|
55
|
+
* @param _imageBlender - The image blender instance.
|
|
57
56
|
*/
|
|
58
|
-
constructor(_mesh: Mesh,
|
|
57
|
+
constructor(_mesh: Mesh, _imageBlender: WebXImageBlender);
|
|
59
58
|
/**
|
|
60
59
|
* Updates the geometry of the window canvas based on the mesh's properties if any changes are needed.
|
|
61
60
|
*/
|
|
@@ -78,6 +77,7 @@ export declare class WebXWindowCanvas {
|
|
|
78
77
|
* @param dstPosition - The destination position of the region.
|
|
79
78
|
*/
|
|
80
79
|
addRegionUpdate(srcColorMap: Texture, dstColorMap: Texture, srcAlphaMap: Texture, dstAlphaMap: Texture, width: number, height: number, dstPosition: Vector2): void;
|
|
80
|
+
private resizeCanvas;
|
|
81
81
|
/**
|
|
82
82
|
* Handles all pending region updates for the canvas. The different buffers (color, alpha and stencil) are blended (in a web
|
|
83
83
|
* worker if available) and then re-rendered into the main canvas of the window. If the window has only a color buffer then this
|
|
@@ -98,8 +98,8 @@ export declare class WebXWindowCanvas {
|
|
|
98
98
|
/**
|
|
99
99
|
* Prepares temporary canvases to renderer the image data (jpeg format) into raw pixmaps. The pixmap data for the different
|
|
100
100
|
* images is sent to the blender for processing.
|
|
101
|
-
* @param
|
|
102
|
-
* @param
|
|
101
|
+
* @param colorMap - The color texture.
|
|
102
|
+
* @param alphaMap - The alpha texture.
|
|
103
103
|
* @param dstX - The destination X position.
|
|
104
104
|
* @param dstY - The destination Y position.
|
|
105
105
|
* @returns A promise that resolves to the blended `ImageData`.
|
|
@@ -111,4 +111,23 @@ export declare class WebXWindowCanvas {
|
|
|
111
111
|
* @returns The created `HTMLElement`.
|
|
112
112
|
*/
|
|
113
113
|
private createElementNS;
|
|
114
|
+
/**
|
|
115
|
+
* Generates ImageData from an image (ImageBitmap | HTMLImageElement) by creating a temporary canvas
|
|
116
|
+
* and drawing the image onto it. The raw image data is then read from the canvas.
|
|
117
|
+
* @param image the image to convert to ImageData
|
|
118
|
+
*/
|
|
119
|
+
private getImageData;
|
|
120
|
+
/**
|
|
121
|
+
* Converts raw image data from TextureImageData into an ImageData object. Ensures that the raw data is a Uin8ClampedArray
|
|
122
|
+
* @param textureData the raw image data from a TextureData
|
|
123
|
+
*/
|
|
124
|
+
private dataTextureToImageData;
|
|
125
|
+
/**
|
|
126
|
+
* Returns a region of the stencil data as a new ImageData object
|
|
127
|
+
* @param x the x position of the region
|
|
128
|
+
* @param y the y position of the region
|
|
129
|
+
* @param width the width of the region
|
|
130
|
+
* @param height the height of the region
|
|
131
|
+
*/
|
|
132
|
+
private getStencilDataRegion;
|
|
114
133
|
}
|
|
@@ -118,12 +118,12 @@ class WebXWindowCanvas {
|
|
|
118
118
|
*/
|
|
119
119
|
updateCanvas() {
|
|
120
120
|
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
var _a;
|
|
121
|
+
var _a, _b;
|
|
122
122
|
if (this._mesh.material instanceof WebXMaterial_1.WebXMaterial || this._mesh.material instanceof three_1.MeshBasicMaterial) {
|
|
123
123
|
const material = this._mesh.material;
|
|
124
124
|
// Handle the stencil map
|
|
125
125
|
this.updateStencilMap(material);
|
|
126
|
-
if (material.map) {
|
|
126
|
+
if ((_a = material.map) === null || _a === void 0 ? void 0 : _a.image) {
|
|
127
127
|
// Check for new color map and/or alpha map
|
|
128
128
|
const updateCanvas = material.map != this._colorMap || material.alphaMap != this._alphaMap;
|
|
129
129
|
if (updateCanvas) {
|
|
@@ -140,13 +140,19 @@ class WebXWindowCanvas {
|
|
|
140
140
|
}
|
|
141
141
|
const hasAlphaMap = this.isValidAlphaMap(material.alphaMap);
|
|
142
142
|
if (hasAlphaMap || this._stencilContext) {
|
|
143
|
-
const alphaImage = (
|
|
143
|
+
const alphaImage = (_b = material.alphaMap) === null || _b === void 0 ? void 0 : _b.image;
|
|
144
144
|
const blendedImageData = yield this.blendAlphaAndStencil(colorImage, alphaImage, 0, 0);
|
|
145
145
|
this._context.putImageData(blendedImageData, 0, 0);
|
|
146
146
|
}
|
|
147
147
|
else {
|
|
148
148
|
this._context.clearRect(0, 0, width, height);
|
|
149
|
-
|
|
149
|
+
if (material.map instanceof three_1.DataTexture) {
|
|
150
|
+
const imageData = new ImageData(new Uint8ClampedArray(colorImage.data.buffer), colorImage.width, colorImage.height);
|
|
151
|
+
this._context.putImageData(imageData, 0, 0);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
this._context.drawImage(colorImage, 0, 0, width, height);
|
|
155
|
+
}
|
|
150
156
|
}
|
|
151
157
|
}
|
|
152
158
|
// Apply any regional updates
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebXWindowCanvas.js","sourceRoot":"","sources":["../../src/renderer/WebXWindowCanvas.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"WebXWindowCanvas.js","sourceRoot":"","sources":["../../src/renderer/WebXWindowCanvas.ts"],"names":[],"mappings":"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"}
|
package/dist/renderer/index.d.ts
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const SRGBColorSpace = "srgb";
|
|
2
|
+
export declare const LinearSRGBColorSpace = "srgb-linear";
|
|
3
|
+
export declare class WebXTexture {
|
|
4
|
+
image: ImageBitmap | HTMLImageElement;
|
|
5
|
+
data: Uint8ClampedArray;
|
|
6
|
+
colorSpace: string;
|
|
7
|
+
flipY: boolean;
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
constructor(data: {
|
|
11
|
+
image?: ImageBitmap | HTMLImageElement;
|
|
12
|
+
data?: Uint8ClampedArray;
|
|
13
|
+
width?: number;
|
|
14
|
+
height?: number;
|
|
15
|
+
});
|
|
16
|
+
isTransferable(): boolean;
|
|
17
|
+
get transferable(): Transferable;
|
|
18
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { WebXTexture } from "./WebXTexture";
|
|
2
|
+
/**
|
|
3
|
+
* Factory class for creating textures for WebX windows from image data.
|
|
4
|
+
*/
|
|
5
|
+
export declare class WebXTextureFactory {
|
|
6
|
+
constructor();
|
|
7
|
+
/**
|
|
8
|
+
* Creates a texture from raw image data.
|
|
9
|
+
*
|
|
10
|
+
* @param imageData The raw image data as a Uint8Array.
|
|
11
|
+
* @param mimetype The MIME type of the image data (e.g., "image/png").
|
|
12
|
+
* @param colorSpace The color space of the image data (e.g., "srgb").
|
|
13
|
+
* @returns A promise that resolves to the created texture.
|
|
14
|
+
*/
|
|
15
|
+
createTextureFromArray(imageData: Uint8Array, mimetype: string, colorSpace: string): Promise<WebXTexture>;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a texture from a Blob object.
|
|
18
|
+
*
|
|
19
|
+
* @param blob The Blob object containing the image data.
|
|
20
|
+
* @returns A promise that resolves to the created texture.
|
|
21
|
+
*/
|
|
22
|
+
createTextureFromBlob(blob: Blob): Promise<WebXTexture>;
|
|
23
|
+
}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import { WebXInstruction } from '../instruction';
|
|
2
2
|
import { WebXMessage } from '../message';
|
|
3
|
-
import { WebXMessageBuffer } from
|
|
4
|
-
import { WebXTextureFactory } from '../display';
|
|
3
|
+
import { WebXMessageBuffer } from "./WebXMessageBuffer";
|
|
5
4
|
/**
|
|
6
5
|
* Serializes and deserializes WebX instructions and messages.
|
|
7
6
|
*/
|
|
8
7
|
export declare class WebXBinarySerializer {
|
|
9
8
|
private readonly _instructionEncoder;
|
|
10
9
|
private readonly _messageDecoder;
|
|
10
|
+
private readonly _worker;
|
|
11
|
+
private _pending;
|
|
12
|
+
private _nextId;
|
|
11
13
|
/**
|
|
12
14
|
* Creates a new instance of WebXBinarySerializer.
|
|
13
|
-
*
|
|
14
|
-
* @param textureFactory The texture factory used for decoding image data.
|
|
15
15
|
*/
|
|
16
|
-
constructor(
|
|
16
|
+
constructor();
|
|
17
|
+
/**
|
|
18
|
+
* Terminates the Web Worker and clears pending tasks.
|
|
19
|
+
*/
|
|
20
|
+
terminate(): void;
|
|
17
21
|
/**
|
|
18
22
|
* Serializes a WebXInstruction into a binary ArrayBuffer.
|
|
19
23
|
*
|
|
@@ -22,10 +26,11 @@ export declare class WebXBinarySerializer {
|
|
|
22
26
|
*/
|
|
23
27
|
serializeInstruction(instruction: WebXInstruction): ArrayBuffer;
|
|
24
28
|
/**
|
|
25
|
-
* Deserializes a binary message buffer into a WebXMessage object.
|
|
29
|
+
* Deserializes a binary message buffer into a WebXMessage object. A web worker is used if available
|
|
30
|
+
* and the message should be decoded in a separate thread.
|
|
26
31
|
*
|
|
27
|
-
* @param
|
|
32
|
+
* @param messageBuffer The binary message buffer to deserialize.
|
|
28
33
|
* @returns A promise that resolves to the deserialized WebXMessage.
|
|
29
34
|
*/
|
|
30
|
-
deserializeMessage(
|
|
35
|
+
deserializeMessage(messageBuffer: WebXMessageBuffer): Promise<WebXMessage>;
|
|
31
36
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { WebXMessage } from '../message';
|
|
2
|
-
import { WebXTextureFactory } from '../display';
|
|
3
2
|
import { WebXMessageBuffer } from './WebXMessageBuffer';
|
|
4
3
|
/**
|
|
5
4
|
* Decodes binary messages received from the WebX Engine into WebXMessage objects.
|
|
@@ -7,13 +6,11 @@ import { WebXMessageBuffer } from './WebXMessageBuffer';
|
|
|
7
6
|
* WebXMessage implementations.
|
|
8
7
|
*/
|
|
9
8
|
export declare class WebXMessageDecoder {
|
|
10
|
-
private _textureFactory;
|
|
9
|
+
private readonly _textureFactory;
|
|
11
10
|
/**
|
|
12
11
|
* Creates a new instance of WebXMessageDecoder.
|
|
13
|
-
*
|
|
14
|
-
* @param _textureFactory The texture factory used to create textures from image data.
|
|
15
12
|
*/
|
|
16
|
-
constructor(
|
|
13
|
+
constructor();
|
|
17
14
|
/**
|
|
18
15
|
* Decodes a binary message buffer into a WebXMessage object.
|
|
19
16
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|