Changeset 3477 for lang/legacy-actionscript
- Timestamp:
- 12/23/07 15:27:50 (12 months ago)
- Location:
- lang/legacy-actionscript/as2draw
- Files:
-
- 3 modified
-
AS2Draw.swf (modified) (previous)
-
Drawable.as (modified) (1 diff)
-
PixelBuffer.as (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/legacy-actionscript/as2draw/Drawable.as
r3466 r3477 48 48 public function removeTopLayer():Void 49 49 { 50 //mPixBuf.dumpBuffer(); 50 51 mMStack.pop(); 51 52 } -
lang/legacy-actionscript/as2draw/PixelBuffer.as
r3465 r3477 24 24 for (i = 0;i < 16;i++) 25 25 { 26 if (0 == ( w>> i)) break;27 } 28 if (i == 0) throw "pixbuf width too big";26 if (0 == ((w>>2) >> i)) break; 27 } 28 if (i == 16) throw "pixbuf width too big"; 29 29 30 30 mStrideShift = i; 31 mStride = 1 << i;31 mStride = 1 << mStrideShift; 32 32 } 33 33 … … 36 36 mOut = aMC; 37 37 } 38 /* 38 39 39 public function setPixel(x:Number, y:Number, k:Number) 40 40 { 41 41 if (x<0 || x>=mWidth || y<0) return; 42 mBuf[ (y<<mStrideShift) + x ] = k; 43 //var i:Number = (y<<mStrideShift) + x; 44 } 45 */ 42 var ADDR = (y<<mStrideShift) | (x>>2); 43 mBuf[ADDR] &= ~(0x000f << ((x&0x3) << 2)); 44 mBuf[ADDR] |= k << ((x&0x3) << 2); 45 } 46 46 47 47 48 public function dumpBuffer() 48 { 49 49 {/* 50 var a:Array = []; 51 var c = 0; 52 for (var i in mBuf) 53 { 54 c++; 55 a.push("\"" +i+"\":"+mBuf[i]); 56 } 57 jp.javac.tools.JTracer.trace("{\"stride\": " +mStride+ ","); 58 jp.javac.tools.JTracer.trace("\"count\": " +c+ ","); 59 jp.javac.tools.JTracer.trace("\"data\": {"+a.join(",")+"}\n}");*/ 50 60 } 51 61 … … 117 127 } 118 128 129 var ADDR; 119 130 for (var i:Number = 0;i < mCount;i++) 120 131 { 121 132 //setPixel(mSX, mSY, aData); 122 133 if (mSX>=0 && mSX<mWidth && mSY>=0); 123 mBuf[ (mSY<<mStrideShift) + mSX ] = aData; 134 { 135 ADDR = (mSY<<mStrideShift) | (mSX>>2); 136 mBuf[ADDR] &= ~(0x000f << ((mSX&0x3) << 2)); 137 mBuf[ADDR] |= aData << ((mSX&0x3) << 2); 138 } 124 139 125 140 mSX += dx;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)