Module js.dom stdlib

js.dom
Version:
0.3.3
License:
MIT
Dependencies from vmod:
0
Imports:
0
Imported by:
1
Repository:
OS-specific
Show selected OS-specific symbols.
Backend-specific
Show selected Backend-specific symbols.

Dependencies defined in v.mod

This section is empty.

Imports

This section is empty.

Imported by

  • Standard Library

Aliases

#type SVGMatrix

JavaScript
type SVGMatrix = JS.DOMMatrix

#type WebKitCSSMatrix

JavaScript
type WebKitCSSMatrix = JS.DOMMatrix

#type WindowProxy

JavaScript
type WindowProxy = JS.Window

Constants

#constant document

JavaScript
document = JS.Document{}

Sum types

#type CanvasContext

JavaScript
pub type CanvasContext = JS.CanvasRenderingContext2D

#type FillStyle

JavaScript
pub type FillStyle = JS.CanvasGradient | JS.CanvasPattern | JS.String

Functions

#fn JS.DOMMatrix.prototype.constructor

JavaScriptuse_new
fn JS.DOMMatrix.prototype.constructor(init JS.Array) JS.DOMMatrix

#fn JS.DOMPoint.prototype.constructor

JavaScriptuse_new
fn JS.DOMPoint.prototype.constructor(x JS.Number, y JS.Number, z JS.Number, w JS.Number) JS.DOMPoint

#fn JS.DOMQuad.fromQuad

JavaScript
fn JS.DOMQuad.fromQuad(other JS.DOMQuad) JS.DOMQuad

#fn JS.DOMQuad.fromRect

JavaScript
fn JS.DOMQuad.fromRect(other JS.DOMRect) JS.DOMRect

#fn JS.DOMQuad.prototype.constructor

JavaScriptuse_new
fn JS.DOMQuad.prototype.constructor(p1 JS.DOMPoint, p2 JS.DOMPoint, p3 JS.DOMPoint, p4 JS.DOMPoint) JS.DOMQuad

#fn JS.DOMRect.prototype.constructor

JavaScriptuse_new
fn JS.DOMRect.prototype.constructor(x JS.Number, y JS.Number, width JS.Number, height JS.Number) JS.DOMRect

#fn JS.ErrorEvent.prototype.constructor

JavaScriptuse_new
fn JS.ErrorEvent.prototype.constructor(typ JS.String) JS.ErrorEvent

#fn JS.HTMLElement.prototype.constructor

JavaScript
fn JS.HTMLElement.prototype.constructor() JS.HTMLElement

#fn JS.HTMLEmbedElement.prototype.constructor

JavaScript
fn JS.HTMLEmbedElement.prototype.constructor() JS.HTMLEmbedElement

#fn JS.UIEvent.prototype.constructor

JavaScriptuse_new
fn JS.UIEvent.prototype.constructor(typ JS.String, dict JS.UIEventDict) JS.UIEvent

#fn create_event

JavaScript
fn create_event(typ string, bubbles bool, cancelable bool, composed bool) JS.Event

#fn document_url

JavaScript
fn document_url(doc JS.Document) JS.String

#fn event_listener

JavaScript
fn event_listener(callback fn (JS.EventTarget, JS.Event)) fn (JS.Event)

event_listener returns proper listener callback. This function is useful when you need access to this value that is EventTarget. When you need access only to Event itself you can just use fn (JS.Event) as listener.

#fn event_type

JavaScript
fn event_type(ev JS.Event) string

#fn gl_array_buffer

JavaScript
fn gl_array_buffer() JS.Number

#fn gl_color_buffer_bit

JavaScript
fn gl_color_buffer_bit() JS.Number

#fn gl_compile_status

JavaScript
fn gl_compile_status() JS.Number

#fn gl_depth_buffer_bit

JavaScript
fn gl_depth_buffer_bit() JS.Number

#fn gl_depth_test

JavaScript
fn gl_depth_test() JS.Number

#fn gl_element_array_buffer

JavaScript
fn gl_element_array_buffer() JS.Number

#fn gl_float

JavaScript
fn gl_float() JS.Number

#fn gl_fragment_shader

JavaScript
fn gl_fragment_shader() JS.Number

#fn gl_static_draw

JavaScript
fn gl_static_draw() JS.Number

#fn gl_triangles

JavaScript
fn gl_triangles() JS.Number

#fn gl_unsigned_short

JavaScript
fn gl_unsigned_short() JS.Number

#fn gl_vertex_shader

JavaScript
fn gl_vertex_shader() JS.Number

#fn html_embed_type

JavaScript
fn html_embed_type(embed JS.HTMLEmbedElement) JS.String

#fn on_device_motion

JavaScript
fn on_device_motion(cb fn (JS.Window, JS.DeviceMotionEvent) JS.Any) fn (JS.DeviceMotionEvent) JS.Any

