Skip to content

Commit ee0b3d0

Browse files
committed
Add webgl1 IDL spec and generated code
1 parent 60c6643 commit ee0b3d0

21 files changed

+1880
-0
lines changed
+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// This file was auto-generated by WebIDLToSwift. DO NOT EDIT!
2+
3+
import JavaScriptEventLoop
4+
import JavaScriptKit
5+
6+
public protocol Any_Float32List: ConvertibleToJSValue {}
7+
extension Float32Array: Any_Float32List {}
8+
extension Array: Any_Float32List where Element == GLfloat {}
9+
10+
public enum Float32List: JSValueCompatible, Any_Float32List {
11+
case float32Array(Float32Array)
12+
case seq_of_GLfloat([GLfloat])
13+
14+
var float32Array: Float32Array? {
15+
switch self {
16+
case let .float32Array(float32Array): return float32Array
17+
default: return nil
18+
}
19+
}
20+
21+
var seq_of_GLfloat: [GLfloat]? {
22+
switch self {
23+
case let .seq_of_GLfloat(seq_of_GLfloat): return seq_of_GLfloat
24+
default: return nil
25+
}
26+
}
27+
28+
public static func construct(from value: JSValue) -> Self? {
29+
if let float32Array: Float32Array = value.fromJSValue() {
30+
return .float32Array(float32Array)
31+
}
32+
if let seq_of_GLfloat: [GLfloat] = value.fromJSValue() {
33+
return .seq_of_GLfloat(seq_of_GLfloat)
34+
}
35+
return nil
36+
}
37+
38+
public var jsValue: JSValue {
39+
switch self {
40+
case let .float32Array(float32Array):
41+
return float32Array.jsValue
42+
case let .seq_of_GLfloat(seq_of_GLfloat):
43+
return seq_of_GLfloat.jsValue
44+
}
45+
}
46+
}

