@nativescript/canvas 1.1.0 → 2.0.0-alpha.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.
Files changed (171) hide show
  1. package/Canvas/common.d.ts +1 -5
  2. package/Canvas/common.js +41 -133
  3. package/Canvas/common.js.map +1 -1
  4. package/Canvas/index.android.d.ts +4 -4
  5. package/Canvas/index.android.js +62 -52
  6. package/Canvas/index.android.js.map +1 -1
  7. package/Canvas/index.d.ts +0 -4
  8. package/Canvas/index.ios.d.ts +0 -2
  9. package/Canvas/index.ios.js +24 -42
  10. package/Canvas/index.ios.js.map +1 -1
  11. package/Canvas2D/CanvasGradient/CanvasGradient.android.d.ts +2 -0
  12. package/Canvas2D/CanvasGradient/CanvasGradient.android.js +10 -1
  13. package/Canvas2D/CanvasGradient/CanvasGradient.android.js.map +1 -1
  14. package/Canvas2D/CanvasPattern/CanvasPattern.android.d.ts +2 -0
  15. package/Canvas2D/CanvasPattern/CanvasPattern.android.js +10 -1
  16. package/Canvas2D/CanvasPattern/CanvasPattern.android.js.map +1 -1
  17. package/Canvas2D/CanvasPattern/CanvasPattern.ios.d.ts +0 -1
  18. package/Canvas2D/CanvasPattern/CanvasPattern.ios.js +0 -3
  19. package/Canvas2D/CanvasPattern/CanvasPattern.ios.js.map +1 -1
  20. package/Canvas2D/CanvasRenderingContext2D/common.d.ts +1 -3
  21. package/Canvas2D/CanvasRenderingContext2D/common.js.map +1 -1
  22. package/Canvas2D/CanvasRenderingContext2D/index.android.d.ts +5 -6
  23. package/Canvas2D/CanvasRenderingContext2D/index.android.js +188 -394
  24. package/Canvas2D/CanvasRenderingContext2D/index.android.js.map +1 -1
  25. package/Canvas2D/CanvasRenderingContext2D/index.d.ts +0 -6
  26. package/Canvas2D/CanvasRenderingContext2D/index.ios.d.ts +0 -3
  27. package/Canvas2D/CanvasRenderingContext2D/index.ios.js +92 -109
  28. package/Canvas2D/CanvasRenderingContext2D/index.ios.js.map +1 -1
  29. package/Canvas2D/DOMMatrix/DOMMatrix.android.d.ts +24 -0
  30. package/Canvas2D/DOMMatrix/DOMMatrix.android.js +81 -46
  31. package/Canvas2D/DOMMatrix/DOMMatrix.android.js.map +1 -1
  32. package/Canvas2D/DOMMatrix/DOMMatrix.d.ts +3 -2
  33. package/Canvas2D/DOMMatrix/common.d.ts +0 -2
  34. package/Canvas2D/DOMMatrix/common.js +0 -7
  35. package/Canvas2D/DOMMatrix/common.js.map +1 -1
  36. package/Canvas2D/ImageData/ImageData.android.d.ts +4 -5
  37. package/Canvas2D/ImageData/ImageData.android.js +48 -29
  38. package/Canvas2D/ImageData/ImageData.android.js.map +1 -1
  39. package/Canvas2D/ImageData/ImageData.d.ts +4 -2
  40. package/Canvas2D/ImageData/common.d.ts +0 -1
  41. package/Canvas2D/ImageData/common.js +1 -4
  42. package/Canvas2D/ImageData/common.js.map +1 -1
  43. package/Canvas2D/Path2D/Path2D.android.d.ts +3 -2
  44. package/Canvas2D/Path2D/Path2D.android.js +45 -25
  45. package/Canvas2D/Path2D/Path2D.android.js.map +1 -1
  46. package/Canvas2D/Path2D/Path2D.d.ts +0 -4
  47. package/Canvas2D/Path2D/Path2D.ios.d.ts +0 -2
  48. package/Canvas2D/Path2D/Path2D.ios.js +1 -9
  49. package/Canvas2D/Path2D/Path2D.ios.js.map +1 -1
  50. package/Canvas2D/Path2D/common.d.ts +1 -4
  51. package/Canvas2D/Path2D/common.js +2 -6
  52. package/Canvas2D/Path2D/common.js.map +1 -1
  53. package/Canvas2D/TextMetrics/TextMetrics.android.js +12 -12
  54. package/Canvas2D/TextMetrics/TextMetrics.android.js.map +1 -1
  55. package/Canvas2D/TextMetrics/common.d.ts +0 -1
  56. package/Canvas2D/TextMetrics/common.js +1 -4
  57. package/Canvas2D/TextMetrics/common.js.map +1 -1
  58. package/ImageAsset/ImageAsset.android.d.ts +11 -12
  59. package/ImageAsset/ImageAsset.android.js +92 -127
  60. package/ImageAsset/ImageAsset.android.js.map +1 -1
  61. package/ImageAsset/ImageAsset.d.ts +8 -12
  62. package/ImageAsset/ImageAsset.ios.js +3 -3
  63. package/ImageAsset/ImageAsset.ios.js.map +1 -1
  64. package/ImageAsset/common.d.ts +0 -1
  65. package/ImageAsset/common.js +1 -4
  66. package/ImageAsset/common.js.map +1 -1
  67. package/ImageBitmap/common.d.ts +0 -2
  68. package/ImageBitmap/common.js +0 -7
  69. package/ImageBitmap/common.js.map +1 -1
  70. package/ImageBitmap/index.android.d.ts +2 -2
  71. package/ImageBitmap/index.android.js +55 -292
  72. package/ImageBitmap/index.android.js.map +1 -1
  73. package/ImageBitmap/index.ios.d.ts +1 -2
  74. package/ImageBitmap/index.ios.js +34 -23
  75. package/ImageBitmap/index.ios.js.map +1 -1
  76. package/SVG/SVG.js.map +1 -1
  77. package/TextDecoder/TextDecoder.android.d.ts +2 -1
  78. package/TextDecoder/TextDecoder.android.js +19 -38
  79. package/TextDecoder/TextDecoder.android.js.map +1 -1
  80. package/TextDecoder/common.d.ts +0 -1
  81. package/TextDecoder/common.js +1 -4
  82. package/TextDecoder/common.js.map +1 -1
  83. package/TextEncoder/TextEncoder.android.d.ts +2 -0
  84. package/TextEncoder/TextEncoder.android.js +19 -5
  85. package/TextEncoder/TextEncoder.android.js.map +1 -1
  86. package/TextEncoder/common.d.ts +0 -2
  87. package/TextEncoder/common.js +0 -7
  88. package/TextEncoder/common.js.map +1 -1
  89. package/WebGL/WebGLActiveInfo.d.ts +5 -8
  90. package/WebGL/WebGLActiveInfo.js +8 -24
  91. package/WebGL/WebGLActiveInfo.js.map +1 -1
  92. package/WebGL/WebGLExtensions/index.android.d.ts +9 -0
  93. package/WebGL/WebGLExtensions/index.android.js +94 -57
  94. package/WebGL/WebGLExtensions/index.android.js.map +1 -1
  95. package/WebGL/WebGLProgram.d.ts +1 -0
  96. package/WebGL/WebGLProgram.js +3 -0
  97. package/WebGL/WebGLProgram.js.map +1 -1
  98. package/WebGL/WebGLRenderingContext/index.android.d.ts +10 -13
  99. package/WebGL/WebGLRenderingContext/index.android.js +449 -952
  100. package/WebGL/WebGLRenderingContext/index.android.js.map +1 -1
  101. package/WebGL/WebGLRenderingContext/index.ios.js +6 -5
  102. package/WebGL/WebGLRenderingContext/index.ios.js.map +1 -1
  103. package/WebGL/WebGLShaderPrecisionFormat.d.ts +5 -4
  104. package/WebGL/WebGLShaderPrecisionFormat.js +11 -4
  105. package/WebGL/WebGLShaderPrecisionFormat.js.map +1 -1
  106. package/WebGL2/WebGL2RenderingContext/common.d.ts +1 -1
  107. package/WebGL2/WebGL2RenderingContext/common.js +199 -199
  108. package/WebGL2/WebGL2RenderingContext/common.js.map +1 -1
  109. package/WebGL2/WebGL2RenderingContext/index.android.d.ts +7 -6
  110. package/WebGL2/WebGL2RenderingContext/index.android.js +284 -318
  111. package/WebGL2/WebGL2RenderingContext/index.android.js.map +1 -1
  112. package/WebGL2/WebGL2RenderingContext/index.ios.js +1 -1
  113. package/WebGL2/WebGL2RenderingContext/index.ios.js.map +1 -1
  114. package/angular/esm2020/index.mjs +5 -5
  115. package/angular/fesm2015/nativescript-canvas-angular.mjs +4 -4
  116. package/angular/fesm2015/nativescript-canvas-angular.mjs.map +1 -1
  117. package/angular/fesm2020/nativescript-canvas-angular.mjs +4 -4
  118. package/angular/fesm2020/nativescript-canvas-angular.mjs.map +1 -1
  119. package/angular/nativescript-canvas-angular.d.ts +5 -0
  120. package/angular/package.json +2 -2
  121. package/helpers.d.ts +5 -0
  122. package/helpers.js +18 -0
  123. package/helpers.js.map +1 -0
  124. package/index.js +6 -0
  125. package/index.js.map +1 -1
  126. package/package.json +2 -3
  127. package/platforms/android/canvas-release.aar +0 -0
  128. package/platforms/android/include.gradle +5 -6
  129. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  130. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +33 -89
  131. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative.h +1 -1
  132. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
  133. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  134. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64.swiftsourceinfo +0 -0
  135. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  136. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +22 -49
  137. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64.swiftdoc +0 -0
  138. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/{arm64-apple-ios.private.swiftinterface → arm64.swiftinterface} +22 -49
  139. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/module.modulemap +2 -2
  140. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  141. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  142. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +66 -168
  143. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative.h +1 -1
  144. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
  145. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  146. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64.swiftsourceinfo +0 -0
  147. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  148. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64.swiftsourceinfo +0 -0
  149. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  150. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +22 -49
  151. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64.swiftdoc +0 -0
  152. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/{arm64-apple-ios-simulator.private.swiftinterface → arm64.swiftinterface} +22 -49
  153. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  154. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +22 -49
  155. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64.swiftdoc +0 -0
  156. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/{x86_64-apple-ios-simulator.private.swiftinterface → x86_64.swiftinterface} +22 -49
  157. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/module.modulemap +2 -2
  158. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +83 -50
  159. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  160. package/utils.d.ts +1 -3
  161. package/utils.js +20 -7
  162. package/utils.js.map +1 -1
  163. package/LICENSE +0 -201
  164. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +0 -1636
  165. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +0 -75693
  166. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +0 -1636
  167. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +0 -75693
  168. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +0 -75693
  169. package/typings/objc!CanvasNative.d.ts +0 -2036
  170. package/typings/objc!CanvasNative.js +0 -1
  171. package/typings/objc!CanvasNative.js.map +0 -1