#fn on_device_orientation

JavaScript
fn on_device_orientation(cb fn (JS.Window, JS.DeviceOrientationEvent) JS.Any) fn (JS.DeviceOrientationEvent) JS.Any

#fn window

JavaScript
fn window() JS.Window

Structs

#struct CanvasRenderingContext2DSettings

JavaScript
pub struct CanvasRenderingContext2DSettings {
pub mut:
	alpha                bool
	color_space          string
	desynchronized       bool
	will_read_frequently bool
}

fn (settings CanvasRenderingContext2DSettings) to_js() JS.Any

#struct JS.EventListenerOptions

JavaScript
pub struct JS.EventListenerOptions {
	capture bool
}

#struct JS.DeviceMotionEventAcceleration

JavaScript
pub struct JS.DeviceMotionEventAcceleration {
	x JS.Number
	y JS.Number
	z JS.Number
}

#struct JS.DeviceMotionEventRotationRate

JavaScript
pub struct JS.DeviceMotionEventRotationRate {
	alpha JS.Number
	beta  JS.Number
	gamma JS.Number
}

#struct JS.EventInit

JavaScript
pub struct JS.EventInit {
	bubbles    JS.Boolean
	cancelable JS.Boolean
	composed   JS.Boolean
}

#struct JS.UIEventInitDict

JavaScript
pub struct JS.UIEventInitDict {
	bubbles    JS.Boolean
	cancelable JS.Boolean
	composed   JS.Boolean
	detail     JS.Number
	view       JS.Any
	which      JS.Number
}

Interfaces

#interface JS.DOMMatrix2DInit

JavaScript
pub interface JS.DOMMatrix2DInit {
mut:
	a JS.Number
	b JS.Number
	c JS.Number
	d JS.Number
	e JS.Number
	f JS.Number
	m11 JS.Number
	m12 JS.Number
	m21 JS.Number
	m22 JS.Number
	m41 JS.Number
	m42 JS.Number
}

#interface JS.DOMMatrixInit

JavaScript
pub interface JS.DOMMatrixInit {
	JS.DOMMatrix2DInit
	is2D JS.Boolean
mut:
	m13 JS.Number
	m14 JS.Number
	m23 JS.Number
	m24 JS.Number
	m31 JS.Number
	m32 JS.Number
	m33 JS.Number
	m34 JS.Number
	m43 JS.Number
	m44 JS.Number
}

#interface JS.DOMMatrix

JavaScript
pub interface JS.DOMMatrix {
	is2D JS.Boolean
	isIdentity JS.Boolean
	flipX() JS.DOMMatrix
	flipY() JS.DOMMatrix
	inverse() JS.DOMMatrix
	multiply(other JS.DOMMatrix) JS.DOMMatrix
	rotate(rotX JS.Number, rotY JS.Number, rotZ JS.Number) JS.DOMMatrix
	rotateAxisAngle(x JS.Number, y JS.Number, z JS.Number, angle JS.Number) JS.DOMMatrix
	scale(scaleX JS.Number, scaleY JS.Number, scaleZ JS.Number, originX JS.Number, originY JS.Number, originZ JS.Number) JS.DOMMatrix
	scale3d(scale JS.Number, originX JS.Number, originY JS.Number, originZ JS.Number) JS.DOMMatrix
	skewX(sx JS.Number) JS.DOMMatrix
	skewY(sy JS.Number) JS.DOMMatrix
	translate(tx JS.Number, ty JS.Number, tz JS.Number) JS.DOMMatrix
	invertSelf() JS.DOMMatrix
	multiplySelf(other JS.DOMMatrix) JS.DOMMatrix
	preMultiplySelf(other JS.DOMMatrix) JS.DOMMatrix
	rotateAxisAngleSelf(x JS.Number, y JS.Number, z JS.Number, angle JS.Number) JS.DOMMatrix
	rotateFromVectorSelf(x JS.Number, y JS.Number) JS.DOMMatrix
	rotateSelf(rotX JS.Number, rotY JS.Number, rotZ JS.Number) JS.DOMMatrix
	scale3dSelf(scale JS.Number, originX JS.Number, originY JS.Number, originZ JS.Number) JS.DOMMatrix
	scaleSelf(scaleX JS.Number, scaleY JS.Number, scaleZ JS.Number, originX JS.Number, originY JS.Number, originZ JS.Number) JS.DOMMatrix
	toString() JS.String
mut:
	a JS.Number
	b JS.Number
	c JS.Number
	d JS.Number
	e JS.Number
	f JS.Number
	m11 JS.Number
	m12 JS.Number
	m13 JS.Number
	m14 JS.Number
	m21 JS.Number
	m22 JS.Number
	m23 JS.Number
	m24 JS.Number
	m31 JS.Number
	m32 JS.Number
	m33 JS.Number
	m34 JS.Number
	m41 JS.Number
	m42 JS.Number
	m43 JS.Number
	m44 JS.Number
}