Sources/DOMKit/WebIDL/Int32List.swift

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// This file was auto-generated by WebIDLToSwift. DO NOT EDIT!
2+
3+
import JavaScriptEventLoop
4+
import JavaScriptKit
5+
6+
public protocol Any_Int32List: ConvertibleToJSValue {}
7+
extension Int32Array: Any_Int32List {}
8+
extension Array: Any_Int32List where Element == GLint {}
9+
10+
public enum Int32List: JSValueCompatible, Any_Int32List {
11+
case int32Array(Int32Array)
12+
case seq_of_GLint([GLint])
13+
14+
var int32Array: Int32Array? {
15+
switch self {
16+
case let .int32Array(int32Array): return int32Array
17+
default: return nil
18+
}
19+
}
20+
21+
var seq_of_GLint: [GLint]? {
22+
switch self {
23+
case let .seq_of_GLint(seq_of_GLint): return seq_of_GLint
24+
default: return nil
25+
}
26+
}
27+
28+
public static func construct(from value: JSValue) -> Self? {
29+
if let int32Array: Int32Array = value.fromJSValue() {
30+
return .int32Array(int32Array)
31+
}
32+
if let seq_of_GLint: [GLint] = value.fromJSValue() {
33+
return .seq_of_GLint(seq_of_GLint)
34+
}
35+
return nil
36+
}
37+
38+
public var jsValue: JSValue {
39+
switch self {
40+
case let .int32Array(int32Array):
41+
return int32Array.jsValue
42+
case let .seq_of_GLint(seq_of_GLint):
43+
return seq_of_GLint.jsValue
44+
}
45+
}
46+
}
+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
// This file was auto-generated by WebIDLToSwift. DO NOT EDIT!
2+
3+
import JavaScriptEventLoop
4+
import JavaScriptKit
5+
6+
public protocol Any_TexImageSource: ConvertibleToJSValue {}
7+
extension HTMLCanvasElement: Any_TexImageSource {}
8+
extension HTMLImageElement: Any_TexImageSource {}
9+
extension HTMLVideoElement: Any_TexImageSource {}
10+
extension ImageBitmap: Any_TexImageSource {}
11+
extension ImageData: Any_TexImageSource {}
12+
extension OffscreenCanvas: Any_TexImageSource {}
13+
extension VideoFrame: Any_TexImageSource {}
14+
15+
public enum TexImageSource: JSValueCompatible, Any_TexImageSource {
16+
case htmlCanvasElement(HTMLCanvasElement)
17+
case htmlImageElement(HTMLImageElement)
18+
case htmlVideoElement(HTMLVideoElement)
19+
case imageBitmap(ImageBitmap)
20+
case imageData(ImageData)
21+
case offscreenCanvas(OffscreenCanvas)
22+
case videoFrame(VideoFrame)
23+
24+
var htmlCanvasElement: HTMLCanvasElement? {
25+
switch self {
26+
case let .htmlCanvasElement(htmlCanvasElement): return htmlCanvasElement
27+
default: return nil
28+
}
29+
}
30+
31+
var htmlImageElement: HTMLImageElement? {
32+
switch self {
33+
case let .htmlImageElement(htmlImageElement): return htmlImageElement
34+
default: return nil
35+
}
36+
}
37+
38+
var htmlVideoElement: HTMLVideoElement? {
39+
switch self {
40+
case let .htmlVideoElement(htmlVideoElement): return htmlVideoElement
41+
default: return nil
42+
}
43+
}
44+
45+
var imageBitmap: ImageBitmap? {
46+
switch self {
47+
case let .imageBitmap(imageBitmap): return imageBitmap
48+
default: return nil
49+
}
50+
}
51+
52+
var imageData: ImageData? {
53+
switch self {
54+
case let .imageData(imageData): return imageData
55+
default: return nil
56+
}
57+
}
58+
59+
var offscreenCanvas: OffscreenCanvas? {
60+
switch self {
61+
case let .offscreenCanvas(offscreenCanvas): return offscreenCanvas
62+
default: return nil
63+
}
64+
}
65+
66+
var videoFrame: VideoFrame? {
67+
switch self {
68+
case let .videoFrame(videoFrame): return videoFrame
69+
default: return nil
70+
}
71+
}
72+
73+
public static func construct(from value: JSValue) -> Self? {
74+
if let htmlCanvasElement: HTMLCanvasElement = value.fromJSValue() {
75+
return .htmlCanvasElement(htmlCanvasElement)
76+
}
77+
if let htmlImageElement: HTMLImageElement = value.fromJSValue() {
78+
return .htmlImageElement(htmlImageElement)
79+
}
80+
if let htmlVideoElement: HTMLVideoElement = value.fromJSValue() {
81+
return .htmlVideoElement(htmlVideoElement)
82+
}
83+
if let imageBitmap: ImageBitmap = value.fromJSValue() {
84+
return .imageBitmap(imageBitmap)
85+
}
86+
if let imageData: ImageData = value.fromJSValue() {
87+
return .imageData(imageData)
88+
}
89+
if let offscreenCanvas: OffscreenCanvas = value.fromJSValue() {
90+
return .offscreenCanvas(offscreenCanvas)
91+
}
92+
if let videoFrame: VideoFrame = value.fromJSValue() {
93+
return .videoFrame(videoFrame)
94+
}
95+
return nil
96+
}
97+
98+
public var jsValue: JSValue {
99+
switch self {
100+
case let .htmlCanvasElement(htmlCanvasElement):
101+
return htmlCanvasElement.jsValue
102+
case let .htmlImageElement(htmlImageElement):
103+
return htmlImageElement.jsValue
104+
case let .htmlVideoElement(htmlVideoElement):
105+
return htmlVideoElement.jsValue
106+
case let .imageBitmap(imageBitmap):
107+
return imageBitmap.jsValue
108+
case let .imageData(imageData):
109+
return imageData.jsValue
110+
case let .offscreenCanvas(offscreenCanvas):
111+
return offscreenCanvas.jsValue
112+
case let .videoFrame(videoFrame):
113+
return videoFrame.jsValue
114+
}
115+
}
116+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// This file was auto-generated by WebIDLToSwift. DO NOT EDIT!
2+
3+
import JavaScriptEventLoop
4+
import JavaScriptKit
5+
6+
public class WebGLActiveInfo: JSBridgedClass {
7+
@inlinable public class var constructor: JSFunction { JSObject.global[Strings.WebGLActiveInfo].function! }
8+
9+
public let jsObject: JSObject
10+
11+
public required init(unsafelyWrapping jsObject: JSObject) {
12+
_size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size)
13+
_type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type)
14+
_name = ReadonlyAttribute(jsObject: jsObject, name: Strings.name)
15+
self.jsObject = jsObject
16+
}
17+
18+
@ReadonlyAttribute
19+
public var size: GLint
20+
21+
@ReadonlyAttribute
22+
public var type: GLenum
23+
24+
@ReadonlyAttribute
25+
public var name: String
26+
}
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// This file was auto-generated by WebIDLToSwift. DO NOT EDIT!
2+
3+
import JavaScriptEventLoop
4+
import JavaScriptKit
5+
6+
public class WebGLBuffer: WebGLObject {
7+
@inlinable override public class var constructor: JSFunction { JSObject.global[Strings.WebGLBuffer].function! }
8+
9+
public required init(unsafelyWrapping jsObject: JSObject) {
10+
super.init(unsafelyWrapping: jsObject)
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
// This file was auto-generated by WebIDLToSwift. DO NOT EDIT!
2+
3+
import JavaScriptEventLoop
4+
import JavaScriptKit
5+
6+
public class WebGLContextAttributes: BridgedDictionary {
7+
public convenience init(alpha: Bool, depth: Bool, stencil: Bool, antialias: Bool, premultipliedAlpha: Bool, preserveDrawingBuffer: Bool, powerPreference: WebGLPowerPreference, failIfMajorPerformanceCaveat: Bool, desynchronized: Bool) {
8+
let object = JSObject.global[Strings.Object].function!.new()
9+
object[Strings.alpha] = alpha.jsValue
10+
object[Strings.depth] = depth.jsValue
11+
object[Strings.stencil] = stencil.jsValue
12+
object[Strings.antialias] = antialias.jsValue
13+
object[Strings.premultipliedAlpha] = premultipliedAlpha.jsValue
14+
object[Strings.preserveDrawingBuffer] = preserveDrawingBuffer.jsValue
15+
object[Strings.powerPreference] = powerPreference.jsValue
16+
object[Strings.failIfMajorPerformanceCaveat] = failIfMajorPerformanceCaveat.jsValue
17+
object[Strings.desynchronized] = desynchronized.jsValue
18+
self.init(unsafelyWrapping: object)
19+
}
20+
21+
public required init(unsafelyWrapping object: JSObject) {
22+
_alpha = ReadWriteAttribute(jsObject: object, name: Strings.alpha)
23+
_depth = ReadWriteAttribute(jsObject: object, name: Strings.depth)
24+
_stencil = ReadWriteAttribute(jsObject: object, name: Strings.stencil)
25+
_antialias = ReadWriteAttribute(jsObject: object, name: Strings.antialias)
26+
_premultipliedAlpha = ReadWriteAttribute(jsObject: object, name: Strings.premultipliedAlpha)
27+
_preserveDrawingBuffer = ReadWriteAttribute(jsObject: object, name: Strings.preserveDrawingBuffer)
28+
_powerPreference = ReadWriteAttribute(jsObject: object, name: Strings.powerPreference)
29+
_failIfMajorPerformanceCaveat = ReadWriteAttribute(jsObject: object, name: Strings.failIfMajorPerformanceCaveat)
30+
_desynchronized = ReadWriteAttribute(jsObject: object, name: Strings.desynchronized)
31+
super.init(unsafelyWrapping: object)
32+
}
33+
34+
@ReadWriteAttribute
35+
public var alpha: Bool
36+
37+
@ReadWriteAttribute
38+
public var depth: Bool
39+
40+
@ReadWriteAttribute
41+
public var stencil: Bool
42+
43+
@ReadWriteAttribute
44+
public var antialias: Bool
45+
46+
@ReadWriteAttribute
47+
public var premultipliedAlpha: Bool
48+
49+
@ReadWriteAttribute
50+
public var preserveDrawingBuffer: Bool
51+
52+
@ReadWriteAttribute
53+
public var powerPreference: WebGLPowerPreference
54+
55+
@ReadWriteAttribute
56+
public var failIfMajorPerformanceCaveat: Bool
57+
58+
@ReadWriteAttribute
59+
public var desynchronized: Bool
60+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// This file was auto-generated by WebIDLToSwift. DO NOT EDIT!
2+
3+
import JavaScriptEventLoop
4+
import JavaScriptKit
5+
6+
public class WebGLContextEvent: Event {
7+
@inlinable override public class var constructor: JSFunction { JSObject.global[Strings.WebGLContextEvent].function! }
8+
9+
public required init(unsafelyWrapping jsObject: JSObject) {
10+
_statusMessage = ReadonlyAttribute(jsObject: jsObject, name: Strings.statusMessage)
11+
super.init(unsafelyWrapping: jsObject)
12+
}
13+
14+
@inlinable public convenience init(type: String, eventInit: WebGLContextEventInit? = nil) {
15+
self.init(unsafelyWrapping: Self.constructor.new(arguments: [type.jsValue, eventInit?.jsValue ?? .undefined]))
16+
}
17+
18+
@ReadonlyAttribute
19+
public var statusMessage: String
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// This file was auto-generated by WebIDLToSwift. DO NOT EDIT!
2+
3+
import JavaScriptEventLoop
4+
import JavaScriptKit
5+
6+
public class WebGLContextEventInit: BridgedDictionary {
7+
public convenience init(statusMessage: String) {
8+
let object = JSObject.global[Strings.Object].function!.new()
9+
object[Strings.statusMessage] = statusMessage.jsValue
10+
self.init(unsafelyWrapping: object)
11+
}
12+
13+
public required init(unsafelyWrapping object: JSObject) {
14+
_statusMessage = ReadWriteAttribute(jsObject: object, name: Strings.statusMessage)
15+
super.init(unsafelyWrapping: object)
16+
}
17+
18+
@ReadWriteAttribute
19+
public var statusMessage: String
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// This file was auto-generated by WebIDLToSwift. DO NOT EDIT!
2+
3+
import JavaScriptEventLoop
4+
import JavaScriptKit
5+
6+
public class WebGLFramebuffer: WebGLObject {
7+
@inlinable override public class var constructor: JSFunction { JSObject.global[Strings.WebGLFramebuffer].function! }
8+
9+
public required init(unsafelyWrapping jsObject: JSObject) {
10+
super.init(unsafelyWrapping: jsObject)
11+
}
12+
}
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// This file was auto-generated by WebIDLToSwift. DO NOT EDIT!
2+
3+
import JavaScriptEventLoop
4+
import JavaScriptKit
5+
6+
public class WebGLObject: JSBridgedClass {
7+
@inlinable public class var constructor: JSFunction { JSObject.global[Strings.WebGLObject].function! }
8+
9+
public let jsObject: JSObject
10+
11+
public required init(unsafelyWrapping jsObject: JSObject) {
12+
self.jsObject = jsObject
13+
}
14+
}

0 commit comments

Comments
 (0)