@@ -6,294 +6,300 @@ import { WebGLFramebuffer } from '../../WebGL/WebGLFramebuffer';
6
6
  import { WebGLActiveInfo } from '../../WebGL/WebGLActiveInfo';
7
7
  import { WebGLBuffer } from '../../WebGL/WebGLBuffer';
8
8
  import { ImageAsset } from '../../ImageAsset';
9
- import { ImageSource } from '@nativescript/core';
9
+ import { ImageSource, Screen } from '@nativescript/core';
10
10
  import { WebGL2RenderingContextBase } from './common';
11
11
  import { Canvas } from '../../Canvas';
12
12
  import { ImageBitmap } from '../../ImageBitmap';
13
+ import { Helpers } from '../../helpers';
14
+ let ctor;
13
15
  export class WebGL2RenderingContext extends WebGL2RenderingContextBase {
14
- constructor(context) {
15
- super(context);
16
+ constructor(context, contextOptions) {
17
+ super(null);
18
+ this._methodCache = new Map();
19
+ const ctx = BigInt(context.getNativeContext().toString());
20
+ let direction = 0;
21
+ if (androidx.core.text.TextUtilsCompat.getLayoutDirectionFromLocale(java.util.Locale.getDefault()) === androidx.core.view.ViewCompat.LAYOUT_DIRECTION_RTL) {
22
+ direction = 1;
23
+ }
24
+ const native = ctor(contextOptions, ctx, Screen.mainScreen.scale, -16777216, Screen.mainScreen.scale * 160, direction);
25
+ this._context = native;
26
+ }
27
+ _getMethod(name) {
28
+ const cached = this._methodCache.get(name);
29
+ if (cached === undefined) {
30
+ const ret = this.native[name];
31
+ this._methodCache.set(name, ret);
32
+ return ret;
33
+ }
34
+ return cached;
16
35
  }
17
36
  /* Transform feedback */
18
- static toPrimitive(value) {
19
- if (value instanceof java.lang.Integer) {
20
- return value.intValue();
21
- }
22
- else if (value instanceof java.lang.Long) {
23
- return value.longValue();
24
- }
25
- else if (value instanceof java.lang.Short) {
26
- return value.shortValue();
27
- }
28
- else if (value instanceof java.lang.Byte) {
29
- return value.byteValue();
30
- }
31
- else if (value instanceof java.lang.Boolean) {
32
- return value.booleanValue();
33
- }
34
- else if (value instanceof java.lang.String) {
35
- return value.toString();
36
- }
37
- else if (value instanceof java.lang.Float) {
38
- return value.floatValue();
39
- }
40
- else if (value instanceof java.lang.Double) {
41
- return value.doubleValue();
42
- }
43
- return value;
44
- }
45
37
  beginQuery(target, query) {
46
38
  this._glCheckError('beginQuery');
47
- const value = query ? query.native : 0;
48
- this.native.beginQuery(target, value);
39
+ const value = query.native;
40
+ const beginQuery = this._getMethod('beginQuery');
41
+ beginQuery(target, value);
49
42
  }
50
43
  beginTransformFeedback(primitiveMode) {
51
44
  this._glCheckError('beginTransformFeedback');
52
- this.native.beginTransformFeedback(primitiveMode);
45
+ const beginTransformFeedback = this._getMethod('beginTransformFeedback');
46
+ beginTransformFeedback(primitiveMode);
53
47
  }
54
48
  bindBufferBase(target, index, buffer) {
55
49
  this._glCheckError('bindBufferBase');
56
- const value = buffer ? buffer.native : 0;
57
- this.native.bindBufferBase(target, index, value);
50
+ const value = buffer ? buffer.native : null;
51
+ const bindBufferBase = this._getMethod('bindBufferBase');
52
+ bindBufferBase(target, index, value);
58
53
  }
59
54
  bindBufferRange(target, index, buffer, offset, size) {
60
55
  this._glCheckError('bindBufferRange');
61
- const value = buffer ? buffer.native : 0;
62
- this.native.bindBufferRange(target, index, value, offset, size);
56
+ const value = buffer ? buffer.native : null;
57
+ const bindBufferRange = this._getMethod('bindBufferRange');
58
+ bindBufferRange(target, index, value, offset, size);
63
59
  }
64
60
  bindSampler(unit, sampler) {
65
61
  this._glCheckError('bindSampler');
66
- const value = sampler ? sampler.native : 0;
67
- this.native.bindSampler(unit, value);
62
+ const value = sampler ? sampler.native : null;
63
+ const bindSampler = this._getMethod('bindSampler');
64
+ bindSampler(unit, value);
68
65
  }
69
66
  bindTransformFeedback(target, transformFeedback) {
70
67
  this._glCheckError('bindTransformFeedback');
71
- const value = transformFeedback ? transformFeedback.native : 0;
72
- this.native.bindTransformFeedback(target, value);
68
+ const value = transformFeedback ? transformFeedback.native : null;
69
+ const bindTransformFeedback = this._getMethod('bindTransformFeedback');
70
+ bindTransformFeedback(target, value);
73
71
  }
74
72
  bindVertexArray(vertexArray) {
75
73
  this._glCheckError('bindVertexArray');
76
- const value = vertexArray ? vertexArray.native : 0;
77
- if (value) {
78
- this.native.bindVertexArray(value);
79
- }
80
- else {
81
- this.native.bindVertexArray();
82
- }
74
+ const value = vertexArray ? vertexArray.native : null;
75
+ const bindVertexArray = this._getMethod('bindVertexArray');
76
+ bindVertexArray(value);
83
77
  }
84
78
  blitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) {
85
79
  this._glCheckError('blitFramebuffer');
86
- this.native.blitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
80
+ const blitFramebuffer = this._getMethod('blitFramebuffer');
81
+ blitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
87
82
  }
88
83
  clearBufferfi(buffer, drawbuffer, depth, stencil) {
89
84
  this._glCheckError('clearBufferfi');
90
- const value = buffer ? buffer.native : 0;
91
- this.native.clearBufferfi(value, drawbuffer, depth, stencil);
85
+ const value = buffer.native;
86
+ const clearBufferfi = this._getMethod('clearBufferfi');
87
+ clearBufferfi(value, drawbuffer, depth, stencil);
92
88
  }
93
89
  clearBufferfv(buffer, drawbuffer, values) {
94
90
  this._glCheckError('clearBufferfv');
95
- const value = buffer ? buffer.native : 0;
96
- if (values instanceof Float32Array) {
97
- values = this.toNativeArray(values, 'float');
98
- }
99
- this.native.clearBufferfv(value, drawbuffer, values);
91
+ const clearBufferfv = this._getMethod('clearBufferfv');
92
+ const value = buffer.native;
93
+ clearBufferfv(value, drawbuffer, values);
100
94
  }
101
95
  clearBufferiv(buffer, drawbuffer, values) {
102
96
  this._glCheckError('clearBufferiv');
97
+ const clearBufferiv = this._getMethod('clearBufferiv');
103
98
  const value = buffer ? buffer.native : 0;
104
- if (values instanceof Int32Array) {
105
- values = this.toNativeArray(values, 'int');
106
- }
107
- this.native.clearBufferiv(value, drawbuffer, values);
99
+ clearBufferiv(value, drawbuffer, values);
108
100
  }
109
101
  clearBufferuiv(buffer, drawbuffer, values) {
110
102
  this._glCheckError('clearBufferuiv');
103
+ const clearBufferuiv = this._getMethod('clearBufferuiv');
111
104
  const value = buffer ? buffer.native : 0;
112
- if (values instanceof Uint32Array) {
113
- values = this.toNativeArray(values, 'int');
114
- }
115
- this.native.clearBufferuiv(value, drawbuffer, values);
105
+ clearBufferuiv(value, drawbuffer, values);
116
106
  }
117
107
  clientWaitSync(sync, flags, timeout) {
118
108
  this._glCheckError('clientWaitSync');
119
- const value = sync ? sync.native : 0;
120
- return this.native.clientWaitSync(value, flags, timeout);
109
+ const clientWaitSync = this._getMethod('clientWaitSync');
110
+ const value = sync.native;
111
+ return clientWaitSync(value, flags, timeout);
121
112
  }
122
113
  compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, srcData, srcOffset = 0, srcLengthOverride = 0) {
123
114
  this._glCheckError('compressedTexSubImage3D');
124
- if (typeof srcOffset === 'number') {
125
- this.native.compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, srcData, srcOffset);
126
- }
127
- else if (srcData && srcData.buffer) {
128
- if (srcData instanceof Uint8Array) {
129
- this.native.compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, this.toNativeArray(srcData, 'byte'), srcOffset, srcLengthOverride);
130
- }
131
- }
115
+ const compressedTexSubImage3D = this._getMethod('compressedTexSubImage3D');
116
+ compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, srcData, srcOffset);
132
117
  }
