From ee08c8c37e6913bf0ef69913d0667f8685a23c47 Mon Sep 17 00:00:00 2001 From: Joshua Granick Date: Mon, 6 Jul 2015 17:14:50 -0700 Subject: [PATCH] HTML5 typed array fix --- lime/utils/Float32Array.hx | 14 ++++++++------ lime/utils/Float64Array.hx | 14 ++++++++------ lime/utils/Int16Array.hx | 12 +++++++----- lime/utils/Int32Array.hx | 12 +++++++----- lime/utils/Int8Array.hx | 12 +++++++----- lime/utils/UInt16Array.hx | 12 +++++++----- lime/utils/UInt32Array.hx | 12 +++++++----- lime/utils/UInt8Array.hx | 12 +++++++----- lime/utils/UInt8ClampedArray.hx | 12 +++++++----- 9 files changed, 65 insertions(+), 47 deletions(-) diff --git a/lime/utils/Float32Array.hx b/lime/utils/Float32Array.hx index 51d6f5cf9..0f04c8709 100644 --- a/lime/utils/Float32Array.hx +++ b/lime/utils/Float32Array.hx @@ -7,9 +7,9 @@ package lime.utils; abstract Float32Array(js.html.Float32Array) from js.html.Float32Array to js.html.Float32Array { - - public inline static var BYTES_PER_ELEMENT : Int = 4; - + + public inline static var BYTES_PER_ELEMENT : Int = 4; + @:generic public inline function new( ?elements:Int, @@ -23,9 +23,11 @@ package lime.utils; this = new js.html.Float32Array( untyped array ); } else if(view != null) { this = new js.html.Float32Array( untyped view ); - } else if(buffer != null) { - len = (len == null) ? untyped __js__('undefined') : len; - this = new js.html.Float32Array( buffer, byteoffset, len ); + } else if (buffer != null) { + if (len == null) + this = new js.html.Float32Array( buffer, byteoffset ); + else + this = new js.html.Float32Array( buffer, byteoffset, len ); } else { this = null; } diff --git a/lime/utils/Float64Array.hx b/lime/utils/Float64Array.hx index e08eb47a5..813879dfb 100644 --- a/lime/utils/Float64Array.hx +++ b/lime/utils/Float64Array.hx @@ -7,9 +7,9 @@ package lime.utils; abstract Float64Array(js.html.Float64Array) from js.html.Float64Array to js.html.Float64Array { - - public inline static var BYTES_PER_ELEMENT : Int = 8; - + + public inline static var BYTES_PER_ELEMENT : Int = 8; + @:generic public inline function new( ?elements:Int, @@ -23,9 +23,11 @@ package lime.utils; this = new js.html.Float64Array( untyped array ); } else if(view != null) { this = new js.html.Float64Array( untyped view ); - } else if(buffer != null) { - len = (len == null) ? untyped __js__('undefined') : len; - this = new js.html.Float64Array( buffer, byteoffset, len ); + } else if (buffer != null) { + if (len == null) + this = new js.html.Float64Array( buffer, byteoffset ); + else + this = new js.html.Float64Array( buffer, byteoffset, len ); } else { this = null; } diff --git a/lime/utils/Int16Array.hx b/lime/utils/Int16Array.hx index 23edfce97..161f76185 100644 --- a/lime/utils/Int16Array.hx +++ b/lime/utils/Int16Array.hx @@ -7,9 +7,9 @@ package lime.utils; abstract Int16Array(js.html.Int16Array) from js.html.Int16Array to js.html.Int16Array { - - public inline static var BYTES_PER_ELEMENT : Int = 2; - + + public inline static var BYTES_PER_ELEMENT : Int = 2; + @:generic public inline function new( ?elements:Int, @@ -24,8 +24,10 @@ package lime.utils; } else if(view != null) { this = new js.html.Int16Array( untyped view ); } else if(buffer != null) { - len = (len == null) ? untyped __js__('undefined') : len; - this = new js.html.Int16Array( buffer, byteoffset, len ); + if (len == null) + this = new js.html.Int16Array( buffer, byteoffset ); + else + this = new js.html.Int16Array( buffer, byteoffset, len ); } else { this = null; } diff --git a/lime/utils/Int32Array.hx b/lime/utils/Int32Array.hx index ad74af407..389024dfb 100644 --- a/lime/utils/Int32Array.hx +++ b/lime/utils/Int32Array.hx @@ -7,9 +7,9 @@ package lime.utils; abstract Int32Array(js.html.Int32Array) from js.html.Int32Array to js.html.Int32Array { - - public inline static var BYTES_PER_ELEMENT : Int = 4; - + + public inline static var BYTES_PER_ELEMENT : Int = 4; + @:generic public inline function new( ?elements:Int, @@ -24,8 +24,10 @@ package lime.utils; } else if(view != null) { this = new js.html.Int32Array( untyped view ); } else if(buffer != null) { - len = (len == null) ? untyped __js__('undefined') : len; - this = new js.html.Int32Array( buffer, byteoffset, len ); + if (len == null) + this = new js.html.Int32Array( buffer, byteoffset ); + else + this = new js.html.Int32Array( buffer, byteoffset, len ); } else { this = null; } diff --git a/lime/utils/Int8Array.hx b/lime/utils/Int8Array.hx index 3e25c1430..01f90edde 100644 --- a/lime/utils/Int8Array.hx +++ b/lime/utils/Int8Array.hx @@ -7,9 +7,9 @@ package lime.utils; abstract Int8Array(js.html.Int8Array) from js.html.Int8Array to js.html.Int8Array { - - public inline static var BYTES_PER_ELEMENT : Int = 1; - + + public inline static var BYTES_PER_ELEMENT : Int = 1; + @:generic public inline function new( ?elements:Int, @@ -24,8 +24,10 @@ package lime.utils; } else if(view != null) { this = new js.html.Int8Array( untyped view ); } else if(buffer != null) { - len = (len == null) ? untyped __js__('undefined') : len; - this = new js.html.Int8Array( buffer, byteoffset, len ); + if (len == null) + this = new js.html.Int8Array( buffer, byteoffset ); + else + this = new js.html.Int8Array( buffer, byteoffset, len ); } else { this = null; } diff --git a/lime/utils/UInt16Array.hx b/lime/utils/UInt16Array.hx index 738d5ee87..aa0de3b0a 100644 --- a/lime/utils/UInt16Array.hx +++ b/lime/utils/UInt16Array.hx @@ -7,9 +7,9 @@ package lime.utils; abstract UInt16Array(js.html.Uint16Array) from js.html.Uint16Array to js.html.Uint16Array { - - public inline static var BYTES_PER_ELEMENT : Int = 2; - + + public inline static var BYTES_PER_ELEMENT : Int = 2; + @:generic public inline function new( ?elements:Int, @@ -24,8 +24,10 @@ package lime.utils; } else if(view != null) { this = new js.html.Uint16Array( untyped view ); } else if(buffer != null) { - len = (len == null) ? untyped __js__('undefined') : len; - this = new js.html.Uint16Array( buffer, byteoffset, len ); + if (len == null) + this = new js.html.Uint16Array( buffer, byteoffset ); + else + this = new js.html.Uint16Array( buffer, byteoffset, len ); } else { this = null; } diff --git a/lime/utils/UInt32Array.hx b/lime/utils/UInt32Array.hx index 349e510b1..49e45fa04 100644 --- a/lime/utils/UInt32Array.hx +++ b/lime/utils/UInt32Array.hx @@ -7,9 +7,9 @@ package lime.utils; abstract UInt32Array(js.html.Uint32Array) from js.html.Uint32Array to js.html.Uint32Array { - - public inline static var BYTES_PER_ELEMENT : Int = 4; - + + public inline static var BYTES_PER_ELEMENT : Int = 4; + @:generic public inline function new( ?elements:Int, @@ -24,8 +24,10 @@ package lime.utils; } else if(view != null) { this = new js.html.Uint32Array( untyped view ); } else if(buffer != null) { - len = (len == null) ? untyped __js__('undefined') : len; - this = new js.html.Uint32Array( buffer, byteoffset, len ); + if (len == null) + this = new js.html.Uint32Array( buffer, byteoffset ); + else + this = new js.html.Uint32Array( buffer, byteoffset, len ); } else { this = null; } diff --git a/lime/utils/UInt8Array.hx b/lime/utils/UInt8Array.hx index 6679b427d..2dfe2442c 100644 --- a/lime/utils/UInt8Array.hx +++ b/lime/utils/UInt8Array.hx @@ -7,9 +7,9 @@ package lime.utils; abstract UInt8Array(js.html.Uint8Array) from js.html.Uint8Array to js.html.Uint8Array { - - public inline static var BYTES_PER_ELEMENT : Int = 1; - + + public inline static var BYTES_PER_ELEMENT : Int = 1; + @:generic public inline function new( ?elements:Int, @@ -24,8 +24,10 @@ package lime.utils; } else if(view != null) { this = new js.html.Uint8Array( untyped view ); } else if(buffer != null) { - len = (len == null) ? untyped __js__('undefined') : len; - this = new js.html.Uint8Array( buffer, byteoffset, len ); + if (len == null) + this = new js.html.Uint8Array( buffer, byteoffset ); + else + this = new js.html.Uint8Array( buffer, byteoffset, len ); } else { this = null; } diff --git a/lime/utils/UInt8ClampedArray.hx b/lime/utils/UInt8ClampedArray.hx index 8e074ea65..3aa2f681b 100644 --- a/lime/utils/UInt8ClampedArray.hx +++ b/lime/utils/UInt8ClampedArray.hx @@ -7,9 +7,9 @@ package lime.utils; abstract UInt8ClampedArray(js.html.Uint8ClampedArray) from js.html.Uint8ClampedArray to js.html.Uint8ClampedArray { - - public inline static var BYTES_PER_ELEMENT : Int = 1; - + + public inline static var BYTES_PER_ELEMENT : Int = 1; + @:generic public inline function new( ?elements:Int, @@ -24,8 +24,10 @@ package lime.utils; } else if(view != null) { this = new js.html.Uint8ClampedArray( untyped view ); } else if(buffer != null) { - len = (len == null) ? untyped __js__('undefined') : len; - this = new js.html.Uint8ClampedArray( buffer, byteoffset, len ); + if (len == null) + this = new js.html.Uint8ClampedArray( buffer, byteoffset ); + else + this = new js.html.Uint8ClampedArray( buffer, byteoffset, len ); } else { this = null; }