@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
@@ -0,0 +1,11 @@
1
+ class GjsifyWebGLShaderPrecisionFormat {
2
+ constructor(_) {
3
+ this.rangeMin = _.rangeMin;
4
+ this.rangeMax = _.rangeMax;
5
+ this.precision = _.precision;
6
+ }
7
+ }
8
+ export {
9
+ GjsifyWebGLShaderPrecisionFormat,
10
+ GjsifyWebGLShaderPrecisionFormat as WebGLShaderPrecisionFormat
11
+ };
@@ -0,0 +1,23 @@
1
+ import { Linkable } from "./linkable.js";
2
+ class GjsifyWebGLShader extends Linkable {
3
+ constructor(_, ctx, type) {
4
+ super(_);
5
+ this._source = "";
6
+ this._compileStatus = false;
7
+ this._compileInfo = "";
8
+ this._type = type;
9
+ this._ctx = ctx;
10
+ this._source = "";
11
+ this._compileStatus = false;
12
+ this._compileInfo = "";
13
+ }
14
+ _performDelete() {
15
+ const ctx = this._ctx;
16
+ delete ctx._shaders[this._ | 0];
17
+ ctx._native.deleteShader(this._ | 0);
18
+ }
19
+ }
20
+ export {
21
+ GjsifyWebGLShader,
22
+ GjsifyWebGLShader as WebGLShader
23
+ };
@@ -0,0 +1,12 @@
1
+ class WebGLTextureUnit {
2
+ constructor(ctx, idx) {
3
+ this._mode = 0;
4
+ this._bind2D = null;
5
+ this._bindCube = null;
6
+ this._ctx = ctx;
7
+ this._idx = idx;
8
+ }
9
+ }
10
+ export {
11
+ WebGLTextureUnit
12
+ };
@@ -0,0 +1,22 @@
1
+ import { Linkable } from "./linkable.js";
2
+ class GjsifyWebGLTexture extends Linkable {
3
+ constructor(_, ctx) {
4
+ super(_);
5
+ this._binding = 0;
6
+ this._levelWidth = new Int32Array(32);
7
+ this._levelHeight = new Int32Array(32);
8
+ this._format = 0;
9
+ this._type = 0;
10
+ this._complete = true;
11
+ this._ctx = ctx;
12
+ }
13
+ _performDelete() {
14
+ const ctx = this._ctx;
15
+ delete ctx._textures[this._ | 0];
16
+ ctx._native.deleteTexture(this._ | 0);
17
+ }
18
+ }
19
+ export {
20
+ GjsifyWebGLTexture,
21
+ GjsifyWebGLTexture as WebGLTexture
22
+ };
@@ -0,0 +1,15 @@
1
+ class GjsifyWebGLUniformLocation {
2
+ constructor(_, program, info) {
3
+ this._linkCount = 0;
4
+ this._array = null;
5
+ this._ = _;
6
+ this._program = program;
7
+ this._linkCount = program._linkCount;
8
+ this._activeInfo = info;
9
+ this._array = null;
10
+ }
11
+ }
12
+ export {
13
+ GjsifyWebGLUniformLocation,
14
+ GjsifyWebGLUniformLocation as WebGLUniformLocation
15
+ };
@@ -0,0 +1,147 @@
1
+ import { WebGLBuffer } from "./webgl-buffer.js";
2
+ class WebGLVertexArrayObjectAttribute {
3
+ constructor(ctx, idx) {
4
+ this._isPointer = false;
5
+ this._pointerBuffer = null;
6
+ this._pointerOffset = 0;
7
+ this._pointerSize = 0;
8
+ this._pointerStride = 0;
9
+ this._pointerType = 0;
10
+ this._pointerNormal = false;
11
+ this._divisor = 0;
12
+ this._inputSize = 4;
13
+ this._inputStride = 0;
14
+ this._ctx = ctx;
15
+ this._idx = idx;
16
+ this._pointerType = ctx.FLOAT;
17
+ this._clear();
18
+ }
19
+ _clear() {
20
+ this._isPointer = false;
21
+ this._pointerBuffer = null;
22
+ this._pointerOffset = 0;
23
+ this._pointerSize = 0;
24
+ this._pointerStride = 0;
25
+ this._pointerType = this._ctx.FLOAT;
26
+ this._pointerNormal = false;
27
+ this._divisor = 0;
28
+ this._inputSize = 4;
29
+ this._inputStride = 0;
30
+ }
31
+ }
32
+ class WebGLVertexArrayGlobalAttribute {
33
+ constructor(idx) {
34
+ this._idx = 0;
35
+ this._idx = idx;
36
+ this._data = new Float32Array([0, 0, 0, 1]);
37
+ }
38
+ }
39
+ class WebGLVertexArrayObjectState {
40
+ constructor(ctx) {
41
+ this._elementArrayBufferBinding = null;
42
+ const numAttribs = ctx.getParameter(ctx.MAX_VERTEX_ATTRIBS);
43
+ this._attribs = new Array(numAttribs);
44
+ for (let i = 0; i < numAttribs; ++i) {
45
+ this._attribs[i] = new WebGLVertexArrayObjectAttribute(ctx, i);
46
+ }
47
+ this._elementArrayBufferBinding = null;
48
+ }
49
+ setElementArrayBuffer(buffer) {
50
+ if (buffer !== null && !(buffer instanceof WebGLBuffer)) {
51
+ throw new TypeError("setElementArrayBuffer(WebGLBuffer?)");
52
+ }
53
+ const current = this._elementArrayBufferBinding;
54
+ if (current !== buffer) {
55
+ if (current) {
56
+ current._refCount -= 1;
57
+ current._checkDelete();
58
+ }
59
+ if (buffer) {
60
+ buffer._refCount += 1;
61
+ }
62
+ this._elementArrayBufferBinding = buffer;
63
+ }
64
+ }
65
+ cleanUp() {
66
+ const elementArrayBuffer = this._elementArrayBufferBinding;
67
+ if (elementArrayBuffer) {
68
+ elementArrayBuffer._refCount -= 1;
69
+ elementArrayBuffer._checkDelete();
70
+ this._elementArrayBufferBinding = null;
71
+ }
72
+ for (let i = 0; i < this._attribs.length; ++i) {
73
+ const attrib = this._attribs[i];
74
+ if (attrib._pointerBuffer) {
75
+ attrib._pointerBuffer._refCount -= 1;
76
+ attrib._pointerBuffer._checkDelete();
77
+ }
78
+ attrib._clear();
79
+ }
80
+ }
81
+ releaseArrayBuffer(buffer) {
82
+ if (!buffer) {
83
+ return;
84
+ }
85
+ for (let i = 0; i < this._attribs.length; ++i) {
86
+ const attrib = this._attribs[i];
87
+ if (attrib._pointerBuffer === buffer) {
88
+ attrib._pointerBuffer._refCount -= 1;
89
+ attrib._pointerBuffer._checkDelete();
90
+ attrib._clear();
91
+ }
92
+ }
93
+ }
94
+ setVertexAttribPointer(buffer, index, pointerSize, pointerOffset, pointerStride, pointerType, pointerNormal, inputStride, inputSize) {
95
+ const attrib = this._attribs[index];
96
+ if (buffer !== attrib._pointerBuffer) {
97
+ if (attrib._pointerBuffer) {
98
+ attrib._pointerBuffer._refCount -= 1;
99
+ attrib._pointerBuffer._checkDelete();
100
+ }
101
+ if (buffer) {
102
+ buffer._refCount += 1;
103
+ }
104
+ attrib._pointerBuffer = buffer;
105
+ }
106
+ attrib._pointerSize = pointerSize;
107
+ attrib._pointerOffset = pointerOffset;
108
+ attrib._pointerStride = pointerStride;
109
+ attrib._pointerType = pointerType;
110
+ attrib._pointerNormal = pointerNormal;
111
+ attrib._inputStride = inputStride;
112
+ attrib._inputSize = inputSize;
113
+ }
114
+ }
115
+ class WebGLVertexArrayGlobalState {
116
+ constructor(ctx) {
117
+ this._arrayBufferBinding = null;
118
+ const numAttribs = ctx.getParameter(ctx.MAX_VERTEX_ATTRIBS);
119
+ this._attribs = new Array(numAttribs);
120
+ for (let i = 0; i < numAttribs; ++i) {
121
+ this._attribs[i] = new WebGLVertexArrayGlobalAttribute(i);
122
+ }
123
+ this._arrayBufferBinding = null;
124
+ }
125
+ setArrayBuffer(buffer) {
126
+ if (buffer !== null && !(buffer instanceof WebGLBuffer)) {
127
+ throw new TypeError("setArrayBuffer(WebGLBuffer?)");
128
+ }
129
+ const current = this._arrayBufferBinding;
130
+ if (current !== buffer) {
131
+ if (current) {
132
+ current._refCount -= 1;
133
+ current._checkDelete();
134
+ }
135
+ if (buffer) {
136
+ buffer._refCount += 1;
137
+ }
138
+ this._arrayBufferBinding = buffer;
139
+ }
140
+ }
141
+ }
142
+ export {
143
+ WebGLVertexArrayGlobalAttribute,
144
+ WebGLVertexArrayGlobalState,
145
+ WebGLVertexArrayObjectAttribute,
146
+ WebGLVertexArrayObjectState
147
+ };
@@ -0,0 +1,7 @@
1
+ import type { GjsifyWebGLRenderingContext } from '../webgl-rendering-context.js';
2
+ export declare class EXTBlendMinMax {
3
+ MIN_EXT: number;
4
+ MAX_EXT: number;
5
+ constructor();
6
+ }
7
+ export declare function getEXTBlendMinMax(context: GjsifyWebGLRenderingContext): any;
@@ -0,0 +1,7 @@
1
+ import type { GjsifyWebGLRenderingContext } from '../webgl-rendering-context.js';
2
+ export declare class EXTTextureFilterAnisotropic {
3
+ TEXTURE_MAX_ANISOTROPY_EXT: number;
4
+ MAX_TEXTURE_MAX_ANISOTROPY_EXT: number;
5
+ constructor();
6
+ }
7
+ export declare function getEXTTextureFilterAnisotropic(context: GjsifyWebGLRenderingContext): any;
@@ -0,0 +1,4 @@
1
+ import type { GjsifyWebGLRenderingContext } from '../webgl-rendering-context.js';
2
+ export declare class OESElementIndexUint {
3
+ }
4
+ export declare function getOESElementIndexUint(context: GjsifyWebGLRenderingContext): any;
@@ -0,0 +1,6 @@
1
+ import type { GjsifyWebGLRenderingContext } from '../webgl-rendering-context.js';
2
+ export declare class OESStandardDerivatives {
3
+ FRAGMENT_SHADER_DERIVATIVE_HINT_OES: number;
4
+ constructor();
5
+ }
6
+ export declare function getOESStandardDerivatives(context: GjsifyWebGLRenderingContext): any;
@@ -0,0 +1,4 @@
1
+ import type { GjsifyWebGLRenderingContext } from '../webgl-rendering-context.js';
2
+ export declare class OESTextureFloatLinear {
3
+ }
4
+ export declare function getOESTextureFloatLinear(context: GjsifyWebGLRenderingContext): any;
@@ -0,0 +1,4 @@
1
+ import type { GjsifyWebGLRenderingContext } from '../webgl-rendering-context.js';
2
+ export declare class OESTextureFloat {
3
+ }
4
+ export declare function getOESTextureFloat(context: GjsifyWebGLRenderingContext): any;
@@ -0,0 +1,6 @@
1
+ import type { GjsifyWebGLRenderingContext } from '../webgl-rendering-context.js';
2
+ export declare class STACKGLDestroyContext {
3
+ destroy: () => void;
4
+ constructor(ctx: GjsifyWebGLRenderingContext);
5
+ }
6
+ export declare function getSTACKGLDestroyContext(ctx: GjsifyWebGLRenderingContext): STACKGLDestroyContext;
@@ -0,0 +1,6 @@
1
+ import type { GjsifyWebGLRenderingContext } from '../webgl-rendering-context.js';
2
+ export declare class STACKGLResizeDrawingBuffer {
3
+ resize: (width: number, height: number) => void;
4
+ constructor(ctx: GjsifyWebGLRenderingContext);
5
+ }
6
+ export declare function getSTACKGLResizeDrawingBuffer(ctx: GjsifyWebGLRenderingContext): STACKGLResizeDrawingBuffer;
@@ -0,0 +1,38 @@
1
+ import Gtk from 'gi://Gtk?version=4.0';
2
+ import { GjsifyWebGLRenderingContext } from './webgl-rendering-context.js';
3
+ export interface GjsifyHTMLCanvasElement extends HTMLCanvasElement {
4
+ }
5
+ export declare class GjsifyHTMLCanvasElement implements HTMLCanvasElement {
6
+ protected readonly gtkGlArea: Gtk.GLArea;
7
+ _webgl?: WebGLRenderingContext & GjsifyWebGLRenderingContext;
8
+ _getGlArea(): Gtk.GLArea;
9
+ constructor(gtkGlArea: Gtk.GLArea);
10
+ /** Gets the height of a canvas element on a document. */
11
+ get height(): number;
12
+ get clientHeight(): number;
13
+ /** Sets the height of a canvas element on a document. */
14
+ set height(_height: number);
15
+ /** Gets the width of a canvas element on a document. */
16
+ get width(): number;
17
+ /** Sets the width of a canvas element on a document. */
18
+ set width(_width: number);
19
+ get clientWidth(): number;
20
+ captureStream(_frameRequestRate?: number): MediaStream;
21
+ /**
22
+ * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas.
23
+ * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl");
24
+ */
25
+ getContext(contextId: "2d", options?: CanvasRenderingContext2DSettings): CanvasRenderingContext2D | null;
26
+ getContext(contextId: "bitmaprenderer", options?: ImageBitmapRenderingContextSettings): ImageBitmapRenderingContext | null;
27
+ getContext(contextId: "webgl", options?: WebGLContextAttributes): WebGLRenderingContext & GjsifyWebGLRenderingContext | null;
28
+ getContext(contextId: "webgl2", options?: WebGLContextAttributes): WebGL2RenderingContext | null;
29
+ toBlob(_callback: BlobCallback, _type?: string, _quality?: any): void;
30
+ /**
31
+ * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element.
32
+ * @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.
33
+ */
34
+ toDataURL(_type?: string, _quality?: any): string;
35
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
36
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
37
+ }
38
+ export { GjsifyHTMLCanvasElement as HTMLCanvasElement };
@@ -0,0 +1,18 @@
1
+ import '@girs/gjs';
2
+ import '@girs/gio-2.0';
3
+ import '@girs/gtk-4.0';
4
+ export * from './html-canvas-element.js';
5
+ export * from './webgl-active-info.js';
6
+ export * from './webgl-buffer.js';
7
+ export * from './webgl-context-attributes.js';
8
+ export * from './webgl-drawing-buffer-wrapper.js';
9
+ export * from './webgl-framebuffer.js';
10
+ export * from './webgl-program.js';
11
+ export * from './webgl-renderbuffer.js';
12
+ export * from './webgl-rendering-context.js';
13
+ export * from './webgl-shader-precision-format.js';
14
+ export * from './webgl-shader.js';
15
+ export * from './webgl-texture-unit.js';
16
+ export * from './webgl-texture.js';
17
+ export * from './webgl-uniform-location.js';
18
+ export * from './webgl-vertex-attribute.js';
@@ -0,0 +1,13 @@
1
+ export declare class Linkable {
2
+ _: number;
3
+ _references: any[];
4
+ _refCount: number;
5
+ _pendingDelete: boolean;
6
+ _binding: number;
7
+ constructor(_: number);
8
+ _link(b: any): boolean;
9
+ _unlink(b: any): boolean;
10
+ _linked(b: any): boolean;
11
+ _checkDelete(): void;
12
+ _performDelete(): void;
13
+ }
@@ -0,0 +1,3 @@
1
+ export interface Constructor<T> {
2
+ new (): T;
3
+ }
@@ -0,0 +1,2 @@
1
+ import type { GjsifyWebGLRenderingContext } from '../webgl-rendering-context.js';
2
+ export type ExtensionFactory = (context: GjsifyWebGLRenderingContext) => any | null;
@@ -0,0 +1,5 @@
1
+ export * from './constructor.js';
2
+ export * from './extension.js';
3
+ export * from './typed-array.js';
4
+ export * from './webgl-constants.js';
5
+ export * from './webgl-context-attribute-options.js';
@@ -0,0 +1 @@
1
+ export type TypedArray = ArrayBufferView | Uint8Array | Uint8ClampedArray | Int8Array | Uint16Array | Int16Array | Uint32Array | Int32Array | Float32Array | Float64Array;