diff --git a/src/NyAs3Utils.js b/src/NyAs3Utils.js index 60bfde1..9c4fca3 100644 --- a/src/NyAs3Utils.js +++ b/src/NyAs3Utils.js @@ -37,11 +37,11 @@ ASVector = function(elements) { elements = elements || 0; if (elements.length) { this.length = elements.length; - for (var i=0; iminY; y--) { + maxYfor: for (let y=h-1; y>minY; y--) { off = y*w-1; - for (var x=0; xmaxX; x--) { + for (let x=w-1; x>maxX; x--) { m = (d[--off] & mask) - color; if (!m) { maxX = x; @@ -279,12 +279,12 @@ BitmapData = Klass({ return new Rectangle(minX, minY, Math.max(0,maxX-minX), Math.max(0,maxY-minY)); }, getColorBoundsRect_false : function(mask, color) { - var minX=this.width, minY=this.height, maxX=0, maxY=0; - var w = this.width; h=this.height; - var d = this.data; - minYfor: for (var y=0; yminY; y--) { - for (var x=0; xminY; y--) { + for (let x=0; x maxX) maxX = x; @@ -303,16 +303,16 @@ BitmapData = Klass({ } } } - for (var y=minY; y<=maxY; y++) { - for (var x=0; xmaxX; x--) { - var m = (d[y*w+x] & mask) - color; + for (let x=h-1; x>maxX; x--) { + let m = (d[y*w+x] & mask) - color; if (m) { maxX = x; break; @@ -323,15 +323,15 @@ BitmapData = Klass({ }, putImageData : function(imageData, x,y, w,h) { w = Math.clamp(w,0,imageData.width), h = Math.clamp(h,0,imageData.height); - var stride = this.width; - var d = this.data; - var td = imageData.data; - var y = Math.clamp(y,0,this.height)*stride + let stride = this.width; + let d = this.data; + let td = imageData.data; + let y = Math.clamp(y,0,this.height)*stride , y2 = Math.clamp(y+h,0,this.height)*stride , x = Math.clamp(x,0,this.width) , x2 = Math.clamp(x+w,0,this.width); - for (var y1=y,ty1=0; y1> 16) & 0xff; td[++base] = (c >> 8) & 0xff; td[++base] = (c) & 0xff; @@ -364,12 +364,12 @@ BitmapData = Klass({ ctx.putImageData(id, 0,0); }, floodFill : function(x, y, nv) { - var l=0, x1=0, x2=0, dy=0; - var ov=0; /* old pixel value */ - var stack = []; - var w = this.width, h = this.height; - var stride = this.width; - var data = this.data; + let l=0, x1=0, x2=0, dy=0; + let ov=0; /* old pixel value */ + let stack = []; + let w = this.width, h = this.height; + let stride = this.width; + let data = this.data; ov = data[y*stride + x]; if (ov==nv || x<0 || x>=w || y<0 || y>=h) return; @@ -378,7 +378,7 @@ BitmapData = Klass({ while (stack.length > 0) { /* pop segment off stack and fill a neighboring scan line */ - var a = stack.pop(); + let a = stack.pop(); y = a[0]+a[3], x1 = a[1], x2 = a[2], dy = a[3]; /* * segment of scan line y-dy for x1<=x<=x2 was previously filled, @@ -511,9 +511,9 @@ NyARMat = Klass( initialize : function(i_row,i_clm) { this.m = new Array(i_row); - for (var i=0; i