@nativescript/canvas 2.0.0-beta.2 → 2.0.0-beta.20

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 (201) hide show
  1. package/Canvas/common.d.ts +23 -15
  2. package/Canvas/common.js +127 -55
  3. package/Canvas/common.js.map +1 -1
  4. package/Canvas/index.android.d.ts +1 -0
  5. package/Canvas/index.android.js +53 -88
  6. package/Canvas/index.android.js.map +1 -1
  7. package/Canvas/index.d.ts +2 -0
  8. package/Canvas/index.ios.d.ts +4 -1
  9. package/Canvas/index.ios.js +58 -52
  10. package/Canvas/index.ios.js.map +1 -1
  11. package/Canvas2D/CanvasRenderingContext2D/index.d.ts +14 -0
  12. package/Canvas2D/CanvasRenderingContext2D/index.js +207 -19
  13. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
  14. package/Canvas2D/DOMMatrix/index.d.ts +14 -0
  15. package/Canvas2D/DOMMatrix/index.js +62 -0
  16. package/Canvas2D/DOMMatrix/index.js.map +1 -1
  17. package/Canvas2D/ImageData/index.js +4 -6
  18. package/Canvas2D/ImageData/index.js.map +1 -1
  19. package/Canvas2D/Path2D/index.d.ts +2 -1
  20. package/Canvas2D/Path2D/index.js +3 -12
  21. package/Canvas2D/Path2D/index.js.map +1 -1
  22. package/Dom/Dom.d.ts +20 -1
  23. package/Dom/Dom.js +78 -10
  24. package/Dom/Dom.js.map +1 -1
  25. package/Dom/Group.d.ts +5 -0
  26. package/Dom/Group.js +15 -0
  27. package/Dom/Group.js.map +1 -1
  28. package/Dom/Image.d.ts +1 -0
  29. package/Dom/Image.js +20 -0
  30. package/Dom/Image.js.map +1 -1
  31. package/Dom/Paint.d.ts +4 -0
  32. package/Dom/Paint.js +19 -7
  33. package/Dom/Paint.js.map +1 -1
  34. package/Dom/Shadow.js +9 -0
  35. package/Dom/Shadow.js.map +1 -1
  36. package/Dom/Text.js +11 -1
  37. package/Dom/Text.js.map +1 -1
  38. package/Dom/index.d.ts +1 -0
  39. package/Dom/index.js +1 -0
  40. package/Dom/index.js.map +1 -1
  41. package/Dom/shaders/Gradients.d.ts +3 -0
  42. package/Dom/shaders/Gradients.js +4 -0
  43. package/Dom/shaders/Gradients.js.map +1 -0
  44. package/Dom/shaders/LinearGradient.d.ts +14 -0
  45. package/Dom/shaders/LinearGradient.js +44 -0
  46. package/Dom/shaders/LinearGradient.js.map +1 -0
  47. package/Dom/shaders/TwoPointConicalGradient.d.ts +16 -0
  48. package/Dom/shaders/TwoPointConicalGradient.js +60 -0
  49. package/Dom/shaders/TwoPointConicalGradient.js.map +1 -0
  50. package/Dom/shaders/index.d.ts +2 -0
  51. package/Dom/shaders/index.js +3 -0
  52. package/Dom/shaders/index.js.map +1 -0
  53. package/Dom/shapes/Atlas.d.ts +22 -0
  54. package/Dom/shapes/Atlas.js +60 -0
  55. package/Dom/shapes/Atlas.js.map +1 -0
  56. package/Dom/shapes/Circle.js +11 -0
  57. package/Dom/shapes/Circle.js.map +1 -1
  58. package/Dom/shapes/Line.d.ts +16 -4
  59. package/Dom/shapes/Line.js +13 -8
  60. package/Dom/shapes/Line.js.map +1 -1
  61. package/Dom/shapes/Oval.d.ts +12 -0
  62. package/Dom/shapes/Oval.js +87 -0
  63. package/Dom/shapes/Oval.js.map +1 -0
  64. package/Dom/shapes/Path.d.ts +19 -2
  65. package/Dom/shapes/Path.js +68 -4
  66. package/Dom/shapes/Path.js.map +1 -1
  67. package/Dom/shapes/Points.js +9 -1
  68. package/Dom/shapes/Points.js.map +1 -1
  69. package/Dom/shapes/Rect.js +27 -5
  70. package/Dom/shapes/Rect.js.map +1 -1
  71. package/Dom/shapes/RoundedRect.d.ts +2 -1
  72. package/Dom/shapes/RoundedRect.js +13 -2
  73. package/Dom/shapes/RoundedRect.js.map +1 -1
  74. package/Dom/shapes/index.d.ts +17 -0
  75. package/Dom/shapes/index.js +31 -0
  76. package/Dom/shapes/index.js.map +1 -1
  77. package/WebGL/WebGLRenderingContext/index.d.ts +1 -0
  78. package/WebGL/WebGLRenderingContext/index.js +104 -14
  79. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  80. package/WebGL2/WebGL2RenderingContext/index.d.ts +1 -0
  81. package/WebGL2/WebGL2RenderingContext/index.js +2 -3
  82. package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
  83. package/index.d.ts +0 -1
  84. package/index.js +14 -15
  85. package/index.js.map +1 -1
  86. package/package.json +1 -4
  87. package/platforms/android/canvas-release.aar +0 -0
  88. package/platforms/ios/CanvasNative.xcframework/Info.plist +4 -0
  89. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  90. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +35 -25
  91. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h +50 -4
  92. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +139 -16
  93. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
  94. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  95. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +982 -3319
  96. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +18 -33
  97. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  98. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +18 -33
  99. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/module.modulemap +1 -1
  100. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/NSCCanvas.nib +0 -0
  101. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  102. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +622 -0
  103. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  104. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +70 -50
  105. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h +50 -4
  106. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +139 -16
  107. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
  108. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  109. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  110. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +982 -3319
  111. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +18 -33
  112. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  113. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +18 -33
  114. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +982 -3319
  115. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +18 -33
  116. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  117. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +18 -33
  118. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/module.modulemap +1 -1
  119. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/NSCCanvas.nib +0 -0
  120. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +35 -35
  121. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  122. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +624 -0
  123. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +624 -0
  124. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +297 -397
  125. package/platforms/ios/src/cpp/Helpers.h +3 -4
  126. package/platforms/ios/src/cpp/ImageAssetImpl.cpp +30 -30
  127. package/platforms/ios/src/cpp/ImageAssetImpl.h +8 -5
  128. package/platforms/ios/src/cpp/URLImpl.cpp +73 -0
  129. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +339 -33
  130. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +150 -55
  131. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +409 -3
  132. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +27 -0
  133. package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +19 -48
  134. package/platforms/ios/src/cpp/canvas2d/Path2D.h +19 -0
  135. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +105 -119
  136. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.cpp +37 -7
  137. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.h +10 -0
  138. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.cpp +1766 -1659
  139. package/src-native/ios/NativeScript.podspec +1 -1
  140. package/SVG/Circle.d.ts +0 -11
  141. package/SVG/Circle.js +0 -21
  142. package/SVG/Circle.js.map +0 -1
  143. package/SVG/ClipPath.d.ts +0 -4
  144. package/SVG/ClipPath.js +0 -9
  145. package/SVG/ClipPath.js.map +0 -1
  146. package/SVG/Defs.d.ts +0 -4
  147. package/SVG/Defs.js +0 -9
  148. package/SVG/Defs.js.map +0 -1
  149. package/SVG/Ellipse.d.ts +0 -13
  150. package/SVG/Ellipse.js +0 -26
  151. package/SVG/Ellipse.js.map +0 -1
  152. package/SVG/G.d.ts +0 -7
  153. package/SVG/G.js +0 -9
  154. package/SVG/G.js.map +0 -1
  155. package/SVG/Image.d.ts +0 -11
  156. package/SVG/Image.js +0 -40
  157. package/SVG/Image.js.map +0 -1
  158. package/SVG/Line.d.ts +0 -13
  159. package/SVG/Line.js +0 -26
  160. package/SVG/Line.js.map +0 -1
  161. package/SVG/LinearGradient.d.ts +0 -10
  162. package/SVG/LinearGradient.js +0 -13
  163. package/SVG/LinearGradient.js.map +0 -1
  164. package/SVG/Path.d.ts +0 -7
  165. package/SVG/Path.js +0 -14
  166. package/SVG/Path.js.map +0 -1
  167. package/SVG/Pattern.d.ts +0 -4
  168. package/SVG/Pattern.js +0 -9
  169. package/SVG/Pattern.js.map +0 -1
  170. package/SVG/Polygon.d.ts +0 -7
  171. package/SVG/Polygon.js +0 -14
  172. package/SVG/Polygon.js.map +0 -1
  173. package/SVG/Polyline.d.ts +0 -7
  174. package/SVG/Polyline.js +0 -14
  175. package/SVG/Polyline.js.map +0 -1
  176. package/SVG/Rect.d.ts +0 -8
  177. package/SVG/Rect.js +0 -13
  178. package/SVG/Rect.js.map +0 -1
  179. package/SVG/SVG.d.ts +0 -31
  180. package/SVG/SVG.js +0 -190
  181. package/SVG/SVG.js.map +0 -1
  182. package/SVG/SVGItem.d.ts +0 -5
  183. package/SVG/SVGItem.js +0 -8
  184. package/SVG/SVGItem.js.map +0 -1
  185. package/SVG/Stop.d.ts +0 -5
  186. package/SVG/Stop.js +0 -9
  187. package/SVG/Stop.js.map +0 -1
  188. package/SVG/Symbol.d.ts +0 -4
  189. package/SVG/Symbol.js +0 -9
  190. package/SVG/Symbol.js.map +0 -1
  191. package/SVG/Text.d.ts +0 -14
  192. package/SVG/Text.js +0 -26
  193. package/SVG/Text.js.map +0 -1
  194. package/SVG/Use.d.ts +0 -4
  195. package/SVG/Use.js +0 -9
  196. package/SVG/Use.js.map +0 -1
  197. package/SVG/index.d.ts +0 -18
  198. package/SVG/index.js +0 -19
  199. package/SVG/index.js.map +0 -1
  200. package/platforms/ios/src/cpp/PerIsolateData.cpp +0 -49
  201. package/platforms/ios/src/cpp/PerIsolateData.h +0 -54