#interface JS.DOMPoint

JavaScript
pub interface JS.DOMPoint {
	matrixTransform(matrix JS.DOMMatrix) JS.DOMPoint
mut:
	w JS.Number
	x JS.Number
	y JS.Number
	z JS.Number
}

#interface JS.DOMQuad

JavaScript
pub interface JS.DOMQuad {
	p1 JS.DOMPoint
	p2 JS.DOMPoint
	p3 JS.DOMPoint
	p4 JS.DOMPoint
	getBounds() JS.DOMRect
}

#interface JS.DOMRect

JavaScript
pub interface JS.DOMRect {
	bottom JS.Number
	left JS.Number
	right JS.Number
	top JS.Number
mut:
	height JS.Number
	width JS.Number
	x JS.Number
	y JS.Number
}

#interface JS.DOMStringList

JavaScript
pub interface JS.DOMStringList {
	length JS.Number
	contains(JS.String) JS.Boolean
	item(index JS.Number) ?JS.String
}

#interface JS.DOMRectList

JavaScript
pub interface JS.DOMRectList {
	length JS.Number
	contains(JS.String) JS.Boolean
	item(index JS.Number) ?JS.Rect
}

#interface JS.DOMTokenList

JavaScript
pub interface JS.DOMTokenList {
	length JS.Number
	toString() JS.String
	add(tokens ...JS.Any) ?JS.Any
	contains(token JS.String) JS.Boolean
	item(index JS.Number) ?JS.String
	remove(tokens ...JS.Any) ?JS.Any
	replace(token JS.String, newToken JS.String) JS.Boolean
	supports(token JS.String) JS.Boolean
	toggle(token JS.String, force JS.Boolean) JS.Boolean
	forEach(cb DOMTokenListForEachCb, thisArg JS.Any)
mut:
	value JS.String
}

#interface JS.EventTarget

JavaScript
pub interface JS.EventTarget {
	addEventListener(event JS.String, cb EventCallback, options JS.EventListenerOptions)
	dispatchEvent(event JS.Event) JS.Boolean
	removeEventListener(event JS.String, cb EventCallback, options JS.EventListenerOptions)
}

#interface JS.Node

JavaScript
pub interface JS.Node {
	JS.EventTarget
	baseURI JS.String
	childNodes JS.Any
	firstChild JS.ChildNode
	isConnected JS.Boolean
	lastChild JS.ChildNode
	nextSibling JS.ChildNode
	nodeName JS.String
	nodeType JS.Number
	ownerDocument JS.Document
	parentElement JS.HTMLElement
	parentNode JS.ParentNode
	previousSibling JS.ChildNode
	appendChild(node JS.Node) JS.Node
	cloneNode(deep JS.Boolean) JS.Node
	compareDocumentPosition(other JS.Node) JS.Number
	contains(other JS.Node) JS.Boolean
	getRootNode(composed JS.Boolean) JS.Node
	hasChildNodes() JS.Boolean
	insertBefore(node JS.Node, child JS.Node) JS.Node
	isEqualNode(otherNode JS.Node) JS.Boolean
	isSameNode(otherNode JS.Node) JS.Boolean
	lookupPrefix(namespace JS.String) JS.String
	normalize()
	removeChild(child JS.Node) JS.Node
	replaceChild(node JS.Node, child JS.Node) JS.Npde
mut:
	nodeValue JS.String
	textContent JS.String
}

#interface JS.ChildNode

JavaScript
pub interface JS.ChildNode {
	JS.Node
	after(nodes ...JS.Any)
	before(nodes ...JS.Any)
	remove()
	replaceWith(nodes ...JS.Any)
}

#interface JS.ParentNode

JavaScript
pub interface JS.ParentNode {
	JS.Node
	childElementCount JS.Number
	children JS.HTMLCollection
}

#interface JS.Document