133
118
  /* Transform feedback */
134
119
  /* Framebuffers and renderbuffers */
135
120
  copyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size) {
136
121
  this._glCheckError('copyBufferSubData');
137
- this.native.copyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
122
+ const copyBufferSubData = this._getMethod('copyBufferSubData');
123
+ copyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
138
124
  }
139
125
  copyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height) {
140
126
  this._glCheckError('copyTexSubImage3D');
141
- this.native.copyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
127
+ const copyTexSubImage3D = this._getMethod('copyTexSubImage3D');
128
+ copyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
142
129
  }
143
130
  createQuery() {
144
131
  this._glCheckError('createQuery');
145
- return new WebGLQuery(this.native.createQuery());
132
+ const createQuery = this._getMethod('createQuery');
133
+ return new WebGLQuery(createQuery());
146
134
  }
147
135
  createSampler() {
148
136
  this._glCheckError('createSampler');
149
- return new WebGLSampler(this.native.createSampler());
137
+ const createSampler = this._getMethod('createSampler');
138
+ return new WebGLSampler(createSampler());
150
139
  }
151
140
  createTransformFeedback() {
152
141
  this._glCheckError('createTransformFeedback');
153
- return new WebGLTransformFeedback(this.native.createTransformFeedback());
142
+ const createTransformFeedback = this._getMethod('createTransformFeedback');
143
+ return new WebGLTransformFeedback(createTransformFeedback());
154
144
  }