@@ -19,7 +19,6 @@ export class Path2D {
19
19
  return this._native;
20
20
  }
21
21
  addPath(path, transform) {
22
- //const addPath = this._getMethod('addPath');
23
22
  if (transform) {
24
23
  this.native.addPath(path.native, transform.native);
25
24
  }
@@ -28,47 +27,39 @@ export class Path2D {
28
27
  }
29
28
  }
30
29
  arc(x, y, radius, startAngle, endAngle, anticlockwise = false) {
31
- //const arc = this._getMethod('arc');
32
30
  this.native.arc(x, y, radius, startAngle, endAngle, anticlockwise ?? false);
33
31
  }
34
32
  arcTo(x1, y1, x2, y2, radius) {
35
- //const arcTo = this._getMethod('arcTo');
36
33
  this.native.arcTo(x1, y1, x2, y2, radius);
37
34
  }
38
35
  bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) {
39
- //const bezierCurveTo = this._getMethod('bezierCurveTo');
40
36
  this.native.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);
41
37
  }
42
38
  closePath() {
43
- //const closePath = this._getMethod('closePath');
44
39
  this.native.closePath();
45
40
  }
46
41
  ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise = false) {
47
- //const ellipse = this._getMethod('ellipse');
48
42
  this.native.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise ?? false);
