func (_this *DOMMatrix) C() float64 {
	var ret float64
	value := _this.Value_JS.Get("c")
	ret = (value).Float()
	return ret
}
C returning attribute 'c' with
type float64 (idl: unrestricted double).
package geometry
import js "github.com/gowebapi/webapi/core/js"
import (
	"github.com/gowebapi/webapi/javascript"
)
func unused(value interface{}) {
}
type Union struct {
	Value js.Value
}
func (u *Union) JSValue() js.Value {
	return u.Value
}
func UnionFromJS(value js.Value) *Union {
	return &Union{Value: value}
}
type DOMMatrix2DInit struct {
	A   float64
	B   float64
	C   float64
	D   float64
	E   float64
	F   float64
	M11 float64
	M12 float64
	M21 float64
	M22 float64
	M41 float64
	M42 float64
}
func (_this *DOMMatrix2DInit) JSValue() js.Value {
	out := js.Global().Get("Object").New()
	value0 := _this.A
	out.Set("a", value0)
	value1 := _this.B
	out.Set("b", value1)
	value2 := _this.C
	out.Set("c", value2)
	value3 := _this.D
	out.Set("d", value3)
	value4 := _this.E
	out.Set("e", value4)
	value5 := _this.F
	out.Set("f", value5)
	value6 := _this.M11
	out.Set("m11", value6)
	value7 := _this.M12
	out.Set("m12", value7)
	value8 := _this.M21
	out.Set("m21", value8)
	value9 := _this.M22
	out.Set("m22", value9)
	value10 := _this.M41
	out.Set("m41", value10)
	value11 := _this.M42
	out.Set("m42", value11)
	return out
}
func DOMMatrix2DInitFromJS(value js.Wrapper) *DOMMatrix2DInit {
	input := value.JSValue()
	var out DOMMatrix2DInit
	var (
		value0  float64  
		value1  float64  
		value2  float64  
		value3  float64  
		value4  float64  
		value5  float64  
		value6  float64  
		value7  float64  
		value8  float64  
		value9  float64  
		value10 float64  
		value11 float64  
	)
	value0 = (input.Get("a")).Float()
	out.A = value0
	value1 = (input.Get("b")).Float()
	out.B = value1
	value2 = (input.Get("c")).Float()
	out.C = value2
	value3 = (input.Get("d")).Float()
	out.D = value3
	value4 = (input.Get("e")).Float()
	out.E = value4
	value5 = (input.Get("f")).Float()
	out.F = value5
	value6 = (input.Get("m11")).Float()
	out.M11 = value6
	value7 = (input.Get("m12")).Float()
	out.M12 = value7
	value8 = (input.Get("m21")).Float()
	out.M21 = value8
	value9 = (input.Get("m22")).Float()
	out.M22 = value9
	value10 = (input.Get("m41")).Float()
	out.M41 = value10
	value11 = (input.Get("m42")).Float()
	out.M42 = value11
	return &out
}
type DOMMatrixInit struct {
	A    float64
	B    float64
	C    float64
	D    float64
	E    float64
	F    float64
	M11  float64
	M12  float64
	M21  float64
	M22  float64
	M41  float64
	M42  float64
	M13  float64
	M14  float64
	M23  float64
	M24  float64
	M31  float64
	M32  float64
	M33  float64
	M34  float64
	M43  float64
	M44  float64
	Is2D bool
}
func (_this *DOMMatrixInit) JSValue() js.Value {
	out := js.Global().Get("Object").New()
	value0 := _this.A
	out.Set("a", value0)
	value1 := _this.B
	out.Set("b", value1)
	value2 := _this.C
	out.Set("c", value2)
	value3 := _this.D
	out.Set("d", value3)
	value4 := _this.E
	out.Set("e", value4)
	value5 := _this.F
	out.Set("f", value5)
	value6 := _this.M11
	out.Set("m11", value6)
	value7 := _this.M12
	out.Set("m12", value7)
	value8 := _this.M21
	out.Set("m21", value8)
	value9 := _this.M22
	out.Set("m22", value9)
	value10 := _this.M41
	out.Set("m41", value10)
	value11 := _this.M42
	out.Set("m42", value11)
	value12 := _this.M13
	out.Set("m13", value12)
	value13 := _this.M14
	out.Set("m14", value13)
	value14 := _this.M23
	out.Set("m23", value14)
	value15 := _this.M24
	out.Set("m24", value15)
	value16 := _this.M31
	out.Set("m31", value16)
	value17 := _this.M32
	out.Set("m32", value17)
	value18 := _this.M33
	out.Set("m33", value18)
	value19 := _this.M34
	out.Set("m34", value19)
	value20 := _this.M43
	out.Set("m43", value20)
	value21 := _this.M44
	out.Set("m44", value21)
	value22 := _this.Is2D
	out.Set("is2D", value22)
	return out
}
func DOMMatrixInitFromJS(value js.Wrapper) *DOMMatrixInit {
	input := value.JSValue()
	var out DOMMatrixInit
	var (
		value0  float64  
		value1  float64  
		value2  float64  
		value3  float64  
		value4  float64  
		value5  float64  
		value6  float64  
		value7  float64  
		value8  float64  
		value9  float64  
		value10 float64  
		value11 float64  
		value12 float64  
		value13 float64  
		value14 float64  
		value15 float64  
		value16 float64  
		value17 float64  
		value18 float64  
		value19 float64  
		value20 float64  
		value21 float64  
		value22 bool     
	)
	value0 = (input.Get("a")).Float()
	out.A = value0
	value1 = (input.Get("b")).Float()
	out.B = value1
	value2 = (input.Get("c")).Float()
	out.C = value2
	value3 = (input.Get("d")).Float()
	out.D = value3
	value4 = (input.Get("e")).Float()
	out.E = value4
	value5 = (input.Get("f")).Float()
	out.F = value5
	value6 = (input.Get("m11")).Float()
	out.M11 = value6
	value7 = (input.Get("m12")).Float()
	out.M12 = value7
	value8 = (input.Get("m21")).Float()
	out.M21 = value8
	value9 = (input.Get("m22")).Float()
	out.M22 = value9
	value10 = (input.Get("m41")).Float()
	out.M41 = value10
	value11 = (input.Get("m42")).Float()
	out.M42 = value11
	value12 = (input.Get("m13")).Float()
	out.M13 = value12
	value13 = (input.Get("m14")).Float()
	out.M14 = value13
	value14 = (input.Get("m23")).Float()
	out.M23 = value14
	value15 = (input.Get("m24")).Float()
	out.M24 = value15
	value16 = (input.Get("m31")).Float()
	out.M31 = value16
	value17 = (input.Get("m32")).Float()
	out.M32 = value17
	value18 = (input.Get("m33")).Float()
	out.M33 = value18
	value19 = (input.Get("m34")).Float()
	out.M34 = value19
	value20 = (input.Get("m43")).Float()
	out.M43 = value20
	value21 = (input.Get("m44")).Float()
	out.M44 = value21
	value22 = (input.Get("is2D")).Bool()
	out.Is2D = value22
	return &out
}
type DOMPointInit struct {
	X float64
	Y float64
	Z float64
	W float64
}
func (_this *DOMPointInit) JSValue() js.Value {
	out := js.Global().Get("Object").New()
	value0 := _this.X
	out.Set("x", value0)
	value1 := _this.Y
	out.Set("y", value1)
	value2 := _this.Z
	out.Set("z", value2)
	value3 := _this.W
	out.Set("w", value3)
	return out
}
func DOMPointInitFromJS(value js.Wrapper) *DOMPointInit {
	input := value.JSValue()
	var out DOMPointInit
	var (
		value0 float64  
		value1 float64  
		value2 float64  
		value3 float64  
	)
	value0 = (input.Get("x")).Float()
	out.X = value0
	value1 = (input.Get("y")).Float()
	out.Y = value1
	value2 = (input.Get("z")).Float()
	out.Z = value2
	value3 = (input.Get("w")).Float()
	out.W = value3
	return &out
}
type DOMQuadInit struct {
	P1 *DOMPointInit
	P2 *DOMPointInit
	P3 *DOMPointInit
	P4 *DOMPointInit
}
func (_this *DOMQuadInit) JSValue() js.Value {
	out := js.Global().Get("Object").New()
	value0 := _this.P1.JSValue()
	out.Set("p1", value0)
	value1 := _this.P2.JSValue()
	out.Set("p2", value1)
	value2 := _this.P3.JSValue()
	out.Set("p3", value2)
	value3 := _this.P4.JSValue()
	out.Set("p4", value3)
	return out
}
func DOMQuadInitFromJS(value js.Wrapper) *DOMQuadInit {
	input := value.JSValue()
	var out DOMQuadInit
	var (
		value0 *DOMPointInit  
		value1 *DOMPointInit  
		value2 *DOMPointInit  
		value3 *DOMPointInit  
	)
	value0 = DOMPointInitFromJS(input.Get("p1"))
	out.P1 = value0
	value1 = DOMPointInitFromJS(input.Get("p2"))
	out.P2 = value1
	value2 = DOMPointInitFromJS(input.Get("p3"))
	out.P3 = value2
	value3 = DOMPointInitFromJS(input.Get("p4"))
	out.P4 = value3
	return &out
}
type DOMRectInit struct {
	X      float64
	Y      float64
	Width  float64
	Height float64
}
func (_this *DOMRectInit) JSValue() js.Value {
	out := js.Global().Get("Object").New()
	value0 := _this.X
	out.Set("x", value0)
	value1 := _this.Y
	out.Set("y", value1)
	value2 := _this.Width
	out.Set("width", value2)
	value3 := _this.Height
	out.Set("height", value3)
	return out
}
func DOMRectInitFromJS(value js.Wrapper) *DOMRectInit {
	input := value.JSValue()
	var out DOMRectInit
	var (
		value0 float64  
		value1 float64  
		value2 float64  
		value3 float64  
	)
	value0 = (input.Get("x")).Float()
	out.X = value0
	value1 = (input.Get("y")).Float()
	out.Y = value1
	value2 = (input.Get("width")).Float()
	out.Width = value2
	value3 = (input.Get("height")).Float()
	out.Height = value3
	return &out
}
type DOMMatrix struct {
	DOMMatrixReadOnly
}
func DOMMatrixFromJS(value js.Wrapper) *DOMMatrix {
	input := value.JSValue()
	if typ := input.Type(); typ == js.TypeNull || typ == js.TypeUndefined {
		return nil
	}
	ret := &DOMMatrix{}
	ret.Value_JS = input
	return ret
}
func FromMatrix(other *DOMMatrixInit) (_result *DOMMatrix) {
	_klass := js.Global().Get("DOMMatrix")
	_method := _klass.Get("fromMatrix")
	var (
		_args [1]interface{}
		_end  int
	)
	if other != nil {
		_p0 := other.JSValue()
		_args[0] = _p0
		_end++
	}
	_returned := _method.Invoke(_args[0:_end]...)
	var (
		_converted *DOMMatrix  
	)
	_converted = DOMMatrixFromJS(_returned)
	_result = _converted
	return
}
func FromFloat32Array(array32 *javascript.Float32Array) (_result *DOMMatrix) {
	_klass := js.Global().Get("DOMMatrix")
	_method := _klass.Get("fromFloat32Array")
	var (
		_args [1]interface{}
		_end  int
	)
	_p0 := array32.JSValue()
	_args[0] = _p0
	_end++
	_returned := _method.Invoke(_args[0:_end]...)
	var (
		_converted *DOMMatrix  
	)
	_converted = DOMMatrixFromJS(_returned)
	_result = _converted
	return
}
func FromFloat64Array(array64 *javascript.Float64Array) (_result *DOMMatrix) {
	_klass := js.Global().Get("DOMMatrix")
	_method := _klass.Get("fromFloat64Array")
	var (
		_args [1]interface{}
		_end  int
	)
	_p0 := array64.JSValue()
	_args[0] = _p0
	_end++
	_returned := _method.Invoke(_args[0:_end]...)
	var (
		_converted *DOMMatrix  
	)
	_converted = DOMMatrixFromJS(_returned)
	_result = _converted
	return
}
func NewDOMMatrix(init *Union) (_result *DOMMatrix) {
	_klass := js.Global().Get("DOMMatrix")
	var (
		_args [1]interface{}
		_end  int
	)
	if init != nil {
		_p0 := init.JSValue()
		_args[0] = _p0
		_end++
	}
	_returned := _klass.New(_args[0:_end]...)
	var (
		_converted *DOMMatrix  
	)
	_converted = DOMMatrixFromJS(_returned)
	_result = _converted
	return
}
func (_this *DOMMatrix) A() float64 {
	var ret float64
	value := _this.Value_JS.Get("a")
	ret = (value).Float()
	return ret
}
func (_this *DOMMatrix) SetA(value float64) {
	input := value
	_this.Value_JS.Set("a", input)
}
func (_this *DOMMatrix) B() float64 {
	var ret float64
	value := _this.Value_JS.Get("b")
	ret = (value).Float()
	return ret
}
func (_this *DOMMatrix) SetB(value float64) {
	input := value
	_this.Value_JS.Set("b", input)
}