JavaScript
pub interface JS.Document {
	JS.Node
	all JS.HTMLAllCollection
	anchros JS.HTMLCollection
	applets JS.HTMLCollection
	characterSet JS.String
	charset JS.String
	compatMode JS.String
	contentType JS.String
	documentURI JS.String
	documentElement JS.HTMLElement
	hidden JS.Boolean
	head JS.HTMLHeadElement
	fullscreenEnabled JS.Boolean
	fullscreen JS.Boolean
	lastModified JS.String
	inputEncoding JS.String
	implementation JS.DOMImplementation
	doctype JS.DocumentType
	embeds JS.HTMLCollection
	forms JS.HTMLCollection
	getElementById(id JS.String) ?JS.HTMLElement
	adoptNode(node JS.Node) JS.Node
	close()
	createAttribute(name JS.String) JS.Attr
	createAttributeNS(namespace JS.String, qualifiedName JS.String) JS.Attr
	createCDATASection(data JS.String) JS.CDATASection
	createComment(data JS.String) JS.Comment
	createDocumentFragment() JS.DocumentFragment
	createElement(tagName JS.String) JS.HTMLElement
	createElementNS(namespaceURI JS.String, qualifiedName JS.String) JS.Element
	createEvent(event JS.String) JS.Event
	createTextNode(data JS.String) JS.Text
	elementFromPoint(x JS.Number, y JS.Number) ?JS.Element
	elementsFromPoint(x JS.Number, y JS.Number) JS.Array
	execCommand(commandId JS.String, showUI JS.Boolean, value JS.String) JS.Boolean
	hasFocus() JS.Boolean
	open(url JS.String, name JS.String, features JS.String) ?WindowProxy
	queryCommandEnabled(commandId JS.String) JS.Boolean
	queryCommandIndeterm(commandId JS.String) JS.Boolean
	queryCommandState(commandId JS.String) JS.String
	write(text ...JS.Any)
	writeln(text ...JS.Any)
	exitFullscreen() JS.Promise
	exitPictureInPicture() JS.Promise
	exitPointerLock()
	requestPointerLock()
	requestFullScreen() JS.Promise
mut:
	bgColor JS.String
	fgColor JS.String
	body JS.HTMLElement
	cookie JS.String
	domain JS.String
	designMode JS.String
	dir JS.String
	vlinkColor JS.String
}

#interface JS.Element

JavaScript
pub interface JS.Element {
	JS.Node
	classList JS.DOMTokenList
	clientHeight JS.Number
	clientLeft JS.Number
	clientTop JS.Number
	clientWidth JS.Number
	localName JS.String
	namespaceURI JS.String
	ownerDocument JS.Document
	part JS.DOMTokenList
	prefix JS.String
	scrollHeight JS.Number
	scrollWidth JS.Number
	tagName JS.String
	closest(selector JS.String) ?JS.Element
	getAttribute(qualifiedName JS.String) ?JS.String
	getAttributeNS(namespace JS.String, localName JS.String) ?JS.String
	getAttributeNames() JS.Array
	getClientRects() JS.DOMRectList
	getBoundingClientRect() JS.DOMRect
	scrollTo(x JS.Number, y JS.Number)
	scroll(x JS.Number, y JS.Number)
	scrollBy(x JS.Number, y JS.Number)
	toggleAttribute(qualifiedName JS.String, force JS.Boolean) JS.Boolean
	getElementsByClassName(className JS.String) JS.HTMLCollection
	getElementsByTagName(qualifiedName JS.String) JS.HTMLCollection
	getEelementsByTagNameNS(namespaecURI JS.String, localName JS.String) JS.HTMLCollection
	hasAttribute(qualifiedName JS.String) JS.Boolean
	hasAttributeNS(namespace JS.String, localName JS.String) JS.Boolean
	hasAttributes() JS.Boolean
	hasPointerCapture(pointerId JS.Number) JS.Boolean
	matches(selectors JS.String) JS.Boolean
mut:
	className JS.String
	id JS.String
	onfullscreenchange fn (this JS.Element, ev JS.Event) JS.Any
	onfullscreenerror fn (this JS.Element, ev JS.Event) JS.Any
	outerHTML JS.String
	scrollLeft JS.Number
	scrollTop JS.Number
	slot JS.String
}

#interface JS.HTMLCollection

JavaScript
pub interface JS.HTMLCollection {
	length JS.Number
	item(idx JS.Number) ?JS.Any
	namedItem(name JS.String) ?JS.Any
}

#interface JS.HTMLElement

JavaScript
pub interface JS.HTMLElement {
	JS.Element
	accessKeyLabel JS.String
	offsetHeight JS.Number
	offsetLeft JS.Number
	offsetParent JS.Any
	offsetTop JS.Number
	offsetWidth JS.Number
	click()
mut:
	accessKey JS.String
	autocapitalize JS.String
	dir JS.String
	draggable JS.Boolean
	hidden JS.Boolean
	innerText JS.String
	lang JS.String
	outerText JS.String
	spellcheck JS.Boolean
	title JS.String
	translate JS.Boolean
}

#interface JS.HTMLEmbedElement

JavaScript
pub interface JS.HTMLEmbedElement {
	getSVGDocument() ?JS.Document
mut:
	align JS.String
	height JS.String
	src JS.String
	width JS.String
}

#interface JS.HTMLCanvasElement

JavaScript
pub interface JS.HTMLCanvasElement {
	JS.HTMLElement
	getContext(contextId JS.String, options JS.Any) ?CanvasContext
mut:
	height JS.Number
	width JS.Number
}