155
145
  createVertexArray() {
156
146
  this._glCheckError('createVertexArray');
157
- return new WebGLVertexArrayObject(this.native.createVertexArray());
158
- }
159
- deleteQueryWithQuery(query) {
160
- this._glCheckError('deleteQueryWithQuery');
161
- const value = query ? query.native : 0;
162
- this.native.deleteQuery(value);
163
- }
164
- deleteSamplerWithSampler(sampler) {
165
- this._glCheckError('deleteSamplerWithSampler');
166
- const value = sampler ? sampler.native : 0;
167
- this.native.deleteSampler(value);
168
- }
169
- deleteSyncWithSync(sync) {
170
- this._glCheckError('deleteSyncWithSync');
171
- const value = sync ? sync.native : 0;
172
- this.native.deleteSync(value);
147
+ const createVertexArray = this._getMethod('createVertexArray');
148
+ return new WebGLVertexArrayObject(createVertexArray());
149
+ }
150
+ deleteQuery(query) {
151
+ this._glCheckError('deleteQuery');
152
+ const deleteQuery = this._getMethod('deleteQuery');
153
+ const value = query.native;
154
+ deleteQuery(value);
155
+ }
156
+ deleteSampler(sampler) {
157
+ this._glCheckError('deleteSampler');
158
+ const deleteSampler = this._getMethod('deleteSampler');
159
+ const value = sampler.native;
160
+ deleteSampler(value);
161
+ }
162
+ deleteSync(sync) {
163
+ this._glCheckError('deleteSync');
164
+ const deleteSync = this._getMethod('deleteSync');
165
+ const value = sync.native;
166
+ deleteSync(value);
173
167
  }
174
168
  deleteTransformFeedback(transformFeedback) {
175
169
  this._glCheckError('deleteTransformFeedback');
176
- const value = transformFeedback ? transformFeedback.native : 0;
177
- this.native.deleteTransformFeedback(value);
170
+ const deleteTransformFeedback = this._getMethod('deleteTransformFeedback');
171
+ const value = transformFeedback.native;
172
+ deleteTransformFeedback(value);
178
173
  }
179
174
  deleteVertexArray(vertexArray) {
180
175
  this._glCheckError('deleteVertexArray');
181
- const value = vertexArray ? vertexArray.native : 0;
182
- this.native.deleteVertexArray(value);
176
+ const deleteVertexArray = this._getMethod('deleteVertexArray');
177
+ const value = vertexArray.native;
178
+ deleteVertexArray(value);
183
179
  }
184
180
  drawArraysInstanced(mode, first, count, instanceCount) {
185
181
  this._glCheckError('drawArraysInstanced');
186
- this.native.drawArraysInstanced(mode, first, count, instanceCount);
182
+ const drawArraysInstanced = this._getMethod('drawArraysInstanced');
183
+ drawArraysInstanced(mode, first, count, instanceCount);
187
184
  }
188
185
  drawBuffers(buffers) {
189
186
  this._glCheckError('drawBuffers');
190
- this.native.drawBuffers(buffers);
187
+ const drawBuffers = this._getMethod('drawBuffers');
188
+ drawBuffers(buffers);
191
189
  }
192
190
  drawElementsInstanced(mode, count, type, offset, instanceCount) {
193
191
  this._glCheckError('drawElementsInstanced');
194
- this.native.drawElementsInstanced(mode, count, type, offset, instanceCount);
192
+ const drawElementsInstanced = this._getMethod('drawElementsInstanced');
193
+ drawElementsInstanced(mode, count, type, offset, instanceCount);
195
194
  }
196
195
  drawRangeElements(mode, start, end, count, type, offset) {
197
196
  this._glCheckError('drawRangeElements');
198
- this.native.drawRangeElements(mode, start, end, count, type, offset);
197
+ const drawRangeElements = this._getMethod('drawRangeElements');
198
+ drawRangeElements(mode, start, end, count, type, offset);
199
199
  }
200
200
  endQuery(target) {
201
201
  this._glCheckError('endQuery');
202
- this.native.endQuery(target);
202
+ const endQuery = this._getMethod('endQuery');
203
+ endQuery(target);
203
204
  }
204
205
  endTransformFeedback() {
205
206
  this._glCheckError('endTransformFeedback');
206
- this.native.endTransformFeedback();
207
+ const endTransformFeedback = this._getMethod('endTransformFeedback');
208
+ endTransformFeedback();
207
209
  }
208
210
  fenceSync(condition, flags) {
209
211
  this._glCheckError('fenceSync');
210
- this.native.fenceSync(condition, flags);
212
+ const fenceSync = this._getMethod('fenceSync');
213
+ fenceSync(condition, flags);
211
214
  }
212
215
  framebufferTextureLayer(target, attachment, texture, level, layer) {
213
216
  this._glCheckError('framebufferTextureLayer');
214
- const value = texture ? texture.native : 0;
215
- this.native.framebufferTextureLayer(target, attachment, value, level, layer);
217
+ const framebufferTextureLayer = this._getMethod('framebufferTextureLayer');
218
+ const value = texture.native;
219
+ framebufferTextureLayer(target, attachment, value, level, layer);
216
220
  }
217
221
  /* Framebuffers and renderbuffers */
218
222
  /* Uniforms */
219
223
  getActiveUniformBlockName(program, uniformBlockIndex) {
220
224
  this._glCheckError('getActiveUniformBlockName');
221
- const value = program ? program.native : 0;
222
- return this.native.getActiveUniformBlockName(value, uniformBlockIndex);
225
+ const getActiveUniformBlockName = this._getMethod('getActiveUniformBlockName');
226
+ const value = program.native;
227
+ return getActiveUniformBlockName(value, uniformBlockIndex);
223
228
  }
224
229
  getActiveUniformBlockParameter(program, uniformBlockIndex, pname) {
225
230
  this._glCheckError('getActiveUniformBlockParameter');
226
- const value = program ? program.native : 0;
227
- const param = this.native.getActiveUniformBlockParameter(value, uniformBlockIndex, pname);
228
- if (pname === this.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES) {
229
- return new Uint32Array(this.getJSArray(param));
230
- }
231
- return WebGL2RenderingContext.toPrimitive(param);
231
+ const getActiveUniformBlockParameter = this._getMethod('getActiveUniformBlockParameter');
232
+ const value = program.native;
233
+ return getActiveUniformBlockParameter(value, uniformBlockIndex, pname);
232
234
  }
233
235
  getActiveUniforms(program, uniformIndices, pname) {
234
236
  this._glCheckError('getActiveUniforms');
235
- const value = program ? program.native : 0;
236
- return this.getJSArray(this.native.getActiveUniforms(value, uniformIndices, pname));
237
+ const getActiveUniforms = this._getMethod('getActiveUniforms');
238
+ const value = program.native;
239
+ return getActiveUniforms(value, uniformIndices, pname);
237
240
  }
238
241
  getBufferSubData(target, srcByteOffset, dstData, dstOffset = 0, length = 0) {
239
242
  this._glCheckError('getBufferSubData');
240
- this.native.getBufferSubData(target, srcByteOffset, new Uint8Array(dstData.slice(0)), dstOffset, length);
243
+ const getBufferSubData = this._getMethod('getBufferSubData');
244
+ getBufferSubData(target, srcByteOffset, dstData, dstOffset, length);
241
245
  }
242
246
  getFragDataLocation(program, name) {
243
247
  this._glCheckError('getFragDataLocation');
244
- const value = program ? program.native : 0;
245
- const result = this.native.getFragDataLocation(value, name);
248
+ const getFragDataLocation = this._getMethod('getFragDataLocation');
249
+ const value = program.native;
250
+ const result = getFragDataLocation(value, name);
246
251
  return result !== -1 ? result : null;
247
252
  }
