@gjsify/webgl 0.0.2

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 (154) hide show
  1. package/README.md +14 -0
  2. package/lib/cjs/@types/glsl-tokenizer/index.d.js +0 -0
  3. package/lib/cjs/extensions/ext-blend-minmax.js +37 -0
  4. package/lib/cjs/extensions/ext-texture-filter-anisotropic.js +37 -0
  5. package/lib/cjs/extensions/oes-element-index-unit.js +33 -0
  6. package/lib/cjs/extensions/oes-standard-derivatives.js +36 -0
  7. package/lib/cjs/extensions/oes-texture-float-linear.js +33 -0
  8. package/lib/cjs/extensions/oes-texture-float.js +33 -0
  9. package/lib/cjs/extensions/stackgl-destroy-context.js +31 -0
  10. package/lib/cjs/extensions/stackgl-resize-drawing-buffer.js +31 -0
  11. package/lib/cjs/html-canvas-element.js +89 -0
  12. package/lib/cjs/index.js +34 -0
  13. package/lib/cjs/index.spec.js +175 -0
  14. package/lib/cjs/linkable.js +69 -0
  15. package/lib/cjs/test.js +25 -0
  16. package/lib/cjs/types/constructor.js +15 -0
  17. package/lib/cjs/types/extension.js +15 -0
  18. package/lib/cjs/types/index.js +21 -0
  19. package/lib/cjs/types/typed-array.js +15 -0
  20. package/lib/cjs/types/webgl-constants.js +15 -0
  21. package/lib/cjs/types/webgl-context-attribute-options.js +15 -0
  22. package/lib/cjs/utils.js +241 -0
  23. package/lib/cjs/webgl-active-info.js +29 -0
  24. package/lib/cjs/webgl-buffer.js +37 -0
  25. package/lib/cjs/webgl-context-attributes.js +43 -0
  26. package/lib/cjs/webgl-drawing-buffer-wrapper.js +29 -0
  27. package/lib/cjs/webgl-framebuffer.js +128 -0
  28. package/lib/cjs/webgl-program.js +45 -0
  29. package/lib/cjs/webgl-renderbuffer.js +43 -0
  30. package/lib/cjs/webgl-rendering-context.js +3355 -0
  31. package/lib/cjs/webgl-shader-precision-format.js +30 -0
  32. package/lib/cjs/webgl-shader.js +42 -0
  33. package/lib/cjs/webgl-texture-unit.js +31 -0
  34. package/lib/cjs/webgl-texture.js +41 -0
  35. package/lib/cjs/webgl-uniform-location.js +34 -0
  36. package/lib/cjs/webgl-vertex-attribute.js +166 -0
  37. package/lib/esm/@types/glsl-tokenizer/index.d.js +0 -0
  38. package/lib/esm/extensions/ext-blend-minmax.js +18 -0
  39. package/lib/esm/extensions/ext-texture-filter-anisotropic.js +18 -0
  40. package/lib/esm/extensions/oes-element-index-unit.js +14 -0
  41. package/lib/esm/extensions/oes-standard-derivatives.js +17 -0
  42. package/lib/esm/extensions/oes-texture-float-linear.js +14 -0
  43. package/lib/esm/extensions/oes-texture-float.js +14 -0
  44. package/lib/esm/extensions/stackgl-destroy-context.js +12 -0
  45. package/lib/esm/extensions/stackgl-resize-drawing-buffer.js +12 -0
  46. package/lib/esm/html-canvas-element.js +70 -0
  47. package/lib/esm/index.js +18 -0
  48. package/lib/esm/index.spec.js +146 -0
  49. package/lib/esm/linkable.js +50 -0
  50. package/lib/esm/test.js +3 -0
  51. package/lib/esm/types/constructor.js +0 -0
  52. package/lib/esm/types/extension.js +0 -0
  53. package/lib/esm/types/index.js +5 -0
  54. package/lib/esm/types/typed-array.js +0 -0
  55. package/lib/esm/types/webgl-constants.js +0 -0
  56. package/lib/esm/types/webgl-context-attribute-options.js +0 -0
  57. package/lib/esm/utils.js +212 -0
  58. package/lib/esm/webgl-active-info.js +10 -0
  59. package/lib/esm/webgl-buffer.js +18 -0
  60. package/lib/esm/webgl-context-attributes.js +24 -0
  61. package/lib/esm/webgl-drawing-buffer-wrapper.js +10 -0
  62. package/lib/esm/webgl-framebuffer.js +109 -0
  63. package/lib/esm/webgl-program.js +26 -0
  64. package/lib/esm/webgl-renderbuffer.js +24 -0
  65. package/lib/esm/webgl-rendering-context.js +3343 -0
  66. package/lib/esm/webgl-shader-precision-format.js +11 -0
  67. package/lib/esm/webgl-shader.js +23 -0
  68. package/lib/esm/webgl-texture-unit.js +12 -0
  69. package/lib/esm/webgl-texture.js +22 -0
  70. package/lib/esm/webgl-uniform-location.js +15 -0
  71. package/lib/esm/webgl-vertex-attribute.js +147 -0
  72. package/lib/types/extensions/ext-blend-minmax.d.ts +7 -0
  73. package/lib/types/extensions/ext-texture-filter-anisotropic.d.ts +7 -0
  74. package/lib/types/extensions/oes-element-index-unit.d.ts +4 -0
  75. package/lib/types/extensions/oes-standard-derivatives.d.ts +6 -0
  76. package/lib/types/extensions/oes-texture-float-linear.d.ts +4 -0
  77. package/lib/types/extensions/oes-texture-float.d.ts +4 -0
  78. package/lib/types/extensions/stackgl-destroy-context.d.ts +6 -0
  79. package/lib/types/extensions/stackgl-resize-drawing-buffer.d.ts +6 -0
  80. package/lib/types/html-canvas-element.d.ts +38 -0
  81. package/lib/types/index.d.ts +18 -0
  82. package/lib/types/linkable.d.ts +13 -0
  83. package/lib/types/types/constructor.d.ts +3 -0
  84. package/lib/types/types/extension.d.ts +2 -0
  85. package/lib/types/types/index.d.ts +5 -0
  86. package/lib/types/types/typed-array.d.ts +1 -0
  87. package/lib/types/types/webgl-constants.d.ts +299 -0
  88. package/lib/types/types/webgl-context-attribute-options.d.ts +12 -0
  89. package/lib/types/utils.d.ts +32 -0
  90. package/lib/types/webgl-active-info.d.ts +7 -0
  91. package/lib/types/webgl-buffer.d.ts +10 -0
  92. package/lib/types/webgl-context-attributes.d.ts +14 -0
  93. package/lib/types/webgl-drawing-buffer-wrapper.d.ts +6 -0
  94. package/lib/types/webgl-framebuffer.d.ts +17 -0
  95. package/lib/types/webgl-program.d.ts +14 -0
  96. package/lib/types/webgl-renderbuffer.d.ts +12 -0
  97. package/lib/types/webgl-rendering-context.d.ts +260 -0
  98. package/lib/types/webgl-shader-precision-format.d.ts +7 -0
  99. package/lib/types/webgl-shader.d.ts +12 -0
  100. package/lib/types/webgl-texture-unit.d.ts +10 -0
  101. package/lib/types/webgl-texture.d.ts +14 -0
  102. package/lib/types/webgl-uniform-location.d.ts +18 -0
  103. package/lib/types/webgl-vertex-attribute.d.ts +38 -0
  104. package/meson.build +39 -0
  105. package/package.json +55 -0
  106. package/src/test/app.vala +60 -0
  107. package/src/ts/@types/glsl-tokenizer/index.d.ts +18 -0
  108. package/src/ts/extensions/angle-instanced-arrays.ts.off +232 -0
  109. package/src/ts/extensions/ext-blend-minmax.ts +18 -0
  110. package/src/ts/extensions/ext-texture-filter-anisotropic.ts +18 -0
  111. package/src/ts/extensions/oes-element-index-unit.ts +14 -0
  112. package/src/ts/extensions/oes-standard-derivatives.ts +17 -0
  113. package/src/ts/extensions/oes-texture-float-linear.ts +14 -0
  114. package/src/ts/extensions/oes-texture-float.ts +14 -0
  115. package/src/ts/extensions/oes-vertex-array-object.ts.off +128 -0
  116. package/src/ts/extensions/stackgl-destroy-context.ts +12 -0
  117. package/src/ts/extensions/stackgl-resize-drawing-buffer.ts +14 -0
  118. package/src/ts/extensions/webgl-draw-buffers.ts.off +107 -0
  119. package/src/ts/html-canvas-element.ts +98 -0
  120. package/src/ts/index.spec.ts +186 -0
  121. package/src/ts/index.ts +21 -0
  122. package/src/ts/linkable.ts +55 -0
  123. package/src/ts/test.ts +6 -0
  124. package/src/ts/types/constructor.ts +3 -0
  125. package/src/ts/types/extension.ts +3 -0
  126. package/src/ts/types/index.ts +26 -0
  127. package/src/ts/types/typed-array.ts +1 -0
  128. package/src/ts/types/webgl-constants.ts +300 -0
  129. package/src/ts/types/webgl-context-attribute-options.ts +12 -0
  130. package/src/ts/utils.ts +266 -0
  131. package/src/ts/webgl-active-info.ts +13 -0
  132. package/src/ts/webgl-buffer.ts +21 -0
  133. package/src/ts/webgl-context-attributes.ts +24 -0
  134. package/src/ts/webgl-drawing-buffer-wrapper.ts +10 -0
  135. package/src/ts/webgl-framebuffer.ts +133 -0
  136. package/src/ts/webgl-program.ts +30 -0
  137. package/src/ts/webgl-renderbuffer.ts +28 -0
  138. package/src/ts/webgl-rendering-context.ts +4050 -0
  139. package/src/ts/webgl-shader-precision-format.ts +12 -0
  140. package/src/ts/webgl-shader.ts +29 -0
  141. package/src/ts/webgl-texture-unit.ts +16 -0
  142. package/src/ts/webgl-texture.ts +27 -0
  143. package/src/ts/webgl-uniform-location.ts +18 -0
  144. package/src/ts/webgl-vertex-attribute.ts +169 -0
  145. package/src/vala/handle-types.vala +23 -0
  146. package/src/vala/webgl-rendering-context-base.vala +1265 -0
  147. package/src/vala/webgl-rendering-context.vala +265 -0
  148. package/src/vapi/epoxy.vapi +14558 -0
  149. package/src/vapi/glesv2.vapi +670 -0
  150. package/test.gjs.js +39972 -0
  151. package/test.gjs.js.meta.json +1 -0
  152. package/tmp/.tsbuildinfo +1 -0
  153. package/tsconfig.json +38 -0
  154. package/tsconfig.types.json +7 -0