#interface JS.CanvasRenderingContext2D

JavaScript
pub interface JS.CanvasRenderingContext2D {
	canvas JS.HTMLCanvasElement
	beginPath()
	clip(path JS.Path2D, fillRule JS.String)
	fill(path JS.Path2D, fillRule JS.String)
	isPointInPath(path JS.Path2D, x JS.Number, y JS.Number, fillRule JS.String) JS.Boolean
	isPointInStroke(path JS.Path2D, x JS.Number, y JS.Number) JS.Boolean
	stoke(path JS.Path2D)
	createLinearGradient(x0 JS.Number, y0 JS.Number, x1 JS.Number, y1 JS.Number) JS.CanvasGradient
	createRadialGradient(x0 JS.Number, y0 JS.Number, r0 JS.Number, x1 JS.Number, y1 JS.Number, r1 JS.Number) JS.CanvasGradient
	createPattern(image JS.CanvasImageSource, repetition JS.String) ?JS.CanvasPattern
	arc(x JS.Number, y JS.Number, radius JS.Number, startAngle JS.Number, endAngle JS.Number, counterclockwise JS.Boolean)
	arcTo(x1 JS.Number, y1 JS.Number, x2 JS.Number, y2 JS.Number, radius JS.Number)
	bezierCurveTo(cp1x JS.Number, cp1y JS.Number, cp2x JS.Number, cp2y JS.Number, x JS.Number, y JS.Number)
	closePath()
	ellipse(x JS.Number, y JS.Number, radiusX JS.Number, radiusY JS.Number, rotation JS.Number, startAngle JS.Number, endAngle JS.Number, counterclockwise JS.Boolean)
	lineTo(x JS.Number, y JS.Number)
	moveTo(x JS.Number, y JS.Number)
	quadraticCurveTo(cpx JS.Number, cpy JS.Number, x JS.Number, y JS.Number)
	rect(x JS.Number, y JS.Number, w JS.Number, h JS.Number)
	getLineDash() JS.Array
	setLineDash(segments JS.Array)
	clearRect(x JS.Number, y JS.Number, w JS.Number, h JS.Number)
	fillRect(x JS.Number, y JS.Number, w JS.Number, h JS.Number)
	strokeRect(x JS.Number, y JS.Number, w JS.Number, h JS.Number)
	getTransformt() JS.DOMMatrix
	resetTransform()
	rotate(angle JS.Number)
	scale(x JS.Number, y JS.Number)
	setTransform(matrix JS.DOMMatrix)
	transform(a JS.Number, b JS.Number, c JS.Number, d JS.Number, e JS.Number, f JS.Number)
	translate(x JS.Number, y JS.Number)
	drawFocusIfNeeded(path JS.Path2D, element JS.Element)
	stroke()
	fillText(text JS.String, x JS.Number, y JS.Number)
mut:
	lineCap JS.String
	lineDashOffset JS.Number
	lineJoin JS.String
	lineWidth JS.Number
	miterLimit JS.Number
	fillStyle FillStyle
	strokeStyle FillStyle
	globalAlpha JS.Number
	globalCompositeOperation JS.String
	font JS.String
}

#interface JS.CanvasGradient

JavaScript
pub interface JS.CanvasGradient {
	addColorStop(offset JS.Number, color JS.String)
}

#interface JS.CanvasPattern

JavaScript
pub interface JS.CanvasPattern {
	setTransform(transform JS.DOMMatrix)
}

#interface JS.Window

JavaScript
pub interface JS.Window {
	JS.EventTarget
	closed JS.Boolean
	devicePixelRatio JS.Number
	document JS.Document
	frameElement JS.Element
	innerHeight JS.Number
	innerWidth JS.Number
	length JS.Number
	outerHeight JS.Number
	outerWidth JS.Number
	screenLeft JS.Number
	screenTop JS.Number
	screenX JS.Number
	screenY JS.Number
	scrollX JS.Number
	scrollY JS.Number
	alert(message JS.Any)
	blur()
	cancelIdleCallback(handle JS.Number)
	captureEvents()
	close()
	confirm(message JS.String) JS.Boolean
	focus()
	moveBy(x JS.Number, y JS.Number)
	moveTo(x JS.Number, y JS.Number)
	print()
	prompt(message JS.String, default_ JS.String) ?JS.String
	stop()
	resizeBy(x JS.Number, y JS.Number)
	resizeTo(width JS.Number, height JS.Number)
	scroll(x JS.Number, y JS.Number)
	scrollBy(x JS.Number, y JS.Number)
	scrollTo(x JS.Number, y JS.Number)
	requestAnimationFrame(callback AnimationFrameCallback)
mut:
	name string
	opener JS.Any
	ondevicemotion OnDeviceMotion
	ondeviceorientation OnDeviceOrientation
}