248
253
  getIndexedParameter(target, index) {
249
254
  this._glCheckError('getIndexedParameter');
250
- const param = this.native.getIndexedParameter(target, index);
255
+ const getIndexedParameter = this._getMethod('getIndexedParameter');
256
+ const param = getIndexedParameter(target, index);
251
257
  if (target === this.TRANSFORM_FEEDBACK_BUFFER_BINDING || target === this.UNIFORM_BUFFER_BINDING) {
252
258
  return new WebGLBuffer(param);
253
259
  }
254
- return WebGL2RenderingContext.toPrimitive(param);
260
+ return param;
255
261
  }
256
262
  getInternalformatParameter(target, internalformat, pname) {
257
263
  this._glCheckError('getInternalformatParameter');
258
- const param = this.native.getInternalformatParameter(target, internalformat, pname);
259
- if (pname === this.SAMPLES) {
260
- return new Int32Array(this.getJSArray(param));
261
- }
262
- return WebGL2RenderingContext.toPrimitive(param);
264
+ const getInternalformatParameter = this._getMethod('getInternalformatParameter');
265
+ return getInternalformatParameter(target, internalformat, pname);
263
266
  }
264
267
  getQueryParameter(query, pname) {
265
268
  this._glCheckError('getQueryParameter');
266
- const value = query ? query.native : 0;
267
- const result = this.native.getQueryParameter(value, pname);
269
+ const getQueryParameter = this._getMethod('getQueryParameter');
270
+ const value = query.native;
271
+ const result = getQueryParameter(value, pname);
268
272
  if (result === 0) {
269
273
  return null;
270
274
  }
271
- return WebGL2RenderingContext.toPrimitive(result);
275
+ return result;
272
276
  }
273
277
  //@ts-ignore
274
278
  getParameter(pname) {
275
279
  this._glCheckError('getParameter');
276
- this._checkArgs('activeTexture', arguments);
277
- const value = this.native.getParameter(pname);
280
+ this._checkArgs('getParameter', arguments);
281
+ const getParameter = this._getMethod('getParameter');
282
+ const value = getParameter(pname);
278
283
  switch (pname) {
279
284
  case this.COPY_READ_BUFFER_BINDING:
280
285
  case this.COPY_WRITE_BUFFER_BINDING:
281
286
  if (value) {
282
- new WebGLBuffer(WebGL2RenderingContext.toPrimitive(value));
287
+ new WebGLBuffer(value);
283
288
  }
284
289
  return null;
285
290
  case this.DRAW_FRAMEBUFFER_BINDING:
286
291
  if (value) {
287
- return new WebGLFramebuffer(WebGL2RenderingContext.toPrimitive(value));
292
+ return new WebGLFramebuffer(value);
288
293
  }
289
294
  return null;
290
295
  default:
291
- return super.getParameter(pname);
296
+ return this._handleGetParameter(pname, value);
292
297
  }
293
298
  }