49
43
  }
50
44
  lineTo(x, y) {
51
- //const lineTo = this._getMethod('lineTo');
52
45
  this.native.lineTo(x, y);
53
46
  }
54
47
  moveTo(x, y) {
55
- //const moveTo = this._getMethod('moveTo');
56
48
  this.native.moveTo(x, y);
57
49
  }
58
50
  quadraticCurveTo(cpx, cpy, x, y) {
59
- //const quadraticCurveTo = this._getMethod('quadraticCurveTo');
60
51
  this.native.quadraticCurveTo(cpx, cpy, x, y);
61
52
  }
62
53
  rect(x, y, width, height) {
63
- //const rect = this._getMethod('rect');
64
54
  this.native.rect(x, y, width, height);
65
55
  }
66
56
  roundRect(x, y, width, height, radii) {
67
- //const roundRect = this._getMethod('roundRect');
68
57
  this.native.roundRect(x, y, width, height, radii);
69
58
  }
59
+ trim(start, end) {
60
+ this.native.trim(start, end);
61
+ }
70
62
  __toSVG() {
71
- //const __toSVG = this._getMethod('__toSVG');
72
63
  return this.native.__toSVG();
73
64
  }
74
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/canvas/Canvas2D/Path2D/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/canvas/Canvas2D/Path2D/index.ts"],"names":[],"mappings":"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"}
package/Dom/Dom.d.ts CHANGED
@@ -1,10 +1,29 @@
1
1
  import { EventData, LayoutBase, ViewBase } from '@nativescript/core';
2
+ import { Canvas } from '../Canvas';
3
+ declare enum State {
4
+ None = 0,
5
+ Pending = 1,
6
+ Invalidating = 2
7
+ }
2
8
  export declare class Dom extends LayoutBase {
3
- _canvas: any;
9
+ _canvas: Canvas;
4
10
  _children: any[];
11
+ _raf: any;
12
+ _state: State;
13
+ _isReady: boolean;
14
+ _onFrameCallback?: (frame: number) => void;
5
15
  constructor();
6
16
  createNativeView(): Object;
7
17
  initNativeView(): void;
18
+ onLoaded(): void;
19
+ onUnloaded(): void;
20
+ onLayout(left: number, top: number, right: number, bottom: number): void;
21
+ onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
22
+ set onFrameCallback(value: (frame: number) => void | null);
8
23
  _ready(args: EventData): void;
24
+ _draw(ts: any): void;
25
+ _bindRaf(): void;
26
+ _dirty(): void;
9
27
  _addViewToNativeVisualTree(view: ViewBase, atIndex?: number): boolean;
10
28
  }
29
+ export {};
package/Dom/Dom.js CHANGED
@@ -1,34 +1,102 @@
1
- import { LayoutBase } from '@nativescript/core';
1
+ import { LayoutBase, Utils, View } from '@nativescript/core';
2
2
  import { Canvas } from '../Canvas';