package/README.md ADDED
@@ -0,0 +1,14 @@
1
+ # @gjsify/webgl
2
+
3
+ WebGL module for Gjs
4
+
5
+ ## Dependencies
6
+
7
+ ```
8
+ sudo dnf install libepoxy-devel
9
+ ```
10
+
11
+ ## Inspirations and credits
12
+ * https://github.com/realh/gwebgl
13
+ * https://github.com/stackgl/headless-gl
14
+ * https://github.com/Maia-Everett/valagl
File without changes
@@ -0,0 +1,37 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var ext_blend_minmax_exports = {};
19
+ __export(ext_blend_minmax_exports, {
20
+ EXTBlendMinMax: () => EXTBlendMinMax,
21
+ getEXTBlendMinMax: () => getEXTBlendMinMax
22
+ });
23
+ module.exports = __toCommonJS(ext_blend_minmax_exports);
24
+ class EXTBlendMinMax {
25
+ constructor() {
26
+ this.MIN_EXT = 32775;
27
+ this.MAX_EXT = 32776;
28
+ }
29
+ }
30
+ function getEXTBlendMinMax(context) {
31
+ let result = null;
32
+ const exts = context.getSupportedExtensions();
33
+ if (exts && exts.indexOf("EXT_blend_minmax") >= 0) {
34
+ result = new EXTBlendMinMax();
35
+ }
36
+ return result;
37
+ }
@@ -0,0 +1,37 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var ext_texture_filter_anisotropic_exports = {};
19
+ __export(ext_texture_filter_anisotropic_exports, {
20
+ EXTTextureFilterAnisotropic: () => EXTTextureFilterAnisotropic,
21
+ getEXTTextureFilterAnisotropic: () => getEXTTextureFilterAnisotropic
22
+ });
23
+ module.exports = __toCommonJS(ext_texture_filter_anisotropic_exports);
24
+ class EXTTextureFilterAnisotropic {
25
+ constructor() {
26
+ this.TEXTURE_MAX_ANISOTROPY_EXT = 34046;
27
+ this.MAX_TEXTURE_MAX_ANISOTROPY_EXT = 34047;
28
+ }
29
+ }
30
+ function getEXTTextureFilterAnisotropic(context) {
31
+ let result = null;
32
+ const exts = context.getSupportedExtensions();
33
+ if (exts && exts.indexOf("EXT_texture_filter_anisotropic") >= 0) {
34
+ result = new EXTTextureFilterAnisotropic();
35
+ }
36
+ return result;
37
+ }
@@ -0,0 +1,33 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var oes_element_index_unit_exports = {};
19
+ __export(oes_element_index_unit_exports, {
20
+ OESElementIndexUint: () => OESElementIndexUint,
21
+ getOESElementIndexUint: () => getOESElementIndexUint
22
+ });
23
+ module.exports = __toCommonJS(oes_element_index_unit_exports);
24
+ class OESElementIndexUint {
25
+ }
26
+ function getOESElementIndexUint(context) {
27
+ let result = null;
28
+ const exts = context.getSupportedExtensions();
29
+ if (exts && exts.indexOf("OES_element_index_uint") >= 0) {
30
+ result = new OESElementIndexUint();
31
+ }
32
+ return result;
33
+ }
@@ -0,0 +1,36 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var oes_standard_derivatives_exports = {};
19
+ __export(oes_standard_derivatives_exports, {
20
+ OESStandardDerivatives: () => OESStandardDerivatives,
21
+ getOESStandardDerivatives: () => getOESStandardDerivatives
22
+ });
23
+ module.exports = __toCommonJS(oes_standard_derivatives_exports);
24
+ class OESStandardDerivatives {
25
+ constructor() {
26
+ this.FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 35723;
27
+ }
28
+ }
29
+ function getOESStandardDerivatives(context) {
30
+ let result = null;
31
+ const exts = context.getSupportedExtensions();
32
+ if (exts && exts.indexOf("OES_standard_derivatives") >= 0) {
33
+ result = new OESStandardDerivatives();
34
+ }
35
+ return result;
36
+ }
@@ -0,0 +1,33 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var oes_texture_float_linear_exports = {};
19
+ __export(oes_texture_float_linear_exports, {
20
+ OESTextureFloatLinear: () => OESTextureFloatLinear,
21
+ getOESTextureFloatLinear: () => getOESTextureFloatLinear
22
+ });
23
+ module.exports = __toCommonJS(oes_texture_float_linear_exports);
24
+ class OESTextureFloatLinear {
25
+ }
26
+ function getOESTextureFloatLinear(context) {
27
+ let result = null;
28
+ const exts = context.getSupportedExtensions();
29
+ if (exts && exts.indexOf("OES_texture_float_linear") >= 0) {
30
+ result = new OESTextureFloatLinear();
31
+ }
32
+ return result;
33
+ }
@@ -0,0 +1,33 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var oes_texture_float_exports = {};
19
+ __export(oes_texture_float_exports, {
20
+ OESTextureFloat: () => OESTextureFloat,
21
+ getOESTextureFloat: () => getOESTextureFloat
22
+ });
23
+ module.exports = __toCommonJS(oes_texture_float_exports);
24
+ class OESTextureFloat {
25
+ }
26
+ function getOESTextureFloat(context) {
27
+ let result = null;
28
+ const exts = context.getSupportedExtensions();
29
+ if (exts && exts.indexOf("OES_texture_float") >= 0) {
30
+ result = new OESTextureFloat();
31
+ }
32
+ return result;
33
+ }
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var stackgl_destroy_context_exports = {};
19
+ __export(stackgl_destroy_context_exports, {
20
+ STACKGLDestroyContext: () => STACKGLDestroyContext,
21
+ getSTACKGLDestroyContext: () => getSTACKGLDestroyContext
22
+ });
23
+ module.exports = __toCommonJS(stackgl_destroy_context_exports);
24
+ class STACKGLDestroyContext {
25
+ constructor(ctx) {
26
+ this.destroy = ctx.destroy.bind(ctx);
27
+ }
28
+ }
29
+ function getSTACKGLDestroyContext(ctx) {
30
+ return new STACKGLDestroyContext(ctx);
31
+ }
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var stackgl_resize_drawing_buffer_exports = {};
19
+ __export(stackgl_resize_drawing_buffer_exports, {
20
+ STACKGLResizeDrawingBuffer: () => STACKGLResizeDrawingBuffer,
21
+ getSTACKGLResizeDrawingBuffer: () => getSTACKGLResizeDrawingBuffer
22
+ });
23
+ module.exports = __toCommonJS(stackgl_resize_drawing_buffer_exports);
24
+ class STACKGLResizeDrawingBuffer {
25
+ constructor(ctx) {
26
+ this.resize = ctx.resize.bind(ctx);
27
+ }
28
+ }
29
+ function getSTACKGLResizeDrawingBuffer(ctx) {
30
+ return new STACKGLResizeDrawingBuffer(ctx);
31
+ }
@@ -0,0 +1,89 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var html_canvas_element_exports = {};
19
+ __export(html_canvas_element_exports, {
20
+ GjsifyHTMLCanvasElement: () => GjsifyHTMLCanvasElement,
21
+ HTMLCanvasElement: () => GjsifyHTMLCanvasElement
22
+ });
23
+ module.exports = __toCommonJS(html_canvas_element_exports);
24
+ var import_utils = require("@gjsify/utils");
25
+ var import_webgl_rendering_context = require("./webgl-rendering-context.js");
26
+ class GjsifyHTMLCanvasElement {
27
+ constructor(gtkGlArea) {
28
+ this.gtkGlArea = gtkGlArea;
29
+ }
30
+ _getGlArea() {
31
+ return this.gtkGlArea;
32
+ }
33
+ /** Gets the height of a canvas element on a document. */
34
+ get height() {
35
+ return this.gtkGlArea.get_allocated_height();
36
+ }
37
+ get clientHeight() {
38
+ return this.height;
39
+ }
40
+ /** Sets the height of a canvas element on a document. */
41
+ set height(_height) {
42
+ (0, import_utils.warnNotImplemented)("GjsifyHTMLCanvasElement.set_height");
43
+ }
44
+ /** Gets the width of a canvas element on a document. */
45
+ get width() {
46
+ return this.gtkGlArea.get_allocated_width();
47
+ }
48
+ /** Sets the width of a canvas element on a document. */
49
+ set width(_width) {
50
+ (0, import_utils.warnNotImplemented)("GjsifyHTMLCanvasElement.set_width");
51
+ }
52
+ get clientWidth() {
53
+ return this.width;
54
+ }
55
+ captureStream(_frameRequestRate) {
56
+ (0, import_utils.notImplemented)("HTMLCanvasElement.captureStream");
57
+ return new MediaStream();
58
+ }
59
+ getContext(contextId, options) {
60
+ switch (contextId) {
61
+ case "webgl":
62
+ if (this._webgl) {
63
+ return this._webgl;
64
+ }
65
+ this._webgl = new import_webgl_rendering_context.GjsifyWebGLRenderingContext(this, options);
66
+ return this._webgl;
67
+ default:
68
+ (0, import_utils.warnNotImplemented)(`GjsifyHTMLCanvasElement.getContext("${contextId}")`);
69
+ }
70
+ return null;
71
+ }
72
+ toBlob(_callback, _type, _quality) {
73
+ (0, import_utils.notImplemented)("HTMLCanvasElement.toBlob");
74
+ }
75
+ /**
76
+ * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element.
77
+ * @param _type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image.
78
+ */
79
+ toDataURL(_type, _quality) {
80
+ (0, import_utils.notImplemented)("HTMLCanvasElement.toDataURL");
81
+ return "";
82
+ }
83
+ addEventListener(_type, _listener, _options) {
84
+ (0, import_utils.notImplemented)("HTMLCanvasElement.addEventListener");
85
+ }
86
+ removeEventListener(_type, _listener, _options) {
87
+ (0, import_utils.notImplemented)("HTMLCanvasElement.removeEventListener");
88
+ }
89
+ }
@@ -0,0 +1,34 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var ts_exports = {};
16
+ module.exports = __toCommonJS(ts_exports);
17
+ var import_gjs = require("@girs/gjs");
18
+ var import_gio_2 = require("@girs/gio-2.0");
19
+ var import_gtk_4 = require("@girs/gtk-4.0");
20
+ __reExport(ts_exports, require("./html-canvas-element.js"), module.exports);
21
+ __reExport(ts_exports, require("./webgl-active-info.js"), module.exports);
22
+ __reExport(ts_exports, require("./webgl-buffer.js"), module.exports);
23
+ __reExport(ts_exports, require("./webgl-context-attributes.js"), module.exports);
24
+ __reExport(ts_exports, require("./webgl-drawing-buffer-wrapper.js"), module.exports);
25
+ __reExport(ts_exports, require("./webgl-framebuffer.js"), module.exports);
26
+ __reExport(ts_exports, require("./webgl-program.js"), module.exports);
27
+ __reExport(ts_exports, require("./webgl-renderbuffer.js"), module.exports);
28
+ __reExport(ts_exports, require("./webgl-rendering-context.js"), module.exports);
29
+ __reExport(ts_exports, require("./webgl-shader-precision-format.js"), module.exports);
30
+ __reExport(ts_exports, require("./webgl-shader.js"), module.exports);
31
+ __reExport(ts_exports, require("./webgl-texture-unit.js"), module.exports);
32
+ __reExport(ts_exports, require("./webgl-texture.js"), module.exports);
33
+ __reExport(ts_exports, require("./webgl-uniform-location.js"), module.exports);
34
+ __reExport(ts_exports, require("./webgl-vertex-attribute.js"), module.exports);
@@ -0,0 +1,175 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var index_spec_exports = {};
29
+ __export(index_spec_exports, {
30
+ default: () => index_spec_default
31
+ });
32
+ module.exports = __toCommonJS(index_spec_exports);
33
+ var import_unit = require("@gjsify/unit");
34
+ var import_webgl = require("@gjsify/webgl");
35
+ var import_glib_2 = __toESM(require("@girs/glib-2.0"), 1);
36
+ var import_gtk_4 = __toESM(require("@girs/gtk-4.0"), 1);
37
+ var import_gio_2 = __toESM(require("@girs/gio-2.0"), 1);
38
+ const GL_CONSTANT_NAMES = ["ACTIVE_ATTRIBUTES", "ACTIVE_TEXTURE", "ACTIVE_UNIFORMS", "ALIASED_LINE_WIDTH_RANGE", "ALIASED_POINT_SIZE_RANGE", "ALPHA", "ALPHA_BITS", "ALWAYS", "ARRAY_BUFFER", "ARRAY_BUFFER_BINDING", "ATTACHED_SHADERS", "BACK", "BLEND", "BLEND_COLOR", "BLEND_DST_ALPHA", "BLEND_DST_RGB", "BLEND_EQUATION", "BLEND_EQUATION_ALPHA", "BLEND_EQUATION_RGB", "BLEND_SRC_ALPHA", "BLEND_SRC_RGB", "BLUE_BITS", "BOOL", "BOOL_VEC2", "BOOL_VEC3", "BOOL_VEC4", "BROWSER_DEFAULT_WEBGL", "BUFFER_SIZE", "BUFFER_USAGE", "BYTE", "CCW", "CLAMP_TO_EDGE", "COLOR_ATTACHMENT0", "COLOR_BUFFER_BIT", "COLOR_CLEAR_VALUE", "COLOR_WRITEMASK", "COMPILE_STATUS", "COMPRESSED_TEXTURE_FORMATS", "CONSTANT_ALPHA", "CONSTANT_COLOR", "CONTEXT_LOST_WEBGL", "CULL_FACE", "CULL_FACE_MODE", "CURRENT_PROGRAM", "CURRENT_VERTEX_ATTRIB", "CW", "DECR", "DECR_WRAP", "DELETE_STATUS", "DEPTH_ATTACHMENT", "DEPTH_BITS", "DEPTH_BUFFER_BIT", "DEPTH_CLEAR_VALUE", "DEPTH_COMPONENT", "DEPTH_COMPONENT16", "DEPTH_FUNC", "DEPTH_RANGE", "DEPTH_STENCIL", "DEPTH_STENCIL_ATTACHMENT", "DEPTH_TEST", "DEPTH_WRITEMASK", "DITHER", "DONT_CARE", "DST_ALPHA", "DST_COLOR", "DYNAMIC_DRAW", "ELEMENT_ARRAY_BUFFER", "ELEMENT_ARRAY_BUFFER_BINDING", "EQUAL", "FASTEST", "FLOAT", "FLOAT_MAT2", "FLOAT_MAT3", "FLOAT_MAT4", "FLOAT_VEC2", "FLOAT_VEC3", "FLOAT_VEC4", "FRAGMENT_SHADER", "FRAMEBUFFER", "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", "FRAMEBUFFER_BINDING", "FRAMEBUFFER_COMPLETE", "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", "FRAMEBUFFER_UNSUPPORTED", "FRONT", "FRONT_AND_BACK", "FRONT_FACE", "FUNC_ADD", "FUNC_REVERSE_SUBTRACT", "FUNC_SUBTRACT", "GENERATE_MIPMAP_HINT", "GEQUAL", "GREATER", "GREEN_BITS", "HIGH_FLOAT", "HIGH_INT", "IMPLEMENTATION_COLOR_READ_FORMAT", "IMPLEMENTATION_COLOR_READ_TYPE", "INCR", "INCR_WRAP", "INT", "INT_VEC2", "INT_VEC3", "INT_VEC4", "INVALID_ENUM", "INVALID_FRAMEBUFFER_OPERATION", "INVALID_OPERATION", "INVALID_VALUE", "INVERT", "KEEP", "LEQUAL", "LESS", "LINEAR", "LINEAR_MIPMAP_LINEAR", "LINEAR_MIPMAP_NEAREST", "LINES", "LINE_LOOP", "LINE_STRIP", "LINE_WIDTH", "LINK_STATUS", "LOW_FLOAT", "LOW_INT", "LUMINANCE", "LUMINANCE_ALPHA", "MAX_COMBINED_TEXTURE_IMAGE_UNITS", "MAX_CUBE_MAP_TEXTURE_SIZE", "MAX_FRAGMENT_UNIFORM_VECTORS", "MAX_RENDERBUFFER_SIZE", "MAX_TEXTURE_IMAGE_UNITS", "MAX_TEXTURE_SIZE", "MAX_VARYING_VECTORS", "MAX_VERTEX_ATTRIBS", "MAX_VERTEX_TEXTURE_IMAGE_UNITS", "MAX_VERTEX_UNIFORM_VECTORS", "MAX_VIEWPORT_DIMS", "MEDIUM_FLOAT", "MEDIUM_INT", "MIRRORED_REPEAT", "NEAREST", "NEAREST_MIPMAP_LINEAR", "NEAREST_MIPMAP_NEAREST", "NEVER", "NICEST", "NONE", "NOTEQUAL", "NO_ERROR", "ONE", "ONE_MINUS_CONSTANT_ALPHA", "ONE_MINUS_CONSTANT_COLOR", "ONE_MINUS_DST_ALPHA", "ONE_MINUS_DST_COLOR", "ONE_MINUS_SRC_ALPHA", "ONE_MINUS_SRC_COLOR", "OUT_OF_MEMORY", "PACK_ALIGNMENT", "POINTS", "POLYGON_OFFSET_FACTOR", "POLYGON_OFFSET_FILL", "POLYGON_OFFSET_UNITS", "RED_BITS", "RENDERBUFFER", "RENDERBUFFER_ALPHA_SIZE", "RENDERBUFFER_BINDING", "RENDERBUFFER_BLUE_SIZE", "RENDERBUFFER_DEPTH_SIZE", "RENDERBUFFER_GREEN_SIZE", "RENDERBUFFER_HEIGHT", "RENDERBUFFER_INTERNAL_FORMAT", "RENDERBUFFER_RED_SIZE", "RENDERBUFFER_STENCIL_SIZE", "RENDERBUFFER_WIDTH", "RENDERER", "REPEAT", "REPLACE", "RGB", "RGB565", "RGB5_A1", "RGBA", "RGBA4", "SAMPLER_2D", "SAMPLER_CUBE", "SAMPLES", "SAMPLE_ALPHA_TO_COVERAGE", "SAMPLE_BUFFERS", "SAMPLE_COVERAGE", "SAMPLE_COVERAGE_INVERT", "SAMPLE_COVERAGE_VALUE", "SCISSOR_BOX", "SCISSOR_TEST", "SHADER_TYPE", "SHADING_LANGUAGE_VERSION", "SHORT", "SRC_ALPHA", "SRC_ALPHA_SATURATE", "SRC_COLOR", "STATIC_DRAW", "STENCIL_ATTACHMENT", "STENCIL_BACK_FAIL", "STENCIL_BACK_FUNC", "STENCIL_BACK_PASS_DEPTH_FAIL", "STENCIL_BACK_PASS_DEPTH_PASS", "STENCIL_BACK_REF", "STENCIL_BACK_VALUE_MASK", "STENCIL_BACK_WRITEMASK", "STENCIL_BITS", "STENCIL_BUFFER_BIT", "STENCIL_CLEAR_VALUE", "STENCIL_FAIL", "STENCIL_FUNC", "STENCIL_INDEX8", "STENCIL_PASS_DEPTH_FAIL", "STENCIL_PASS_DEPTH_PASS", "STENCIL_REF", "STENCIL_TEST", "STENCIL_VALUE_MASK", "STENCIL_WRITEMASK", "STREAM_DRAW", "SUBPIXEL_BITS", "TEXTURE", "TEXTURE0", "TEXTURE1", "TEXTURE10", "TEXTURE11", "TEXTURE12", "TEXTURE13", "TEXTURE14", "TEXTURE15", "TEXTURE16", "TEXTURE17", "TEXTURE18", "TEXTURE19", "TEXTURE2", "TEXTURE20", "TEXTURE21", "TEXTURE22", "TEXTURE23", "TEXTURE24", "TEXTURE25", "TEXTURE26", "TEXTURE27", "TEXTURE28", "TEXTURE29", "TEXTURE3", "TEXTURE30", "TEXTURE31", "TEXTURE4", "TEXTURE5", "TEXTURE6", "TEXTURE7", "TEXTURE8", "TEXTURE9", "TEXTURE_2D", "TEXTURE_BINDING_2D", "TEXTURE_BINDING_CUBE_MAP", "TEXTURE_CUBE_MAP", "TEXTURE_CUBE_MAP_NEGATIVE_X", "TEXTURE_CUBE_MAP_NEGATIVE_Y", "TEXTURE_CUBE_MAP_NEGATIVE_Z", "TEXTURE_CUBE_MAP_POSITIVE_X", "TEXTURE_CUBE_MAP_POSITIVE_Y", "TEXTURE_CUBE_MAP_POSITIVE_Z", "TEXTURE_MAG_FILTER", "TEXTURE_MIN_FILTER", "TEXTURE_WRAP_S", "TEXTURE_WRAP_T", "TRIANGLES", "TRIANGLE_FAN", "TRIANGLE_STRIP", "UNPACK_ALIGNMENT", "UNPACK_COLORSPACE_CONVERSION_WEBGL", "UNPACK_FLIP_Y_WEBGL", "UNPACK_PREMULTIPLY_ALPHA_WEBGL", "UNSIGNED_BYTE", "UNSIGNED_INT", "UNSIGNED_SHORT", "UNSIGNED_SHORT_4_4_4_4", "UNSIGNED_SHORT_5_5_5_1", "UNSIGNED_SHORT_5_6_5", "VALIDATE_STATUS", "VENDOR", "VERSION", "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", "VERTEX_ATTRIB_ARRAY_ENABLED", "VERTEX_ATTRIB_ARRAY_NORMALIZED", "VERTEX_ATTRIB_ARRAY_POINTER", "VERTEX_ATTRIB_ARRAY_SIZE", "VERTEX_ATTRIB_ARRAY_STRIDE", "VERTEX_ATTRIB_ARRAY_TYPE", "VERTEX_SHADER", "VIEWPORT", "ZERO"];
39
+ var index_spec_default = async () => {
40
+ let app;
41
+ let win;
42
+ let glArea;
43
+ let canvas;
44
+ let ctx;
45
+ if (import_glib_2.default.getenv("CI") || import_glib_2.default.getenv("GITHUB_ACTIONS") || import_glib_2.default.getenv("TRAVIS") || import_glib_2.default.getenv("CIRCLECI") || import_glib_2.default.getenv("GITLAB_CI")) {
46
+ console.info("Skipping webgl tests on CI");
47
+ return;
48
+ }
49
+ const initApp = async () => {
50
+ import_gtk_4.default.init();
51
+ app = new import_gtk_4.default.Application({
52
+ application_id: "gjsify.webgl.index.spec.ts",
53
+ flags: import_gio_2.default.ApplicationFlags.FLAGS_NONE
54
+ });
55
+ const p = new Promise((resolve) => {
56
+ app.connect("activate", () => {
57
+ resolve(app);
58
+ });
59
+ });
60
+ win = new import_gtk_4.default.ApplicationWindow(app);
61
+ win.set_default_size(800, 600);
62
+ app.run([]);
63
+ return p;
64
+ };
65
+ const initGLArea = async () => {
66
+ glArea = new import_gtk_4.default.GLArea({});
67
+ const p = new Promise((resolve, reject) => {
68
+ glArea.connect("realize", () => {
69
+ glArea.make_current();
70
+ const error = glArea.get_error();
71
+ if (error) {
72
+ reject(error);
73
+ }
74
+ resolve(glArea);
75
+ });
76
+ });
77
+ glArea.set_use_es(true);
78
+ glArea.set_has_depth_buffer(true);
79
+ glArea.set_has_stencil_buffer(true);
80
+ glArea.set_required_version(3, 2);
81
+ win.set_child(glArea);
82
+ win.present();
83
+ return p;
84
+ };
85
+ await (0, import_unit.describe)("Gtk.ApplicationWindow", async () => {
86
+ await (0, import_unit.it)("should be able to create a new instance", async () => {
87
+ app = await initApp();
88
+ (0, import_unit.expect)(app).toBeDefined();
89
+ });
90
+ });
91
+ await (0, import_unit.describe)("Gtk.GLArea", async () => {
92
+ await (0, import_unit.it)("should be able to create a new instance", async () => {
93
+ glArea = await initGLArea();
94
+ (0, import_unit.expect)(glArea).toBeDefined();
95
+ });
96
+ });
97
+ await (0, import_unit.describe)("HTMLCanvasElement", async () => {
98
+ await (0, import_unit.it)("should be defined", async () => {
99
+ (0, import_unit.expect)(import_webgl.HTMLCanvasElement).toBeDefined();
100
+ });
101
+ await (0, import_unit.it)("should be able to create a new instance", async () => {
102
+ (0, import_unit.expect)(() => {
103
+ canvas = new import_webgl.HTMLCanvasElement(glArea);
104
+ }).not.toThrow();
105
+ (0, import_unit.expect)(canvas).toBeDefined();
106
+ });
107
+ await (0, import_unit.it)("should be able to get a webgl context", async () => {
108
+ (0, import_unit.expect)(() => {
109
+ ctx = canvas.getContext("webgl");
110
+ }).not.toThrow();
111
+ (0, import_unit.expect)(ctx).toBeDefined();
112
+ });
113
+ });
114
+ await (0, import_unit.describe)("WebGLRenderingContext", async () => {
115
+ await (0, import_unit.it)("should have defined WebGL constants", async () => {
116
+ for (const GL_CONSTANT_NAME of GL_CONSTANT_NAMES) {
117
+ const constant = ctx?.[GL_CONSTANT_NAME];
118
+ console.log(GL_CONSTANT_NAME, constant);
119
+ (0, import_unit.expect)(typeof constant).toBe("number");
120
+ if (GL_CONSTANT_NAME === "NONE" || GL_CONSTANT_NAME === "ZERO" || GL_CONSTANT_NAME === "NO_ERROR" || GL_CONSTANT_NAME === "POINTS") {
121
+ (0, import_unit.expect)(constant === 0).toBeTruthy();
122
+ } else {
123
+ (0, import_unit.expect)(constant > 0).toBeTruthy();
124
+ }
125
+ }
126
+ });
127
+ });
128
+ await (0, import_unit.describe)("Gwebgl.WebGLRenderingContext", async () => {
129
+ await (0, import_unit.it)("getParameterb should return a boolean", async () => {
130
+ const res = ctx?._native.getParameterb(ctx?.BLEND);
131
+ console.log("res", res);
132
+ (0, import_unit.expect)(typeof res).toBe("boolean");
133
+ });
134
+ await (0, import_unit.it)("getParameterbv should return an array of boolean", async () => {
135
+ const results = ctx?._native.getParameterbv(ctx?.COLOR_WRITEMASK, 16);
136
+ console.log("results", results);
137
+ (0, import_unit.expect)(Array.isArray(results)).toBeTruthy();
138
+ if (Array.isArray(results)) {
139
+ for (const res of results) {
140
+ (0, import_unit.expect)(typeof res).toBe("boolean");
141
+ }
142
+ }
143
+ });
144
+ await (0, import_unit.it)("getParameterf should return a float number", async () => {
145
+ const result = ctx?._native.getParameterf(ctx?.SAMPLE_COVERAGE_VALUE);
146
+ console.log("result", result);
147
+ (0, import_unit.expect)(typeof result).toBe("number");
148
+ });
149
+ await (0, import_unit.it)("getParameterfv should return an array of float numbers", async () => {
150
+ const results = ctx?._native.getParameterfv(ctx?.DEPTH_RANGE, 8);
151
+ console.log("results", results);
152
+ (0, import_unit.expect)(Array.isArray(results)).toBeTruthy();
153
+ if (Array.isArray(results)) {
154
+ for (const res of results) {
155
+ (0, import_unit.expect)(typeof res).toBe("number");
156
+ }
157
+ }
158
+ });
159
+ await (0, import_unit.it)("getParameteri should return a integer number", async () => {
160
+ const result = ctx?._native.getParameteri(ctx?.ARRAY_BUFFER_BINDING);
161
+ console.log("result", result);
162
+ (0, import_unit.expect)(typeof result).toBe("number");
163
+ });
164
+ await (0, import_unit.it)("getParameteriv should return an array of integer numbers", async () => {
165
+ const results = ctx?._native.getParameteriv(ctx?.MAX_VIEWPORT_DIMS, 8);
166
+ console.log("results", results, typeof results);
167
+ (0, import_unit.expect)(Array.isArray(results)).toBeTruthy();
168
+ if (Array.isArray(results)) {
169
+ for (const res of results) {
170
+ (0, import_unit.expect)(typeof res).toBe("number");
171
+ }
172
+ }
173
+ });
174
+ });
175
+ };