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

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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinearGradient.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shaders/LinearGradient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,aAAa,GAAG,IAAI,QAAQ,CAA2C;IAC5E,IAAI,EAAE,OAAO;IACb,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAI,QAAQ,CAA2C;IAC1E,IAAI,EAAE,KAAK;IACX,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,QAAQ,CAA2B;IAC7D,IAAI,EAAE,QAAQ;IACd,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,OAAO,cAAe,SAAQ,SAAS;IAK5C,SAAS;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE9F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACzC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,IAAI;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,QAAQ,EAAE;YACvC,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC;SAC3B;aAAM;YACN,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;SACzB;IACF,CAAC;CACD;AAED,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACvC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACrC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Gradients } from './Gradients';
2
+ export declare class TwoPointConicalGradient extends Gradients {
3
+ start: {
4
+ x: number;
5
+ y: number;
6
+ };
7
+ end: {
8
+ x: number;
9
+ y: number;
10
+ };
11
+ colors: string[];
12
+ startR: number;
13
+ endR: number;
14
+ _getColor(): import("../..").CanvasGradient;
15
+ draw(): void;
16
+ }
@@ -0,0 +1,60 @@
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 startRProperty = new Property({
10
+ name: 'startR',
11
+ valueConverter: parseFloat,
12
+ valueChanged(target, oldValue, newValue) {
13
+ target.invalidate();
14
+ },
15
+ });
16
+ const endProperty = new Property({
17
+ name: 'end',
18
+ valueChanged(target, oldValue, newValue) {
19
+ target.invalidate();
20
+ },
21
+ });
22
+ const endRProperty = new Property({
23
+ name: 'endR',
24
+ valueConverter: parseFloat,
25
+ valueChanged(target, oldValue, newValue) {
26
+ target.invalidate();
27
+ },
28
+ });
29
+ const colorsProperty = new Property({
30
+ name: 'colors',
31
+ valueChanged(target, oldValue, newValue) {
32
+ target.invalidate();
33
+ },
34
+ });
35
+ export class TwoPointConicalGradient extends Gradients {
36
+ _getColor() {
37
+ const ctx = this._canvas.getContext('2d');
38
+ const gradient = ctx.createRadialGradient(this.start.x, this.start.y, this.startR, this.end.x, this.end.y, this.endR);
39
+ for (let i = 0; i < this.colors.length; i++) {
40
+ gradient.addColorStop(i, this.colors[i]);
41
+ }
42
+ return gradient;
43
+ }
44
+ draw() {
45
+ const ctx = this._canvas.getContext('2d');
46
+ const gradient = this._getColor();
47
+ if (this._getPaintStyle() === 'stroke') {
48
+ ctx.strokeStyle = gradient;
49
+ }
50
+ else {
51
+ ctx.fillStyle = gradient;
52
+ }
53
+ }
54
+ }
55
+ startProperty.register(TwoPointConicalGradient);
56
+ endProperty.register(TwoPointConicalGradient);
57
+ colorsProperty.register(TwoPointConicalGradient);
58
+ startRProperty.register(TwoPointConicalGradient);
59
+ endRProperty.register(TwoPointConicalGradient);
60
+ //# sourceMappingURL=TwoPointConicalGradient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwoPointConicalGradient.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shaders/TwoPointConicalGradient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAoD;IACrF,IAAI,EAAE,OAAO;IACb,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAkC;IACpE,IAAI,EAAE,QAAQ;IACd,cAAc,EAAE,UAAU;IAC1B,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAoD;IACnF,IAAI,EAAE,KAAK;IACX,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAkC;IAClE,IAAI,EAAE,MAAM;IACZ,cAAc,EAAE,UAAU;IAC1B,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAoC;IACtE,IAAI,EAAE,QAAQ;IACd,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,OAAO,uBAAwB,SAAQ,SAAS;IAOrD,SAAS;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACzC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,IAAI;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,QAAQ,EAAE;YACvC,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC;SAC3B;aAAM;YACN,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;SACzB;IACF,CAAC;CACD;AAED,aAAa,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;AAChD,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;AAC9C,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;AACjD,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;AACjD,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './LinearGradient';
2
+ export * from './TwoPointConicalGradient';
@@ -0,0 +1,3 @@
1
+ export * from './LinearGradient';
2
+ export * from './TwoPointConicalGradient';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shaders/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { ViewBase } from '@nativescript/core';
2
+ import { Paint } from '../Paint';
3
+ export declare class Atlas extends Paint {
4
+ image: any;
5
+ sprites: {
6
+ x: number;
7
+ y: number;
8
+ width: number;
9
+ height: number;
10
+ }[];
11
+ transforms: {
12
+ scos: number;
13
+ ssin: number;
14
+ tx: number;
15
+ ty: number;
16
+ }[];
17
+ colors: string[];
18
+ blendMode: GlobalCompositeOperation;
19
+ _children: Paint[];
20
+ draw(): void;
21
+ _addViewToNativeVisualTree(view: ViewBase, atIndex?: number): boolean;
22
+ }
@@ -0,0 +1,60 @@
1
+ import { Property } from '@nativescript/core';
2
+ import { Paint } from '../Paint';
3
+ const imageProperty = new Property({
4
+ name: 'image',
5
+ valueChanged(target, oldValue, newValue) {
6
+ target.invalidate();
7
+ },
8
+ });
9
+ const spritesProperty = new Property({
10
+ name: 'sprites',
11
+ valueChanged(target, oldValue, newValue) {
12
+ target.invalidate();
13
+ },
14
+ });
15
+ const transformsProperty = new Property({
16
+ name: 'transforms',
17
+ valueChanged(target, oldValue, newValue) {
18
+ target.invalidate();
19
+ },
20
+ });
21
+ const colorsProperty = new Property({
22
+ name: 'colors',
23
+ valueChanged(target, oldValue, newValue) {
24
+ target.invalidate();
25
+ },
26
+ });
27
+ const blendModeProperty = new Property({
28
+ name: 'blendMode',
29
+ defaultValue: 'destination-over',
30
+ valueChanged(target, oldValue, newValue) {
31
+ target.invalidate();
32
+ },
33
+ });
34
+ export class Atlas extends Paint {
35
+ constructor() {
36
+ super(...arguments);
37
+ this._children = [];
38
+ }
39
+ draw() {
40
+ const context = this._canvas.getContext('2d');
41
+ context.drawAtlas(this.image, this.transforms, this.sprites, this.colors ?? null, this.blendMode);
42
+ }
43
+ _addViewToNativeVisualTree(view, atIndex) {
44
+ if (view === this._canvas) {
45
+ this.nativeView.addView(this._canvas.nativeView);
46
+ return true;
47
+ }
48
+ else if (view instanceof Paint) {
49
+ view._canvas = this._canvas;
50
+ this._children.push(view);
51
+ }
52
+ return false;
53
+ }
54
+ }
55
+ imageProperty.register(Atlas);
56
+ spritesProperty.register(Atlas);
57
+ transformsProperty.register(Atlas);
58
+ colorsProperty.register(Atlas);
59
+ blendModeProperty.register(Atlas);
60
+ //# sourceMappingURL=Atlas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Atlas.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shapes/Atlas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,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,eAAe,GAAG,IAAI,QAAQ,CAAmE;IACtG,IAAI,EAAE,SAAS;IACf,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,IAAI,QAAQ,CAAkE;IACxG,IAAI,EAAE,YAAY;IAClB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAkB;IACpD,IAAI,EAAE,QAAQ;IACd,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAI,QAAQ,CAAkC;IACvE,IAAI,EAAE,WAAW;IACjB,YAAY,EAAE,kBAAkB;IAChC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,OAAO,KAAM,SAAQ,KAAK;IAAhC;;QAMC,cAAS,GAAY,EAAE,CAAC;IAiBzB,CAAC;IAfA,IAAI;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAoC,CAAC;QACjF,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnG,CAAC;IAED,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,EAAE;YACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAED,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9B,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/B,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC"}
@@ -5,18 +5,27 @@ export const cxProperty = 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 cyProperty = new Property({
10
13
  name: 'cy',
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 rProperty = new Property({
16
22
  name: 'r',
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 const cProperty = new ShorthandProperty({
22
31
  name: 'c',
@@ -71,6 +80,7 @@ export class Circle extends Paint {
71
80
  case 'stroke':
72
81
  context.strokeStyle = color;
73
82
  context.lineWidth = child._getStrokeWidth();
83
+ context.lineJoin = child._getStrokeJoin();
74
84
  context.stroke();
75
85
  break;
76
86
  }
@@ -86,6 +96,7 @@ export class Circle extends Paint {
86
96
  return true;
87
97
  }
88
98
  else if (view instanceof Paint) {
99
+ view._canvas = this._canvas;
89
100
  this._children.push(view);
90
101
  }
91
102
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"Circle.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shapes/Circle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Circle.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shapes/Circle.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,21 @@
1
1
  import { Property } from '@nativescript/core';
2
2
  import { Paint } from '../Paint';
3
- export declare const p1Property: Property<Line, number>;
4
- export declare const p2Property: Property<Line, number>;
3
+ export declare const p1Property: Property<Line, {
4
+ x: number;
5
+ y: number;
6
+ }>;
7
+ export declare const p2Property: Property<Line, {
8
+ x: number;
9
+ y: number;
10
+ }>;
5
11
  export declare class Line extends Paint {
6
- p1: number;
7
- p2: number;
12
+ p1: {
13
+ x: number;
14
+ y: number;
15
+ };
16
+ p2: {
17
+ x: number;
18
+ y: number;
19
+ };
8
20
  draw(): void;
9
21
  }
@@ -1,15 +1,16 @@
1
1
  import { Property } from '@nativescript/core';
2
2
  import { Paint } from '../Paint';
3
+ import { Path2D } from '../../Canvas2D';
3
4
  export const p1Property = new Property({
4
5
  name: 'p1',
5
- valueConverter(value) {
6
- return parseFloat(value);
6
+ valueChanged(target, oldValue, newValue) {
7
+ target.invalidate();
7
8
  },
8
9
  });
9
10
  export const p2Property = new Property({
10
11
  name: 'p2',
11
- valueConverter(value) {
12
- return parseFloat(value);
12
+ valueChanged(target, oldValue, newValue) {
13
+ target.invalidate();
13
14
  },
14
15
  });
15
16
  export class Line extends Paint {
@@ -20,14 +21,18 @@ export class Line extends Paint {
20
21
  const override_color = this.parent._overrideColor;
21
22
  const context = this._canvas.getContext('2d');
22
23
  const line = new Path2D();
23
- line.lineTo(this.p1, this.p2);
24
- const style = this.paintStyle;
24
+ line.moveTo(this.p1.x, this.p1.y);
25
+ line.lineTo(this.p2.x, this.p2.y);
26
+ const color = this._getColor();
27
+ const style = this._getPaintStyle();
25
28
  if (style === 'fill') {
26
- context.fillStyle = this.color.hex;
29
+ context.fillStyle = color;
27
30
  context.fill(line);
28
31
  }
29
32
  else if (style === 'stroke') {
30
- context.strokeStyle = this.color.hex;
33
+ context.strokeStyle = color;
34
+ context.lineWidth = this._getStrokeWidth();
35
+ context.lineJoin = this._getStrokeJoin();
31
36
  context.stroke(line);
32
37
  }
33
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Line.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shapes/Line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,QAAQ,EAAoB,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAe;IACpD,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,CAAe;IACpD,IAAI,EAAE,IAAI;IACV,cAAc,CAAC,KAAK;QACnB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,OAAO,IAAK,SAAQ,KAAK;IAI9B,IAAI;QACH,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;YACnD,OAAO;SACP;QACD,MAAM,cAAc,GAAI,IAAI,CAAC,MAAc,CAAC,cAAc,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAoC,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,IAAI,KAAK,KAAK,MAAM,EAAE;YACrB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;aAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;YAC9B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACrB;IACF,CAAC;CACD;AAED,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1B,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"Line.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shapes/Line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,QAAQ,EAAoB,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAiC;IACtE,IAAI,EAAE,IAAI;IACV,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,CAAiC;IACtE,IAAI,EAAE,IAAI;IACV,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,OAAO,IAAK,SAAQ,KAAK;IAI9B,IAAI;QACH,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;YACnD,OAAO;SACP;QACD,MAAM,cAAc,GAAI,IAAI,CAAC,MAAc,CAAC,cAAc,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAoC,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEpC,IAAI,KAAK,KAAK,MAAM,EAAE;YACrB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;aAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;YAC9B,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YAC5B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACrB;IACF,CAAC;CACD;AAED,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1B,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { ViewBase } from '@nativescript/core';
2
+ import { Paint } from '../Paint';
3
+ import { Rect } from './Rect';
4
+ export declare class Oval extends Rect {
5
+ x: number;
6
+ y: number;
7
+ width: number;
8
+ height: number;
9
+ _children: Paint[];
10
+ draw(): void;
11
+ _addViewToNativeVisualTree(view: ViewBase, atIndex?: number): boolean;
12
+ }
@@ -0,0 +1,87 @@
1
+ import { Paint } from '../Paint';
2
+ import { Shadow } from '../Shadow';
3
+ import { Rect } from './Rect';
4
+ export class Oval extends Rect {
5
+ constructor() {
6
+ super(...arguments);
7
+ this._children = [];
8
+ }
9
+ draw() {
10
+ const context = this._canvas.getContext('2d');
11
+ const color = this._getColor();
12
+ if (this._children.length > 0) {
13
+ this._children.forEach((child) => {
14
+ const child_color = child._getColor();
15
+ const paintStyle = child._getPaintStyle();
16
+ switch (paintStyle) {
17
+ case 'fill':
18
+ context.fillStyle = color;
19
+ if (child instanceof Shadow) {
20
+ const dx = context.shadowOffsetX;
21
+ const dy = context.shadowOffsetY;
22
+ const blur = context.shadowBlur;
23
+ const shadowColor = context.shadowColor;
24
+ context.shadowOffsetX = child.dx;
25
+ context.shadowOffsetY = child.dy;
26
+ context.shadowBlur = child.blur;
27
+ context.shadowColor = child_color;
28
+ context.fillOval(this.x, this.y, this.width, this.height);
29
+ context.shadowOffsetX = dx;
30
+ context.shadowOffsetY = dy;
31
+ context.shadowBlur = blur;
32
+ context.shadowColor = shadowColor;
33
+ }
34
+ else {
35
+ context.fillOval(this.x, this.y, this.width, this.height);
36
+ }
37
+ break;
38
+ case 'stroke':
39
+ context.strokeStyle = color;
40
+ context.lineWidth = child._getStrokeWidth();
41
+ context.lineJoin = child._getStrokeJoin();
42
+ if (child instanceof Shadow) {
43
+ const dx = context.shadowOffsetX;
44
+ const dy = context.shadowOffsetY;
45
+ const blur = context.shadowBlur;
46
+ const shadowColor = context.shadowColor;
47
+ context.shadowOffsetX = child.dx;
48
+ context.shadowOffsetY = child.dy;
49
+ context.shadowBlur = child.blur;
50
+ context.shadowColor = child_color;
51
+ context.strokeOval(this.x, this.y, this.width, this.height);
52
+ context.shadowOffsetX = dx;
53
+ context.shadowOffsetY = dy;
54
+ context.shadowBlur = blur;
55
+ context.shadowColor = shadowColor;
56
+ }
57
+ else {
58
+ context.strokeOval(this.x, this.y, this.width, this.height);
59
+ }
60
+ break;
61
+ }
62
+ });
63
+ }
64
+ else {
65
+ const paintStyle = this._getPaintStyle();
66
+ switch (paintStyle) {
67
+ case 'fill':
68
+ context.fillStyle = color;
69
+ context.fillOval(this.x, this.y, this.width, this.height);
70
+ break;
71
+ case 'stroke':
72
+ context.strokeStyle = color;
73
+ context.lineWidth = this._getStrokeWidth();
74
+ context.lineJoin = this._getStrokeJoin();
75
+ context.strokeOval(this.x, this.y, this.width, this.height);
76
+ break;
77
+ }
78
+ }
79
+ }
80
+ _addViewToNativeVisualTree(view, atIndex) {
81
+ if (view instanceof Paint) {
82
+ this._children.push(view);
83
+ }
84
+ return false;
85
+ }
86
+ }
87
+ //# sourceMappingURL=Oval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Oval.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shapes/Oval.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,25 @@
1
+ import { Property } from '@nativescript/core';
1
2
  import { Paint } from '../Paint';
2
- import { Path2D } from '../../Canvas2D';
3
+ import { Path2D, DOMMatrix } from '../../Canvas2D';
3
4
  export declare const pathProperty: any;
5
+ export declare const startProperty: Property<Path, number>;
6
+ export declare const endProperty: Property<Path, number>;
4
7
  export declare class Path extends Paint {
5
8
  _path: Path2D;
6
- path: string;
9
+ path: string | Path2D;
10
+ start: number;
11
+ end: number;
7
12
  draw(): void;
13
+ addPath(path: Path2D, transform?: DOMMatrix): void;
14
+ arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;
15
+ arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
16
+ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
17
+ closePath(): void;
18
+ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;
19
+ lineTo(x: number, y: number): void;
20
+ moveTo(x: number, y: number): void;
21
+ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
22
+ rect(x: number, y: number, width: number, height: number): void;
23
+ roundRect(x: number, y: number, width: number, height: number, radii: number): void;
24
+ roundRect(x: number, y: number, width: number, height: number, radii: number[]): void;
8
25
  }
@@ -3,30 +3,94 @@ import { Paint } from '../Paint';
3
3
  import { Path2D } from '../../Canvas2D';
4
4
  export const pathProperty = new Property({
5
5
  name: 'path',
6
+ valueChanged(target, oldValue, newValue) {
7
+ target.invalidate();
8
+ },
9
+ });
10
+ export const startProperty = new Property({
11
+ name: 'start',
12
+ valueChanged(target, oldValue, newValue) {
13
+ target.invalidate();
14
+ },
15
+ });
16
+ export const endProperty = new Property({
17
+ name: 'end',
18
+ valueChanged(target, oldValue, newValue) {
19
+ target.invalidate();
20
+ },
6
21
  });
7
22
  export class Path extends Paint {
23
+ constructor() {
24
+ super(...arguments);
25
+ this._path = new Path2D();
26
+ }
8
27
  [pathProperty.setNative](value) {
9
28
  if (value) {
10
29
  this._path = new Path2D(value);
11
30
  }
12
31
  }
32
+ [startProperty.setNative](value) {
33
+ if (typeof value === 'number' && typeof this.end === 'number') {
34
+ this._path.trim(value, this.end);
35
+ }
36
+ }
37
+ [endProperty.setNative](value) {
38
+ if (typeof value === 'number' && typeof this.start === 'number') {
39
+ this._path.trim(this.start, value);
40
+ }
41
+ }
13
42
  draw() {
14
43
  if (this._path === undefined) {
15
44
  return;
16
45
  }
17
46
  const override_color = this.parent._overrideColor;
18
47
  const context = this._canvas.getContext('2d');
19
- const style = this.paintStyle;
48
+ const style = this._getPaintStyle();
49
+ const color = this._getColor();
20
50
  if (style === 'fill') {
21
- context.fillStyle = this.color.hex;
51
+ context.fillStyle = color;
22
52
  context.fill(this._path);
23
53
  }
24
54
  else if (style === 'stroke') {
25
- context.lineWidth = this.strokeWidth;
26
- context.strokeStyle = this.color.hex;
55
+ context.lineWidth = this._getStrokeWidth();
56
+ context.lineJoin = this._getStrokeJoin();
57
+ context.strokeStyle = color;
27
58
  context.stroke(this._path);
28
59
  }
29
60
  }
61
+ addPath(path, transform) {
62
+ this._path.addPath(path, transform);
63
+ }
64
+ arc(x, y, radius, startAngle, endAngle, anticlockwise = false) {
65
+ this._path.arc(x, y, radius, startAngle, endAngle, anticlockwise ?? false);
66
+ }
67
+ arcTo(x1, y1, x2, y2, radius) {
68
+ this._path.arcTo(x1, y1, x2, y2, radius);
69
+ }
70
+ bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) {
71
+ this._path.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);
72
+ }
73
+ closePath() {
74
+ this._path.closePath();
75
+ }
76
+ ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise = false) {
77
+ this._path.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise ?? false);
78
+ }
79
+ lineTo(x, y) {
80
+ this._path.lineTo(x, y);
81
+ }
82
+ moveTo(x, y) {
83
+ this._path.moveTo(x, y);
84
+ }
85
+ quadraticCurveTo(cpx, cpy, x, y) {
86
+ this._path.quadraticCurveTo(cpx, cpy, x, y);
87
+ }
88
+ rect(x, y, width, height) {
89
+ this._path.rect(x, y, width, height);
90
+ }
91
+ roundRect(x, y, width, height, radii) {
92
+ this._path.roundRect(x, y, width, height, radii);
93
+ }
30
94
  }
31
95
  pathProperty.register(Path);
32
96
  //# sourceMappingURL=Path.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shapes/Path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAe;IACtD,IAAI,EAAE,MAAM;CACZ,CAAC,CAAC;AAEH,MAAM,OAAO,IAAK,SAAQ,KAAK;IAI9B,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK;QAC7B,IAAI,KAAK,EAAE;YACV,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;SAC/B;IACF,CAAC;IAED,IAAI;QACH,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC7B,OAAO;SACP;QACD,MAAM,cAAc,GAAI,IAAI,CAAC,MAAc,CAAC,cAAc,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAoC,CAAC;QAEjF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,IAAI,KAAK,KAAK,MAAM,EAAE;YACrB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAY,CAAC,CAAC;SAChC;aAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;YAC9B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAY,CAAC,CAAC;SAClC;IACF,CAAC;CACD;AAED,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shapes/Path.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,24 @@ import { Property } from '@nativescript/core';
2
2
  import { Paint } from '../Paint';
3
3
  export const pointsProperty = new Property({
4
4
  name: 'points',
5
+ valueChanged(target, oldValue, newValue) {
6
+ target.invalidate();
7
+ },
5
8
  });
6
9
  export const modeProperty = new Property({
7
10
  name: 'mode',
8
11
  defaultValue: 'points',
12
+ valueChanged(target, oldValue, newValue) {
13
+ target.invalidate();
14
+ },
9
15
  });
10
16
  export class Points extends Paint {
11
17
  draw() {
12
18
  const override_color = this.parent._overrideColor;
13
19
  const context = this._canvas.getContext('2d');
14
- context.strokeStyle = this.color.hex;
20
+ context.lineWidth = this._getStrokeWidth();
21
+ context.lineJoin = this._getStrokeJoin();
22
+ context.strokeStyle = this._getColor();
15
23
  context.drawPoints(this.mode ?? 'points', this.points);
16
24
  }
17
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Points.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shapes/Points.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,QAAQ,EAAoB,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAqC;IAC9E,IAAI,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAyC;IAChF,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,QAAQ;CACtB,CAAC,CAAC;AAEH,MAAM,OAAO,MAAO,SAAQ,KAAK;IAIhC,IAAI;QACH,MAAM,cAAc,GAAI,IAAI,CAAC,MAAc,CAAC,cAAc,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAoC,CAAC;QACjF,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACpC,OAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;CACD;AAED,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"Points.js","sourceRoot":"","sources":["../../../../../packages/canvas/Dom/shapes/Points.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,QAAQ,EAAoB,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAqC;IAC9E,IAAI,EAAE,QAAQ;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,CAAyC;IAChF,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,QAAQ;IACtB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,MAAM,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,OAAO,MAAO,SAAQ,KAAK;IAIhC,IAAI;QACH,MAAM,cAAc,GAAI,IAAI,CAAC,MAAc,CAAC,cAAc,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAoC,CAAC;QACjF,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACzC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;CACD;AAED,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC"}