#interface JS.Path2D

JavaScript
pub interface JS.Path2D {}

#interface JS.DeviceMotionEvent

JavaScript
pub interface JS.DeviceMotionEvent {
	JS.Event
	interval JS.Number
	acceleration JS.DeviceMotionEventAcceleration
	accelerationIncludingGravity JS.DeviceMotionEventAcceleration
	rotationRate JS.DeviceMotionEventRotationRate
}

#interface JS.DeviceOrientationEvent

JavaScript
pub interface JS.DeviceOrientationEvent {
	JS.Event
	absolute JS.Boolean
	alpha JS.Number
	beta JS.Number
	gamma JS.Number
}

#interface JS.DocumentType

JavaScript
pub interface JS.DocumentType {
	JS.Node
	JS.ChildNode
	name JS.String
	ownerDocument JS.Document
	publicId JS.String
	systemId JS.String
}

#interface JS.WebGLProgram

JavaScriptsingle_impl
pub interface JS.WebGLProgram {}

#interface JS.WebGLShader

JavaScriptsingle_impl
pub interface JS.WebGLShader {}

#interface JS.WebGLBuffer

JavaScriptsingle_impl
pub interface JS.WebGLBuffer {}

#interface JS.WebGLFramebuffer

JavaScriptsingle_impl
pub interface JS.WebGLFramebuffer {}

#interface JS.WebGLRenderbuffer

JavaScriptsingle_impl
pub interface JS.WebGLRenderbuffer {}

#interface JS.WebGLTexture

JavaScriptsingle_impl
pub interface JS.WebGLTexture {}

#interface JS.WebGLUniformLocation

JavaScriptsingle_impl
pub interface JS.WebGLUniformLocation {}

#interface JS.WebGLVertexArrayObject

JavaScriptsingle_impl
pub interface JS.WebGLVertexArrayObject {}

#interface JS.WebGLRenderingContext