294
299
  getQuery(target, pname) {
295
300
  this._glCheckError('getQuery');
296
- const query = this.native.getQuery(target, pname);
301
+ const getQuery = this._getMethod('getQuery');
302
+ const query = getQuery(target, pname);
297
303
  if (query) {
298
304
  return new WebGLQuery(query);
299
305
  }
@@ -301,368 +307,328 @@ export class WebGL2RenderingContext extends WebGL2RenderingContextBase {
301
307
  }
302
308
  getSamplerParameter(sampler, pname) {
303
309
  this._glCheckError('getSamplerParameter');
304
- const value = sampler ? sampler.native : 0;
305
- return WebGL2RenderingContext.toPrimitive(this.native.getSamplerParameter(value, pname));
310
+ const getSamplerParameter = this._getMethod('getSamplerParameter');
311
+ const value = sampler.native;
312
+ return getSamplerParameter(value, pname);
306
313
  }
307
314
  getSyncParameter(sync, pname) {
308
315
  this._glCheckError('getSyncParameter');
309
- const value = sync ? sync.native : 0;
310
- return WebGL2RenderingContext.toPrimitive(this.native.getSyncParameter(value, pname));
316
+ const getSyncParameter = this._getMethod('getSyncParameter');
317
+ const value = sync.native;
318
+ return getSyncParameter(value, pname);
311
319
  }
312
320
  getTransformFeedbackVarying(program, index) {
313
321
  this._glCheckError('getTransformFeedbackVarying');
314
- const value = program ? program.native : 0;
315
- const info = this.native.getTransformFeedbackVarying(value, index);
322
+ const value = program.native;
323
+ const getTransformFeedbackVarying = this._getMethod('getTransformFeedbackVarying');
324
+ const info = getTransformFeedbackVarying(value, index);
316
325
  if (info) {
317
- return new WebGLActiveInfo(info.name, info.size, info.size);
326
+ return new WebGLActiveInfo(info);
318
327
  }
319
328
  return null;
320
329
  }
321
330
  getUniformBlockIndex(program, uniformBlockName) {
322
331
  this._glCheckError('getUniformBlockIndex');
323
- const value = program ? program.native : 0;
324
- return this.native.getUniformBlockIndex(value, uniformBlockName);
332
+ const getUniformBlockIndex = this._getMethod('getUniformBlockIndex');
333
+ const value = program.native;
334
+ return getUniformBlockIndex(value, uniformBlockName);
325
335
  }
326
336
  getUniformIndices(program, uniformNames) {
327
337
  this._glCheckError('getUniformIndices');
328
- const value = program ? program.native : 0;
329
- return this.getJSArray(this.native.getUniformIndices(value, uniformNames));
338
+ const getUniformIndices = this._getMethod('getUniformIndices');
339
+ const value = program.native;
340
+ return getUniformIndices(value, uniformNames);
330
341
  }
331
342
  invalidateFramebuffer(target, attachments) {
332
343
  this._glCheckError('invalidateFramebuffer');
333
- this.native.invalidateFramebuffer(target, attachments);
344
+ const invalidateFramebuffer = this._getMethod('invalidateFramebuffer');
345
+ invalidateFramebuffer(target, attachments);
334
346
  }
335
347
  invalidateSubFramebuffer(target, attachments, x, y, width, height) {
336
348
  this._glCheckError('invalidateSubFramebuffer');
337
- this.native.invalidateSubFramebuffer(target, attachments, x, y, width, height);
349
+ const invalidateSubFramebuffer = this._getMethod('invalidateSubFramebuffer');
350
+ invalidateSubFramebuffer(target, attachments, x, y, width, height);
338
351
  }
339
352
  isQuery(query) {
340
353
  this._glCheckError('isQuery');
341
- const value = query ? query.native : 0;
342
- return this.native.isQuery(value);
354
+ const isQuery = this._getMethod('isQuery');
355
+ const value = query.native;
356
+ return isQuery(value);
343
357
  }
344
358
  isSampler(sampler) {
345
359
  this._glCheckError('isSampler');
346
- const value = sampler ? sampler.native : 0;
347
- return this.native.isSampler(value);
360
+ const isSampler = this._getMethod('isSampler');
361
+ const value = sampler.native;
362
+ return isSampler(value);
348
363
  }
349
364
  isSync(sync) {
350
365
  this._glCheckError('isSync');
351
- const value = sync ? sync.native : 0;
352
- return this.native.isSync(value);
366
+ const isSync = this._getMethod('isSync');
367
+ const value = sync.native;
368
+ return isSync(value);
353
369
  }
354
370
  isTransformFeedback(transformFeedback) {
355
371
  this._glCheckError('isTransformFeedback');
356
- const value = transformFeedback ? transformFeedback.native : 0;
357
- return this.native.isTransformFeedback(value);
372
+ const isTransformFeedback = this._getMethod('isTransformFeedback');
373
+ const value = transformFeedback.native;
374
+ return isTransformFeedback(value);
358
375
  }
359
376
  isVertexArray(vertexArray) {
360
377
  this._glCheckError('isVertexArray');
361
- const value = vertexArray ? vertexArray.native : 0;
362
- return this.native.isVertexArray(value);
378
+ const isVertexArray = this._getMethod('isVertexArray');
379
+ const value = vertexArray.native;
380
+ return isVertexArray(value);
363
381
  }
364
382
  pauseTransformFeedback() {
365
383
  this._glCheckError('pauseTransformFeedback');
366
- this.native.pauseTransformFeedback();
384
+ const pauseTransformFeedback = this._getMethod('pauseTransformFeedback');
385
+ pauseTransformFeedback();
367
386
  }
368
387
  readBuffer(src) {
369
388
  this._glCheckError('readBuffer');
370
- this.native.readBuffer(src);
389
+ const readBuffer = this._getMethod('readBuffer');
390
+ readBuffer(src);
371
391
  }
372
392
  renderbufferStorageMultisample(target, samples, internalFormat, width, height) {
373
393
  this._glCheckError('renderbufferStorageMultisample');
374
- this.native.renderbufferStorageMultisample(target, samples, internalFormat, width, height);
394
+ const renderbufferStorageMultisample = this._getMethod('renderbufferStorageMultisample');
395
+ renderbufferStorageMultisample(target, samples, internalFormat, width, height);
375
396
  }
376
397
  resumeTransformFeedback() {
377
398
  this._glCheckError('resumeTransformFeedback');
378
- this.native.resumeTransformFeedback();
399
+ const resumeTransformFeedback = this._getMethod('resumeTransformFeedback');
400
+ resumeTransformFeedback();
379
401
  }
380
402
  samplerParameterf(sampler, pname, param) {
381
403
  this._glCheckError('samplerParameterf');
382
- const value = sampler ? sampler.native : 0;
383
- this.native.samplerParameterf(value, pname, param);
404
+ const samplerParameterf = this._getMethod('samplerParameterf');
405
+ const value = sampler.native;
406
+ samplerParameterf(value, pname, param);
384
407
  }
385
408
  /* Uniforms */
386
409
  /* Sync objects */
387
410
  samplerParameteri(sampler, pname, param) {
388
411
  this._glCheckError('samplerParameteri');
389
- const value = sampler ? sampler.native : 0;
390
- this.native.samplerParameteri(value, pname, param);
412
+ const samplerParameteri = this._getMethod('samplerParameteri');
413
+ const value = sampler.native;
414
+ samplerParameteri(value, pname, param);
391
415
  }
392
416
  texImage3D(target, level, internalformat, width, height, depth, border, format, type, source) {
393
417
  this._glCheckError('texImage3D');
418
+ const texImage3D = this._getMethod('texImage3D');
394
419
  if (typeof source === 'number') {
395
- this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source);
420
+ texImage3D(target, level, internalformat, width, height, depth, border, format, type, source);
396
421
  }
397
422
  else if (source && source.buffer) {
398
- if (source && source.buffer) {
399
- if (source instanceof Uint8Array || source instanceof Uint8ClampedArray) {
400
- this.native.texImage3DByte(target, level, internalformat, width, height, depth, border, format, type, Array.from(source));
401
- }
402
- else if (source instanceof Uint16Array || source instanceof Int16Array) {
403
- this.native.texImage3DShort(target, level, internalformat, width, height, depth, border, format, type, Array.from(source));
404
- }
405
- else if (source instanceof Uint32Array || source instanceof Int32Array) {
406
- this.native.texImage3DInt(target, level, internalformat, width, height, depth, border, format, type, Array.from(source));
407
- }
408
- else if (source instanceof Float32Array) {
409
- this.native.texImage3DFloat(target, level, internalformat, width, height, depth, border, format, type, Array.from(source));
410
- }
411
- else if (source instanceof Float64Array) {
412
- this.native.texImage3DDouble(target, level, internalformat, width, height, depth, border, format, type, Array.from(source));
413
- }
414
- }
415
- else if (source instanceof ArrayBuffer) {
416
- // @ts-ignore
417
- if (source.nativeObject) {
418
- // @ts-ignore
419
- this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type,
420
- // @ts-ignore
421
- source.nativeObject);
422
- }
423
- else {
424
- this.native.texImage3DByte(target, level, internalformat, width, height, depth, border, format, type, Array.from(new Uint8Array(source)));
425
- }
426
- }
423
+ texImage3D(target, level, internalformat, width, height, depth, border, format, type, source);
427
424
  }
428
425
  else if (source instanceof android.graphics.Bitmap) {
429
- this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source);
426
+ texImage3D(target, level, internalformat, width, height, depth, border, format, type, source);
430
427
  }
431
428
  else if (source instanceof ImageSource) {
432
- this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source.android);
429
+ texImage3D(target, level, internalformat, width, height, depth, border, format, type, source.android);
433
430
  }
434
431
  else if (source instanceof ImageAsset) {
435
- this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source.native);
432
+ texImage3D(target, level, internalformat, width, height, depth, border, format, type, source.native);
436
433
  }
437
- else if (source instanceof ImageBitmap || source?.native instanceof org.nativescript.canvas.TNSImageBitmap) {
438
- this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source.native);
434
+ else if (source instanceof ImageBitmap) {
435
+ texImage3D(target, level, internalformat, width, height, depth, border, format, type, source.native);
439
436
  }
440
437
  else if (source && typeof source.tagName === 'string' && (source.tagName === 'IMG' || source.tagName === 'IMAGE')) {
441
438
  if (source._imageSource instanceof ImageSource) {
442
- this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source._imageSource.android);
439
+ texImage3D(target, level, internalformat, width, height, depth, border, format, type, source._imageSource.android);
443
440
  }
444
441
  else if (source._image instanceof android.graphics.Bitmap) {
445
- this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source._image);
442
+ texImage3D(target, level, internalformat, width, height, depth, border, format, type, source._image);
446
443
  }
447
444
  else if (source._asset instanceof ImageAsset) {
448
- this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source._asset.native);
445
+ texImage3D(target, level, internalformat, width, height, depth, border, format, type, source._asset.native);
449
446
  }
450
447
  else if (typeof source.src === 'string') {
451
448
  const result = ImageSource.fromFileSync(source.src);
452
- this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, result ? result.android : null);
449
+ texImage3D(target, level, internalformat, width, height, depth, border, format, type, result ? result.android : null);
453
450
  }
454
451
  }
455
452
  else if (source && typeof source.tagName === 'string' && source.tagName === 'CANVAS' && source._canvas instanceof Canvas) {
456
- this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source._canvas.android);
453
+ texImage3D(target, level, internalformat, width, height, depth, border, format, type, source._canvas.native);
457
454
  }
