Skip to content

Commit 91ef2f9

Browse files
committed
fix(canvas): add globals
1 parent 14d36f5 commit 91ef2f9

File tree

7 files changed

+71
-4
lines changed

7 files changed

+71
-4
lines changed

packages/canvas/Canvas2D/DOMMatrix/DOMMatrix.android.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import { DOMMatrixBase } from './common';
33
export class DOMMatrix extends DOMMatrixBase {
44
constructor(instance) {
55
super(instance);
6+
if (!instance) {
7+
this.nativeInstance = org.nativescript.canvas.TNSCanvas.createSVGMatrix();
8+
}
69
}
710

811
get a(): number {

packages/canvas/Canvas2D/DOMMatrix/DOMMatrix.ios.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import {DOMMatrixBase} from './common';
33
export class DOMMatrix extends DOMMatrixBase {
44
constructor(instance) {
55
super(instance);
6+
if (!this.nativeInstance) {
7+
this.nativeInstance = TNSCanvas.createSVGMatrix();
8+
}
69
}
710

811
get a(): number {
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export declare abstract class ImageBitmapBase {
2+
private nativeInstance;
3+
constructor(nativeInstance: any);
4+
get native(): any;
5+
abstract readonly width: number;
6+
abstract readonly height: number;
7+
abstract close(): any;
8+
}

packages/canvas/ImageBitmap/common.js

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/canvas/ImageBitmap/common.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/canvas/index.ts

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,33 @@ export * from './WebGL';
1313
export * from './WebGL2';
1414
export * from './SVG';
1515

16+
import { ImageBitmap } from './ImageBitmap';
17+
1618
export * from './ImageBitmap';
1719

1820
export {CanvasRenderingContext2D} from './Canvas2D/CanvasRenderingContext2D';
1921
export {WebGLRenderingContext} from './WebGL/WebGLRenderingContext';
2022
export {WebGL2RenderingContext} from './WebGL2/WebGL2RenderingContext';
21-
import {CanvasPattern, CanvasGradient, Path2D} from './Canvas2D';
23+
24+
import {CanvasPattern, CanvasGradient, Path2D, ImageData, DOMMatrix} from './Canvas2D';
25+
26+
Object.defineProperty(global, 'CanvasRenderingContext2D', {
27+
value: CanvasRenderingContext2D,
28+
configurable: true,
29+
writable: true,
30+
});
31+
32+
Object.defineProperty(global, 'WebGLRenderingContext', {
33+
value: WebGLRenderingContext,
34+
configurable: true,
35+
writable: true,
36+
});
37+
38+
Object.defineProperty(global, 'WebGL2RenderingContext', {
39+
value: WebGL2RenderingContext,
40+
configurable: true,
41+
writable: true,
42+
});
2243

2344
Object.defineProperty(global, 'CanvasPattern', {
2445
value: CanvasPattern,
@@ -32,7 +53,6 @@ Object.defineProperty(global, 'CanvasGradient', {
3253
writable: true,
3354
});
3455

35-
3656
Object.defineProperty(global, 'TextEncoder', {
3757
value: TextEncoder,
3858
configurable: true,
@@ -45,9 +65,26 @@ Object.defineProperty(global, 'TextDecoder', {
4565
writable: true,
4666
});
4767

48-
4968
Object.defineProperty(global, 'Path2D', {
5069
value: Path2D,
5170
configurable: true,
5271
writable: true,
5372
});
73+
74+
Object.defineProperty(global, 'ImageData', {
75+
value: ImageData,
76+
configurable: true,
77+
writable: true,
78+
});
79+
80+
Object.defineProperty(global, 'DOMMatrix', {
81+
value: DOMMatrix,
82+
configurable: true,
83+
writable: true,
84+
});
85+
86+
Object.defineProperty(global, 'ImageBitmap', {
87+
value: ImageBitmap,
88+
configurable: true,
89+
writable: true,
90+
});

packages/canvas/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@nativescript/canvas",
3-
"version": "1.0.0-alpha.3",
3+
"version": "1.0.0-alpha.5",
44
"description": "DOM Canvas API for NativeScript",
55
"main": "index",
66
"typings": "index.d.ts",

0 commit comments

Comments
 (0)