JavaScript
pub interface JS.WebGLRenderingContext {
	canvas JS.HTMLCanvasElement
	drawingBufferHeight JS.Number
	drawingBufferWidth JS.Number
	activeTexture(texture JS.Number)
	attachShader(program JS.WebGLProgram, shader JS.WebGLProgram)
	linkProgram(program JS.WebGLProgram)
	bindAttribLocation(program JS.WebGLProgram, index JS.Number, name JS.String)
	bindBuffer(target JS.Number, buffer JS.WebGLBuffer)
	bindFramebuffer(target JS.Number, buffer JS.WebGLFrameBuffer)
	bindRenderbuffer(target JS.Number, renderbuffer JS.WebGLRenderbuffer)
	bindTexture(target JS.Number, texture JS.WebGLTexture)
	clear(mask JS.Number)
	clearColor(red JS.Number, green JS.Number, blue JS.Number, alpha JS.Number)
	clearDepth(depth JS.Number)
	clearStencil(s JS.Number)
	colorMask(red JS.Boolean, green JS.Boolean, blue JS.Boolean, alpha JS.Boolean)
	compileShader(shader JS.WebGLShader)
	createBuffer() ?JS.WebGLBuffer
	createFramebuffer() ?JS.WebGLFrameBuffer
	createProgram() ?JS.WebGLProgram
	createRenderbuffer() ?JS.WebGLRenderbuffer
	createShader(typ JS.Number) ?JS.WebGLShader
	createTexture() ?JS.WebGLTexture
	cullFace(mode JS.Number)
	deleteBuffer(buffer JS.WebGLBuffer)
	deleteFramebuffer(buffer JS.WebGLFrameBuffer)
	deleteProgram(program JS.WebGLProgram)
	deleteRenderbuffer(buffer JS.WebGLRenderbuffer)
	deleteShader(shader JS.WebGLShader)
	deleteTexture(texture JS.WebGLTexture)
	depthFunc(func JS.Number)
	depthMask(flag JS.Boolean)
	depthRange(zNear JS.Number, zFar JS.Number)
	detachShader(program JS.WebGLProgram, shader JS.WebGLShader)
	disable(cap JS.Number)
	disableVertexAttribArray(index JS.Number)
	drawArrays(mode JS.Number, first JS.Number, count JS.Number)
	drawElements(mode JS.Number, count JS.Number, typ JS.Number, offset JS.Number)
	enable(cap JS.Number)
	enableVertexAttribArray(index JS.Number)
	finish()
	flush()
	framebufferRenderbuffer(target JS.Number, attachment JS.Number, renderbuffertarget JS.Number, renderbuffer JS.WebGLRenderbuffer)
	framebufferTexture2D(target JS.Number, attachment JS.Number, textarget JS.Number, texture JS.WebGLTexture, level JS.Number)
	frontFace(mode JS.Number)
	generateMipmap(target JS.Number)
	getError() JS.Number
	getExtension(name JS.String) JS.Any
	getParameter(name JS.Number) JS.Any
	getProgramParameter(program JS.WebGLProgram, pname JS.Number) JS.Any
	getShaderSource(shader JS.WebGLShader) ?JS.String
	bufferData(target JS.Number, data JS.TypedArray, usage JS.Number)
	shaderSource(shader JS.WebGLShader, source JS.String)
	getShaderParameter(shader JS.WebGLShader, pname JS.Number) JS.Any
	vertexAttribPointer(index JS.Number, size JS.Number, typ JS.Number, normalized JS.Boolean, stride JS.Number, offset JS.Number)
	getAttribLocation(program JS.WebGLProgram, name JS.String) JS.Number
	useProgram(program JS.WebGLProgram)
	getUniformLocation(program JS.WebGLProgram, name JS.String) ?JS.WebGLUniformLocation
	uniformMatrix2fv(location JS.WebGLUniformLocation, transpose JS.Boolean, value JS.Array)
	uniformMatrix3fv(location JS.WebGLUniformLocation, transpose JS.Boolean, value JS.Array)
	uniformMatrix4fv(location JS.WebGLUniformLocation, transpose JS.Boolean, value JS.Array)
	getProgramInfoLog(program JS.WebGLProgram) JS.String
	getShaderInfoLog(shader JS.WebGLShader) JS.String
	viewport(x JS.Number, y JS.Number, width JS.Number, height JS.Number)
	scissor(x JS.Number, y JS.Number, width JS.Number, height JS.Number)
	stencilFunc(func JS.Number, ref JS.Number, mask JS.Number)
	stencilFuncSeparate(face JS.Number, func JS.Number, ref JS.Number, mask JS.Number)
	stencilMask(mask JS.Number)
	stencilMaskSeparate(face JS.Number, mask JS.Number)
	stencilOp(fail JS.Number, zfail JS.Number, zpass JS.Number)
	stencilOpSeparate(face JS.Number, fail JS.Number, zfail JS.Number, zpass JS.Number)
	texParameterf(target JS.Number, pname JS.Number, param JS.Number)
	texParameteri(target JS.Number, pname JS.Number, param JS.Number)
	uniform1f(location JS.WebGLUniformLocation, x JS.Number)
	uniform1i(location JS.WebGLUniformLocation, x JS.Number)
	uniform2f(location JS.WebGLUniformLocation, x JS.Number, y JS.Number)
	uniform2i(location JS.WebGLUniformLocation, x JS.Number, y JS.Number)
	uniform3f(location JS.WebGLUniformLocation, x JS.Number, y JS.Number, z JS.Number)
	uniform3i(location JS.WebGLUniformLocation, x JS.Number, y JS.Number, z JS.Number)
	uniform4f(location JS.WebGLUniformLocation, x JS.Number, y JS.Number, z JS.Number, w JS.Number)
	uniform4i(location JS.WebGLUniformLocation, x JS.Number, y JS.Number, z JS.Number, w JS.Number)
	validateProgram(program JS.WebGLProgram)
	vertexAttrib1f(index JS.Number, x JS.Number)
	vertexAttrib1fv(index JS.Number, values JS.Array)
	vertexAttrib2f(index JS.Number, x JS.Number, y JS.Number)
	vertexAttrib2fv(index JS.Number, x JS.Number, y JS.Number, values JS.Array)
	vertexAttrib3f(index JS.Number, x JS.Number, y JS.Number, z JS.Number)
	vertexAttrib3fv(index JS.Number, x JS.Number, y JS.Number, z JS.Number, values JS.Array)
	vertexAttrib4f(index JS.Number, x JS.Number, y JS.Number, z JS.Number, w JS.Number)
	vertexAttrib4fv(index JS.Number, x JS.Number, y JS.Number, z JS.Number, w JS.Number, values JS.Array)
	bufferSubData(target JS.Number, offset JS.Number, data JS.TypedArray)
	compressedTexImage2D(target JS.Number, level JS.Number, internalformat JS.Number, width JS.Number, height JS.Number, border JS.Number, data JS.TypedArray)
	compressedTexSubImage2D(target JS.Number, level JS.Number, xoffset JS.Number, yoffset JS.Number, width JS.Number, height JS.Number, format JS.Number, data JS.TypedArray)
	readPixels(x JS.Number, y JS.Number, width JS.Number, height JS.Number, format JS.Number, typ JS.Number, border JS.Number, pixels JS.TypedArray)
	texImage2D(target JS.Number, level JS.Number, internalformat JS.Number, format JS.Number, source JS.Node)
}

#interface JS.WebGL2RenderingContext

JavaScript
pub interface JS.WebGL2RenderingContext {
	JS.WebGLRenderingContext
}