458
455
  }
459
456
  texStorage2D(target, levels, internalformat, width, height) {
460
457
  this._glCheckError('texStorage2D');
461
- this.native.texStorage2D(target, levels, internalformat, width, height);
458
+ const texStorage2D = this._getMethod('texStorage2D');
459
+ texStorage2D(target, levels, internalformat, width, height);
462
460
  }
463
461
  texStorage3D(target, levels, internalformat, width, height, depth) {
464
462
  this._glCheckError('texStorage3D');
465
- this.native.texStorage3D(target, levels, internalformat, width, height, depth);
463
+ const texStorage3D = this._getMethod('texStorage3D');
464
+ texStorage3D(target, levels, internalformat, width, height, depth);
466
465
  }
467
466
  texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData, srcOffset = 0) {
468
467
  this._glCheckError('texSubImage3D');
468
+ const texSubImage3D = this._getMethod('texSubImage3D');
469
469
  if (typeof srcData === 'number') {
470
- this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData);
470
+ texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData);
471
471
  }
472
472
  else if (srcData && srcData.buffer) {
473
- if (srcData instanceof Uint8Array) {
474
- if (srcOffset) {
475
- this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, this.toNativeArray(srcData, 'byte'), srcOffset);
476
- }
477
- else {
478
- this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, this.toNativeArray(srcData, 'byte'));
479
- }
480
- }
481
- if (srcData && srcData.buffer) {
482
- if (srcData instanceof Uint8Array || srcData instanceof Uint8ClampedArray) {
483
- this.native.texSubImage3DByte(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, Array.from(srcData), srcOffset);
484
- }
485
- else if (srcData instanceof Uint16Array || srcData instanceof Int16Array) {
486
- this.native.texSubImage3DShort(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, Array.from(srcData), srcOffset);
487
- }
488
- else if (srcData instanceof Uint32Array || srcData instanceof Int32Array) {
489
- this.native.texSubImage3DInt(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, Array.from(srcData), srcOffset);
490
- }
491
- else if (srcData instanceof Float32Array) {
492
- this.native.texSubImage3DFloat(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, Array.from(srcData), srcOffset);
493
- }
494
- else if (srcData instanceof Float64Array) {
495
- this.native.texSubImage3DDouble(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, Array.from(srcData), srcOffset);
496
- }
497
- }
498
- else if (srcData instanceof ArrayBuffer) {
499
- // @ts-ignore
500
- if (source.nativeObject) {
501
- this.native.texSubImage3DByte(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type,
502
- // @ts-ignore
503
- source.nativeObject, srcOffset);
504
- }
505
- else {
506
- this.native.texSubImage3DDouble(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, Array.from(new Uint8Array(srcData)), srcOffset);
507
- }
508
- }
473
+ texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData, srcOffset);
509
474
  }
510
475
  else if (srcData instanceof android.graphics.Bitmap) {
511
- this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData);
476
+ texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData);
512
477
  }
513
478
  else if (srcData instanceof ImageSource) {
514
- this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData.android);
479
+ texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData.android);
515
480
  }
516
481
  else if (srcData instanceof ImageAsset) {
517
- this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData.native);
482
+ texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData.native);
518
483
  }
519
- else if (srcData instanceof ImageBitmap || srcData?.native instanceof org.nativescript.canvas.TNSImageBitmap) {
520
- this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData.native);
484
+ else if (srcData instanceof ImageBitmap) {
485
+ texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData.native);
521
486
  }
522
487
  else if (srcData && typeof srcData.tagName === 'string' && (srcData.tagName === 'IMG' || srcData.tagName === 'IMAGE')) {
523
488
  if (srcData._imageSource instanceof ImageSource) {
524
- this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData._imageSource.android);
489
+ texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData._imageSource.android);
525
490
  }
526
491
  else if (srcData._image instanceof android.graphics.Bitmap) {
527
- this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData._image);
492
+ texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData._image);
528
493
  }
529
494
  else if (srcData._asset instanceof ImageAsset) {
530
- this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData._asset.native);
495
+ texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData._asset.native);
531
496
  }
532
497
  else if (typeof srcData.src === 'string') {
533
498
  const result = ImageSource.fromFileSync(srcData.src);
534
- this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, result ? result.android : null);
499
+ texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, result ? result.android : null);
535
500
  }
536
501
  }
537
502
  else if (srcData && typeof srcData.tagName === 'string' && srcData.tagName === 'CANVAS' && srcData._canvas instanceof TNSCanvas) {
538
- this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData._canvas.android);
503
+ texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData._canvas.native);
539
504
  }
540
505
  }
541
506
  transformFeedbackVaryings(program, varyings, bufferMode) {
542
507
  this._glCheckError('transformFeedbackVaryings');
543
- const value = program ? program.native : 0;
544
- this.native.transformFeedbackVaryings(value, varyings, bufferMode);
508
+ const transformFeedbackVaryings = this._getMethod('transformFeedbackVaryings');
509
+ const value = program.native;
510
+ transformFeedbackVaryings(value, varyings, bufferMode);
545
511
  }
546
512
  uniform1ui(location, v0) {
547
513
  this._glCheckError('uniform1ui');
548
- const value = location ? location.native : 0;
549
- this.native.uniform1ui(value, v0);
514
+ const value = location.native;
515
+ const uniform1ui = this._getMethod('uniform1ui');
516
+ uniform1ui(value, v0);
550
517
  }
551
518
  uniform1uiv(location, data) {
552
519
  this._glCheckError('uniform1uiv');
553
- const value = location ? location.native : 0;
554
- this.native.uniform1uiv(value, Array.from(data));
520
+ const uniform1uiv = this._getMethod('uniform1uiv');
521
+ const value = location.native;
522
+ uniform1uiv(value, data);
555
523
  }
556
524
  uniform2ui(location, v0, v1) {
557
525
  this._glCheckError('uniform2ui');
558
- const value = location ? location.native : 0;
559
- this.native.uniform2ui(value, v0, v1);
526
+ const uniform2ui = this._getMethod('uniform2ui');
527
+ const value = location.native;
528
+ uniform2ui(value, v0, v1);
560
529
  }
561
530
  uniform2uiv(location, data) {
562
531
  this._glCheckError('uniform2uiv');
563
- const value = location ? location.native : 0;
564
- this.native.uniform2uiv(value, Array.from(data));
532
+ const uniform2uiv = this._getMethod('uniform2uiv');
533
+ const value = location.native;
534
+ uniform2uiv(value, data);
565
535
  }
566
536
  /* Sync objects */
567
537
  /* Miscellaneous constants */
568
538
  uniform3ui(location, v0, v1, v2) {
569
539
  this._glCheckError('uniform3ui');
570
- const value = location ? location.native : 0;
571
- this.native.uniform3ui(value, v0, v1, v2);
540
+ const uniform3ui = this._getMethod('uniform3ui');
541
+ const value = location.native;
542
+ uniform3ui(value, v0, v1, v2);
572
543
  }
573
544
  uniform3uiv(location, data) {
574
545
  this._glCheckError('uniform3uiv');
575
- const value = location ? location.native : 0;
576
- this.native.uniform3uiv(value, Array.from(data));
546
+ const uniform3uiv = this._getMethod('uniform3uiv');
547
+ const value = location.native;
548
+ uniform3uiv(value, Array.from(data));
577
549
  }