3
3
  import { Image } from './Image';
4
4
  import { Paint } from './Paint';
5
+ var State;
6
+ (function (State) {
7
+ State[State["None"] = 0] = "None";
8
+ State[State["Pending"] = 1] = "Pending";
9
+ State[State["Invalidating"] = 2] = "Invalidating";
10
+ })(State || (State = {}));
5
11
  export class Dom extends LayoutBase {
6
12
  constructor() {
7
13
  super();
8
14
  this._children = [];
15
+ this._state = State.None;
16
+ this._isReady = false;
17
+ this._onFrameCallback = null;
9
18
  this._canvas = new Canvas();
10
19
  this._canvas.on('ready', this._ready.bind(this));
11
20
  }
12
21
  createNativeView() {
13
- return new android.widget.LinearLayout(this._context);
22
+ if (global.isIOS) {
23
+ return UIView.new();
24
+ }
25
+ if (global.isAndroid) {
26
+ return new android.widget.LinearLayout(this._context);
27
+ }
28
+ return null;
14
29
  }
15
30
  initNativeView() {
16
31
  super.initNativeView();
17
32
  this._addView(this._canvas);
18
33
  }
34
+ onLoaded() {
35
+ super.onLoaded();
36
+ if (this._ready) {
37
+ this._bindRaf();
38
+ }
39
+ }
40
+ onUnloaded() {
41
+ if (this._raf) {
42
+ cancelAnimationFrame(this._raf);
43
+ this._raf = undefined;
44
+ this._state = State.Pending;
45
+ }
46
+ super.onUnloaded();
47
+ }
48
+ onLayout(left, top, right, bottom) {
49
+ super.onLayout(left, top, right, bottom);
50
+ View.layoutChild(this, this._canvas, left, top, right, bottom);
51
+ }
52
+ onMeasure(widthMeasureSpec, heightMeasureSpec) {
53
+ const nativeView = this.nativeView;
54
+ if (nativeView) {
55
+ const width = Utils.layout.getMeasureSpecSize(widthMeasureSpec);
56
+ const height = Utils.layout.getMeasureSpecSize(heightMeasureSpec);
57
+ View.measureChild(this, this._canvas, width, height);
58
+ this.setMeasuredDimension(width, height);
59
+ }
60
+ }
61
+ set onFrameCallback(value) {
62
+ this._onFrameCallback = value;
63
+ }
19
64
  _ready(args) {
20
- console.time('_ready');
21
- for (const child of this._children) {
22
- child.draw();
65
+ this._isReady = true;
66
+ this._dirty();
67
+ this._draw(null);
68
+ }
69
+ _draw(ts) {
70
+ const state = this._state & State.Pending;
71
+ if (state === State.Pending) {
72
+ const ctx = this._canvas.getContext('2d');
73
+ this._state = State.Invalidating;
74
+ ctx.clearRect(0, 0, this._canvas.width, this._canvas.height);
75
+ for (const child of this._children) {
76
+ child.draw();
77
+ }
78
+ this._state = State.None;
23
79
  }
24
- // this._children.forEach((child) => {
25
- // child.draw();
26
- // });
27
- console.timeEnd('_ready');
80
+ this._onFrameCallback?.(ts);
81
+ this._bindRaf();
82
+ }
83
+ _bindRaf() {
84
+ if (!this._isReady) {
85
+ return;
86
+ }
87
+ this._raf = requestAnimationFrame(this._draw.bind(this));
88
+ }
89
+ _dirty() {
90
+ this._state = this._state | State.Pending;
28
91
  }
29
92
  _addViewToNativeVisualTree(view, atIndex) {
30
93
  if (view === this._canvas) {
31
- this.nativeView.addView(this._canvas.nativeView);
94
+ if (global.isIOS) {
95
+ this.nativeView.addSubview(this._canvas.nativeView);
96
+ }
97
+ if (global.isAndroid) {
98
+ this.nativeView.addView(this._canvas.nativeView);
99
+ }
32
100
  return true;
33
101
  }
34
102
  else if (view instanceof Paint || view instanceof Image) {
package/Dom/Dom.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Dom.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/Dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAY,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,MAAM,OAAO,GAAI,SAAQ,UAAU;IAIlC;QACC,KAAK,EAAE,CAAC;QAHT,cAAS,GAAG,EAAE,CAAC;QAId,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,gBAAgB;QACf,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,cAAc;QACb,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,IAAe;QACrB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;YACnC,KAAK,CAAC,IAAI,EAAE,CAAC;SACb;QAED,sCAAsC;QACtC,iBAAiB;QACjB,MAAM;QACN,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IACD,0BAA0B,CAAC,IAAc,EAAE,OAAgB;QAC1D,IAAI,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;SACZ;aAAM,IAAI,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,EAAE;YAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD"}
1
+ {"version":3,"file":"Dom.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/Dom.ts"],"names":[],"mappings":"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"}
package/Dom/Group.d.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  import { Property, ShorthandProperty, Style, ViewBase } from '@nativescript/core';
2
+ import { View } from '@nativescript/core/ui/core/view';
2
3
  import { Paint } from './Paint';
4
+ import { DOMMatrix } from '../Canvas2D/DOMMatrix';
5
+ import { Canvas } from '../Canvas';
3
6
  export declare const matrixProperty: Property<Group, DOMMatrix>;
4
7
  export declare const originProperty: ShorthandProperty<Style, {
5
8
  x: number;
@@ -15,6 +18,8 @@ export declare class Group extends Paint {
15
18
  constructor();
16
19
  set origin(value: any);
17
20
  get origin(): any;
21
+ _addCanvas(canvas: Canvas): void;
22
+ addChild(view: View): void;
18
23
  draw(): void;
19
24
  _addViewToNativeVisualTree(view: ViewBase, _atIndex?: number): boolean;
20
25
  _removeViewFromNativeVisualTree(view: ViewBase): void;
package/Dom/Group.js CHANGED
@@ -2,6 +2,7 @@ import { Property, ShorthandProperty, Style } from '@nativescript/core';
2
2
  import { originXProperty, originYProperty } from '@nativescript/core/ui/core/view';
3
3
  import { Image } from './Image';
4
4
  import { Paint } from './Paint';
5
+ import { DOMMatrix } from '../Canvas2D/DOMMatrix';
5
6
  export const matrixProperty = new Property({
6
7
  name: 'matrix',
7
8
  });
@@ -159,6 +160,7 @@ export class Group extends Paint {
159
160
  parseTransformation(item, matrix);
160
161
  });
161
162
  this._matrix = matrix;
163
+ this.invalidate();
162
164
  }
163
165
  }
164
166
  set origin(value) {
@@ -169,6 +171,19 @@ export class Group extends Paint {
169
171
  // @ts-ignore
170
172
  return this.style.origin;
171
173
  }
174
+ _addCanvas(canvas) {
175
+ this._canvas = canvas;
176
+ for (const child of this._children) {
177
+ child._addCanvas(canvas);
178
+ }
179
+ }
180
+ addChild(view) {
181
+ if (view instanceof Paint || view instanceof Image) {
182
+ view._addCanvas(this._canvas);
183
+ view._inGroup = true;
184
+ this._children.add(view);
185
+ }
186
+ }
172
187
  draw() {
173
188
  if (this._children.size > 0) {
174
189
  const context = this._canvas.getContext('2d');
package/Dom/Group.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/Group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/Group.ts"],"names":[],"mappings":"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"}
package/Dom/Image.d.ts CHANGED
@@ -8,5 +8,6 @@ export declare class Image extends View {
8
8
  _canvas: Canvas;
9
9
  _addCanvas(canvas: Canvas): void;
10
10
  image: any;
11
+ invalidate(): void;
11
12
  draw(): void;
12
13
  }
package/Dom/Image.js CHANGED
@@ -1,23 +1,43 @@
1
1
  import { Property, View } from '@nativescript/core';
2
+ import { Dom } from './Dom';
3
+ import { Paint } from './Paint';
2
4
  const xProperty = new Property({
3
5
  name: 'x',
4
6
  valueConverter(value) {
5
7
  return parseFloat(value);
6
8
  },
9
+ valueChanged(target, oldValue, newValue) {
10
+ target.invalidate();
11
+ },
7
12
  });
8
13
  const yProperty = new Property({
9
14
  name: 'y',
10
15
  valueConverter(value) {
11
16
  return parseFloat(value);
12
17
  },
18
+ valueChanged(target, oldValue, newValue) {
19
+ target.invalidate();
20
+ },
13
21
  });
14
22
  const imageProperty = new Property({
15
23
  name: 'image',
24
+ valueChanged(target, oldValue, newValue) {
25
+ target.invalidate();
26
+ },
16
27
  });
17
28
  export class Image extends View {
18
29
  _addCanvas(canvas) {
19
30
  this._canvas = canvas;
20
31
  }
32
+ invalidate() {
33
+ const parent = this.parent;
34
+ if (parent instanceof Dom) {
35
+ parent._dirty?.();
36
+ }
37
+ else if (parent instanceof Paint) {
38
+ parent.invalidate();
39
+ }
40
+ }
21
41
  draw() {
22
42
  if (this.image === undefined) {
23
43
  return;
package/Dom/Image.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/Image.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,QAAQ,EAAE,IAAI,EAAoB,MAAM,oBAAoB,CAAC;AAI/F,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAgB;IAC7C,IAAI,EAAE,GAAG;IACT,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAgB;IAC7C,IAAI,EAAE,GAAG;IACT,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAa;IAC9C,IAAI,EAAE,OAAO;CACb,CAAC,CAAC;AAEH,MAAM,OAAO,KAAM,SAAQ,IAAI;IAO9B,UAAU,CAAC,MAAc;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAID,IAAI;QACH,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC7B,OAAO;SACP;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAQ,CAAC;QAErD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAY,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC;CACD;AAED,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"Image.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/Image.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,QAAQ,EAAE,IAAI,EAAoB,MAAM,oBAAoB,CAAC;AAG/F,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAgB;IAC7C,IAAI,EAAE,GAAG;IACT,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAgB;IAC7C,IAAI,EAAE,GAAG;IACT,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAa;IAC9C,IAAI,EAAE,OAAO;IACb,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,OAAO,KAAM,SAAQ,IAAI;IAO9B,UAAU,CAAC,MAAc;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAID,UAAU;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,YAAY,GAAG,EAAE;YAC1B,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;SAClB;aAAM,IAAI,MAAM,YAAY,KAAK,EAAE;YACnC,MAAM,CAAC,UAAU,EAAE,CAAC;SACpB;IACF,CAAC;IAED,IAAI;QACH,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC7B,OAAO;SACP;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAQ,CAAC;QAErD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAY,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC;CACD;AAED,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC"}
package/Dom/Paint.d.ts CHANGED
@@ -2,13 +2,17 @@ import { LayoutBase, Property } from '@nativescript/core';
2
2
  import { Canvas } from '../Canvas';
3
3
  export declare const paintStyleProperty: any;
4
4
  export declare const strokeWidthProperty: Property<Paint, number>;
5
+ export declare const strokeJoinProperty: Property<Paint, "bevel" | "miter" | "round">;
5
6
  export declare class Paint extends LayoutBase {
6
7
  strokeWidth: number;
8
+ strokeJoin: 'bevel' | 'miter' | 'round';
7
9
  _canvas: Canvas;
8
10
  _addCanvas(canvas: Canvas): void;
9
11
  paintStyle: 'fill' | 'stroke';
10
12
  _paintStyleDirty: boolean;
11
13
  _inGroup: boolean;
14
+ invalidate(): void;
15
+ _getStrokeJoin(): any;
12
16
  _getStrokeWidth(): any;
13
17
  _getPaintStyle(): any;
14
18
  _getColor(): any;
package/Dom/Paint.js CHANGED
@@ -1,11 +1,12 @@
1
1
  import { Color, LayoutBase, Property } from '@nativescript/core';
2
2
  export const paintStyleProperty = new Property({
3
3
  name: 'paintStyle',
4
- defaultValue: 'fill',
5
4
  });
6
5
  export const strokeWidthProperty = new Property({
7
6
  name: 'strokeWidth',
8
- defaultValue: 1,
7
+ });
8
+ export const strokeJoinProperty = new Property({
9
+ name: 'strokeJoin',
9
10
  });
10
11
  const defaultColor = new Color('black');
11
12
  export class Paint extends LayoutBase {
@@ -20,16 +21,25 @@ export class Paint extends LayoutBase {
20
21
  [paintStyleProperty.setNative](value) {
21
22
  this._paintStyleDirty = true;
22
23
  }
24
+ invalidate() {
25
+ const parent = this.parent;
26
+ if (parent != null) {
27
+ parent._dirty?.();
28
+ }
29
+ }
30
+ _getStrokeJoin() {
31
+ return this.parent?.strokeJoin ?? this.strokeJoin ?? 'miter';
32
+ }
23
33
  _getStrokeWidth() {
24
- return this.parent?.strokeWidth ?? this.strokeWidth;
34
+ return this.parent?.strokeWidth ?? this.strokeWidth ?? 1;
25
35
  }
26
36
  _getPaintStyle() {
27
37
  const paintStyle = this.paintStyle;
28
- if (paintStyle !== 'fill') {
38
+ if (paintStyle === 'stroke') {
29
39
  return paintStyle;
30
40
  }
31
41
  if (this._inGroup) {
32
- return this.parent.paintStyle;
42
+ return this.parent?._getPaintStyle?.();
33
43
  }
34
44
  return 'fill';
35
45
  }
@@ -45,7 +55,8 @@ export class Paint extends LayoutBase {
45
55
  const color = this._getColor();
46
56
  const context = this._canvas.getContext('2d');
47
57
  const style = this._getPaintStyle();
48
- context.closePath();
58
+ //context.closePath();
59
+ context.globalAlpha = this.opacity;
49
60
  if (style === 'fill') {
50
61
  context.fillStyle = color;
51
62
  context.fill();
@@ -55,9 +66,10 @@ export class Paint extends LayoutBase {
55
66
  context.strokeStyle = color;
56
67
  context.stroke();
57
68
  }
58
- context.beginPath();
69
+ //context.beginPath();
59
70
  }
60
71
  }
61
72
  paintStyleProperty.register(Paint);
62
73
  strokeWidthProperty.register(Paint);
74
+ strokeJoinProperty.register(Paint);
63
75
  //# sourceMappingURL=Paint.js.map
package/Dom/Paint.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Paint.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/Paint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGjE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,QAAQ,CAA2B;IACxE,IAAI,EAAE,YAAY;IAClB,YAAY,EAAE,MAAM;CACpB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,QAAQ,CAAgB;IAC9D,IAAI,EAAE,aAAa;IACnB,YAAY,EAAE,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACxC,MAAM,OAAO,KAAM,SAAQ,UAAU;IAArC;;QASC,qBAAgB,GAAG,KAAK,CAAC;QAEzB,aAAQ,GAAG,KAAK,CAAC;IAiDlB,CAAC;IAzDA,UAAU,CAAC,MAAc;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAQD,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,KAAK;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,eAAe;QACd,OAAQ,IAAI,CAAC,MAAc,EAAE,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;IAC9D,CAAC;IACD,cAAc;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,UAAU,KAAK,MAAM,EAAE;YAC1B,OAAO,UAAU,CAAC;SAClB;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAQ,IAAI,CAAC,MAAc,CAAC,UAAU,CAAC;SACvC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,SAAS;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC;QACzC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACtB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,EAAE;YAChD,OAAO,GAAG,CAAC;SACX;QACD,OAAQ,IAAI,CAAC,MAAc,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,CAAC;IAChD,CAAC;IAED,IAAI;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAoC,CAAC;QAEjF,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEpC,OAAO,CAAC,SAAS,EAAE,CAAC;QAEpB,IAAI,KAAK,KAAK,MAAM,EAAE;YACrB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC1B,OAAO,CAAC,IAAI,EAAE,CAAC;SACf;aAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;YAC9B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;SACjB;QAED,OAAO,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;CACD;AAED,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"Paint.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/Paint.ts"],"names":[],"mappings":"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"}
package/Dom/Shadow.js CHANGED
@@ -5,18 +5,27 @@ export const dxProperty = new Property({
5
5
  valueConverter(value) {
6
6
  return parseFloat(value);
7
7
  },
8
+ valueChanged(target, oldValue, newValue) {
9
+ target.invalidate();
10
+ },
8
11
  });
9
12
  export const dyProperty = new Property({
10
13
  name: 'dy',
11
14
  valueConverter(value) {
12
15
  return parseFloat(value);
13
16
  },
17
+ valueChanged(target, oldValue, newValue) {
18
+ target.invalidate();
19
+ },
14
20
  });
15
21
  export const blurProperty = new Property({
16
22
  name: 'blur',
17
23
  valueConverter(value) {
18
24
  return parseFloat(value);
19
25
  },
26
+ valueChanged(target, oldValue, newValue) {
27
+ target.invalidate();
28
+ },
20
29
  });
21
30
  export class Shadow extends Paint {
22
31
  }
package/Dom/Shadow.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Shadow.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/Shadow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAiB;IACtD,IAAI,EAAE,IAAI;IACV,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAiB;IACtD,IAAI,EAAE,IAAI;IACV,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAiB;IACxD,IAAI,EAAE,MAAM;IACZ,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,OAAO,MAAO,SAAQ,KAAK;CAIhC;AAED,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5B,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"Shadow.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/Shadow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAiB;IACtD,IAAI,EAAE,IAAI;IACV,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAiB;IACtD,IAAI,EAAE,IAAI;IACV,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAiB;IACxD,IAAI,EAAE,MAAM;IACZ,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,OAAO,MAAO,SAAQ,KAAK;CAIhC;AAED,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5B,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC"}
package/Dom/Text.js CHANGED
@@ -5,15 +5,24 @@ const xProperty = new Property({
5
5
  valueConverter(value) {
6
6
  return parseFloat(value);
7
7
  },
8
+ valueChanged(target, oldValue, newValue) {
9
+ target.invalidate();
10
+ },
8
11
  });
9
12
  const yProperty = new Property({
10
13
  name: 'y',
11
14
  valueConverter(value) {
12
15
  return parseFloat(value);
13
16
  },
17
+ valueChanged(target, oldValue, newValue) {
18
+ target.invalidate();
19
+ },
14
20
  });
15
21
  const textProperty = new Property({
16
22
  name: 'text',
23
+ valueChanged(target, oldValue, newValue) {
24
+ target.invalidate();
25
+ },
17
26
  });
18
27
  export class Text extends Paint {
19
28
  set font(value) {
@@ -37,7 +46,8 @@ export class Text extends Paint {
37
46
  break;
38
47
  case 'stroke':
39
48
  context.strokeStyle = color;
40
- context.lineWidth = this.strokeWidth;
49
+ context.lineWidth = this._getStrokeWidth();
50
+ context.lineJoin = this._getStrokeJoin();
41
51
  context.strokeText(this.text, this.x, this.y);
42
52
  break;
43
53
  }
package/Dom/Text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/Text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAU,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAe;IAC5C,IAAI,EAAE,GAAG;IACT,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAe;IAC5C,IAAI,EAAE,GAAG;IACT,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAe;IAC/C,IAAI,EAAE,MAAM;CACZ,CAAC,CAAC;AAEH,MAAM,OAAO,IAAK,SAAQ,KAAK;IAK9B,IAAI,IAAI,CAAC,KAAK;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,IAAI;QACH,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YAClC,OAAO;SACP;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAQ,CAAC;QAErD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YACnC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;SAC1B;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,QAAQ,KAAK,EAAE;YACd,KAAK,MAAM;gBACV,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM;YACP,KAAK,QAAQ;gBACZ,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC5B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;gBACrC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9C,MAAM;SACP;IACF,CAAC;CACD;AAED,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACzB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/Text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAU,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAe;IAC5C,IAAI,EAAE,GAAG;IACT,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAe;IAC5C,IAAI,EAAE,GAAG;IACT,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAe;IAC/C,IAAI,EAAE,MAAM;IACZ,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,OAAO,IAAK,SAAQ,KAAK;IAK9B,IAAI,IAAI,CAAC,KAAK;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,IAAI;QACH,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YAClC,OAAO;SACP;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAQ,CAAC;QAErD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YACnC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;SAC1B;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,QAAQ,KAAK,EAAE;YACd,KAAK,MAAM;gBACV,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM;YACP,KAAK,QAAQ;gBACZ,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC5B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC3C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9C,MAAM;SACP;IACF,CAAC;CACD;AAED,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACzB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC"}
package/Dom/index.d.ts CHANGED
@@ -6,3 +6,4 @@ export * from './Paint';
6
6
  export * from './Fill';
7
7
  export * from './Text';
8
8
  export * from './Shadow';
9
+ export * from './shaders';
package/Dom/index.js CHANGED
@@ -6,4 +6,5 @@ export * from './Paint';
6
6
  export * from './Fill';
7
7
  export * from './Text';
8
8
  export * from './Shadow';
9
+ export * from './shaders';
9
10
  //# sourceMappingURL=index.js.map
package/Dom/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/canvas/Dom/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Paint } from '../Paint';
2
+ export declare class Gradients extends Paint {
3
+ }
@@ -0,0 +1,4 @@
1
+ import { Paint } from '../Paint';
2
+ export class Gradients extends Paint {
3
+ }
4
+ //# sourceMappingURL=Gradients.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Gradients.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shaders/Gradients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,OAAO,SAAU,SAAQ,KAAK;CAAG"}
@@ -0,0 +1,14 @@
1
+ import { Gradients } from './Gradients';
2
+ export declare class LinearGradient extends Gradients {
3
+ start: {
4
+ x: number;
5
+ y: number;
6
+ };
7
+ end: {
8
+ x: number;
9
+ y: number;
10
+ };
11
+ colors: string[];
12
+ _getColor(): import("../..").CanvasGradient;
13
+ draw(): void;
14
+ }
@@ -0,0 +1,44 @@
1
+ import { Property } from '@nativescript/core';
2
+ import { Gradients } from './Gradients';
3
+ const startProperty = new Property({
4
+ name: 'start',
5
+ valueChanged(target, oldValue, newValue) {
6
+ target.invalidate();
7
+ },
8
+ });
9
+ const endProperty = new Property({
10
+ name: 'end',
11
+ valueChanged(target, oldValue, newValue) {
12
+ target.invalidate();
13
+ },
14
+ });
15
+ const colorsProperty = new Property({
16
+ name: 'colors',
17
+ valueChanged(target, oldValue, newValue) {
18
+ target.invalidate();
19
+ },
20
+ });
21
+ export class LinearGradient extends Gradients {
22
+ _getColor() {
23
+ const ctx = this._canvas.getContext('2d');
24
+ const gradient = ctx.createLinearGradient(this.start.x, this.start.y, this.end.x, this.end.y);
25
+ for (let i = 0; i < this.colors.length; i++) {
26
+ gradient.addColorStop(i, this.colors[i]);
27
+ }
28
+ return gradient;
29
+ }
30
+ draw() {
31
+ const ctx = this._canvas.getContext('2d');
32
+ const gradient = this._getColor();
33
+ if (this._getPaintStyle() === 'stroke') {
34
+ ctx.strokeStyle = gradient;
35
+ }
36
+ else {
37
+ ctx.fillStyle = gradient;
38
+ }
39
+ }
40
+ }
41
+ startProperty.register(LinearGradient);
42
+ endProperty.register(LinearGradient);
43
+ colorsProperty.register(LinearGradient);
44
+ //# sourceMappingURL=LinearGradient.js.map