#interface JS.Event

JavaScript
pub interface JS.Event {
	JS.EventTarget
	bubbles JS.Boolean
	cancelable JS.Boolean
	composed JS.Boolean
	currentTarget JS.EventTarget
	defaultPrevented JS.Boolean
	eventPhase JS.Number
	isTrusted JS.Boolean
	srcElement JS.EventTarget
	timeStamp JS.DOMHighResTimeStamp // composedPath returns the invocation target objects of event's path.
	composedPath() JS.Array
	initEvent(typ JS.String, bubbles JS.Boolean, cancelable JS.Boolean)
	preventDefault()
	stopImmediatePropagation()
	stopPropagation()
mut:
	returnValue JS.Boolean
}

Event is an event which takes place in the DOM.

#interface JS.ErrorEvent

JavaScript
pub interface JS.ErrorEvent {
	JS.Event
	colno JS.Number
	error JS.Number
	filename JS.Number
	lineno JS.Number
	message JS.String
}

#interface JS.UIEvent

JavaScript
pub interface JS.UIEvent {
	JS.Event
	detail JS.Number
	view JS.Any
}

#interface JS.MouseEvent

JavaScript
pub interface JS.MouseEvent {
	JS.UIEvent
	altKey JS.Boolean
	button JS.Number
	buttons JS.Number
	clientX JS.Number
	clientY JS.Number
	ctrlKey JS.Number
	metaKey JS.Number
	movementX JS.Number
	movementY JS.Number
	offsetX JS.Number
	offsetY JS.Number
	pageX JS.Number
	pageY JS.Number
	relatedTarget JS.Any
	screenX JS.Number
	screenY JS.Number
	shiftKey JS.Boolean
	x JS.Number
	y JS.Number
	getModifierState(keyArg JS.String) JS.Boolean
}

#interface JS.WheelEvent

JavaScript
pub interface JS.WheelEvent {
	JS.MouseEvent
	deltaX JS.Number
	deltaY JS.Number
	deltaZ JS.Number
	deltaMode JS.Number
}

#interface JS.PointerEvent

JavaScript
pub interface JS.PointerEvent {
	JS.MouseEvent
	height JS.Number
	isPrimary JS.Boolean
	pointerId JS.Number
	pointerType JS.String
	pressure JS.Number
	tangentialPressure JS.Number
	tiltX JS.Number
	tiltY JS.Number
	twist JS.Number
	width JS.Number
	getCoalescedEvents() JS.Array
	getPredictedEvents() JS.Array
}

#interface JS.Gamepad

JavaScript
pub interface JS.Gamepad {
	axes JS.Array // Array
	buttons JS.Array // Array
	connected JS.Boolean
	hapticActuators JS.Array // Array
	id JS.String
	index JS.Number
	mapping JS.String
	timestamp JS.Number
}

#interface JS.GamepadButton

JavaScriptsingle_impl
pub interface JS.GamepadButton {
	pressed JS.Boolean
	touched JS.Boolean
	value JS.Number
}

#interface JS.GamepadHapticActuator

JavaScriptsingle_impl
pub interface JS.GamepadHapticActuator {
}

#interface JS.GamepadEvent

JavaScript
pub interface JS.GamepadEvent {
	JS.Event
	gamepad JS.Gamepad
}

#interface JS.HashChangeEvent

JavaScript
pub interface JS.HashChangeEvent {
	JS.Event
	newURL JS.String
	oldURL JS.String
}

#interface JS.MessageEvent

JavaScript
pub interface JS.MessageEvent {
	JS.Event
	data JS.Any
	lastEventId JS.String
	origin JS.String
	ports JS.Array
	source JS.Any
}

#interface JS.MessagePort

JavaScript
pub interface JS.MessagePort {
	JS.EventTarget
	close()
	portMessage(message JS.Any, transfer JS.Array)
	start()
}

#interface JS.PageTransitionEvent

JavaScript
pub interface JS.PageTransitionEvent {
	JS.Event
	persisted JS.Boolean
}

#interface JS.PopStateEvent

JavaScript
pub interface JS.PopStateEvent {
	JS.Event
	state JS.Any
}

#interface JS.ProgressEvent

JavaScript
pub interface JS.ProgressEvent {
	lenghtComputable JS.Boolean
	loaded JS.Number
	target JS.Any
	total JS.Number
}

#interface JS.KeyboardEvent

JavaScript
pub interface JS.KeyboardEvent {
	JS.UIEvent
	altKey JS.Boolean
	code JS.String
	ctrlKey JS.Boolean
	isComposing JS.Boolean
	key JS.String
	location JS.Number
	metaKey JS.Boolean
	repeat JS.Boolean
	shiftKey JS.Boolean
}

Enums

This section is empty.