578
550
  uniform4ui(location, v0, v1, v2, v3) {
579
551
  this._glCheckError('uniform4ui');
580
- const value = location ? location.native : 0;
581
- this.native.uniform4ui(value, v0, v1, v2, v3);
552
+ const uniform4ui = this._getMethod('uniform4ui');
553
+ const value = location.native;
554
+ uniform4ui(value, v0, v1, v2, v3);
582
555
  }
583
556
  uniform4uiv(location, data) {
584
557
  this._glCheckError('uniform4uiv');
585
- const value = location ? location.native : 0;
586
- this.native.uniform4uiv(value, Array.from(data));
558
+ const uniform4uiv = this._getMethod('uniform4uiv');
559
+ const value = location.native;
560
+ uniform4uiv(value, Array.from(data));
587
561
  }
588
562
  uniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding) {
589
563
  this._glCheckError('uniformBlockBinding');
590
- const value = program ? program.native : 0;
591
- this.native.uniformBlockBinding(value, uniformBlockIndex, uniformBlockBinding);
564
+ const uniformBlockBindingFunc = this._getMethod('uniformBlockBinding');
565
+ const value = program.native;
566
+ uniformBlockBindingFunc(value, uniformBlockIndex, uniformBlockBinding);
592
567
  }
593
568
  uniformMatrix2x3fv(location, transpose, data) {
594
- if (data instanceof Float32Array) {
595
- data = Array.from(data); //this.toNativeArray(data as any, 'float');
596
- }
597
569
  this._glCheckError('uniformMatrix2x3fv');
598
- const value = location ? location.native : 0;
599
- this.native.uniformMatrix2x3fv(value, transpose, data);
570
+ const uniformMatrix2x3fv = this._getMethod('uniformMatrix2x3fv');
571
+ const value = location.native;
572
+ uniformMatrix2x3fv(value, transpose, data);
600
573
  }
601
574
  uniformMatrix2x4fv(location, transpose, data) {
602
- if (data instanceof Float32Array) {
603
- data = Array.from(data); //this.toNativeArray(data as any, 'float');
604
- }
605
575
  this._glCheckError('uniformMatrix2x4fv');
606
- const value = location ? location.native : 0;
607
- this.native.uniformMatrix2x4fv(value, transpose, data);
576
+ const uniformMatrix2x4fv = this._getMethod('uniformMatrix2x4fv');
577
+ const value = location.native;
578
+ uniformMatrix2x4fv(value, transpose, data);
608
579
  }
609
580
  uniformMatrix3x2fv(location, transpose, data) {
610
- if (data instanceof Float32Array) {
611
- data = Array.from(data); //this.toNativeArray(data as any, 'float');
612
- }
613
581
  this._glCheckError('uniformMatrix3x2fv');
614
- const value = location ? location.native : 0;
615
- this.native.uniformMatrix3x2fv(value, transpose, data);
582
+ const uniformMatrix3x2fv = this._getMethod('uniformMatrix3x2fv');
583
+ const value = location.native;
584
+ uniformMatrix3x2fv(value, transpose, data);
616
585
  }
617
586
  uniformMatrix3x4fv(location, transpose, data) {
618
- if (data instanceof Float32Array) {
619
- data = Array.from(data); //this.toNativeArray(data as any, 'float');
620
- }
621
587
  this._glCheckError('uniformMatrix3x4fv');
622
- const value = location ? location.native : 0;
623
- this.native.uniformMatrix3x4fv(value, transpose, data);
588
+ const uniformMatrix3x4fv = this._getMethod('uniformMatrix3x4fv');
589
+ const value = location.native;
590
+ uniformMatrix3x4fv(value, transpose, data);
624
591
  }
625
592
  uniformMatrix4x2fv(location, transpose, data) {
626
- if (data instanceof Float32Array) {
627
- data = Array.from(data); //this.toNativeArray(data as any, 'float');
628
- }
629
593
  this._glCheckError('uniformMatrix4x2fv');
630
- const value = location ? location.native : 0;
631
- this.native.uniformMatrix4x2fv(value, transpose, data);
594
+ const uniformMatrix4x2fv = this._getMethod('uniformMatrix4x2fv');
595
+ const value = location.native;
596
+ uniformMatrix4x2fv(value, transpose, data);
632
597
  }
633
598
  uniformMatrix4x3fv(location, transpose, data) {
634
- if (data instanceof Float32Array) {
635
- data = Array.from(data); //this.toNativeArray(data as any, 'float');
636
- }
637
599
  this._glCheckError('uniformMatrix4x3fv');
638
- const value = location ? location.native : 0;
639
- this.native.uniformMatrix4x3fv(value, transpose, data);
600
+ const uniformMatrix4x3fv = this._getMethod('uniformMatrix4x3fv');
601
+ const value = location.native;
602
+ uniformMatrix4x3fv(value, transpose, data);
640
603
  }
641
604
  vertexAttribDivisor(index, divisor) {
642
605
  this._glCheckError('vertexAttribDivisor');
643
- this.native.vertexAttribDivisor(index, divisor);
606
+ const vertexAttribDivisor = this._getMethod('vertexAttribDivisor');
607
+ vertexAttribDivisor(index, divisor);
644
608
  }
645
609
  vertexAttribI4i(index, v0, v1, v2, v3) {
646
610
  this._glCheckError('vertexAttribI4i');
647
- this.native.vertexAttribI4i(index, v0, v1, v2, v3);
611
+ const vertexAttribI4i = this._getMethod('vertexAttribI4i');
612
+ vertexAttribI4i(index, v0, v1, v2, v3);
648
613
  }
649
614
  vertexAttribI4iv(index, value) {
650
- if (value instanceof Int32Array) {
651
- value = Array.from(value); //this.toNativeArray(value as any, 'int');
652
- }
653
615
  this._glCheckError('vertexAttribI4iv');
654
- this.native.vertexAttribI4uiv(index, value);
616
+ const vertexAttribI4iv = this._getMethod('vertexAttribI4iv');
617
+ vertexAttribI4iv(index, value);
655
618
  }
656
619
  vertexAttribI4ui(index, v0, v1, v2, v3) {
657
620
  this._glCheckError('vertexAttribI4ui');
658
- this.native.vertexAttribI4ui(index, v0, v1, v2, v3);
621
+ const vertexAttribI4ui = this._getMethod('vertexAttribI4ui');
622
+ vertexAttribI4ui(index, v0, v1, v2, v3);
659
623
  }
660
624
  vertexAttribI4uiv(index, value) {
661
- if (value instanceof Uint32Array) {
662
- value = Array.from(value); //this.toNativeArray(value as any, 'int');
663
- }
664
625
  this._glCheckError('vertexAttribI4uiv');
665
- this.native.vertexAttribI4uiv(index, value);
626
+ const vertexAttribI4uiv = this._getMethod('vertexAttribI4uiv');
627
+ vertexAttribI4uiv(index, value);
666
628
  }
667
629
  }
630
+ (() => {
631
+ Helpers.initialize();
632
+ ctor = global.CanvasJSIModule.createWebGL2Context;
633
+ })();
668
634
  //# sourceMappingURL=index.android.js.map