Changeset 3350
- Timestamp:
- 12/20/07 16:43:26 (13 months ago)
- Location:
- lang/legacy-actionscript/as2draw
- Files:
-
- 3 modified
-
AS2Draw.swf (modified) (previous)
-
Drawable.as (modified) (4 diffs)
-
PixelBuffer.as (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/legacy-actionscript/as2draw/Drawable.as
r3348 r3350 14 14 mDragData = {dragging: false, prevX: 0, prevY: 0}; 15 15 mMC = aContainer.createEmptyMovieClip("drawable_mc", 1); 16 mMC._quality = "LOW"; 16 17 mPixBuf = new PixelBuffer(aW, aH, mMC); 17 18 mBGColor = aBGColor; … … 25 26 mMC.onMouseMove = function(){ _this.onMouseMove(); }; 26 27 mMC.useHandCursor = false; 28 29 // test patterns 30 renderLine(80, 20, 190, 20); 31 renderLine(80, 20, 130, 190); 32 renderLine(80, 20, 100, 190); 33 renderLine(80, 20, 80, 190); 34 renderLine(80, 20, 60, 190); 35 renderLine(80, 20, 10, 20); 36 27 37 } 28 38 … … 64 74 var dx:Number = 0; 65 75 var dy:Number = 0; 66 67 mMC.lineStyle(undefined, 0, 0, true); 76 l = 0; 68 77 for (var i:Number = -1;i < l;i++) 69 78 { … … 73 82 dy = ofs[(i<<1)+1]; 74 83 } 75 mMC.beginFill(mCurrentPen.color);76 84 mPixBuf.drawLine( 77 85 x1 +dx, y1 +dy, 78 x2 +dx, y2 +dy );79 mMC.endFill(); 86 x2 +dx, y2 +dy, 0, mCurrentPen.color); 87 80 88 } 89 90 mMC.lineStyle(1, 0xff0f00); 91 mMC.moveTo(x1+dx, y1+dy); 92 mMC.lineTo(x2+dx, y2+dy); 81 93 } 82 94 -
lang/legacy-actionscript/as2draw/PixelBuffer.as
r3346 r3350 42 42 private var mDir; 43 43 private var mCount; 44 44 45 public function begin(aX:Number, aY:Number, aDir:Number) 45 46 { … … 55 56 } 56 57 57 public function commit(aData:Number )58 public function commit(aData:Number, aOutColor:Number) 58 59 { 60 if (mCount == 0) 61 return; 62 59 63 var dx:Number; 60 64 var dy:Number; 61 65 66 mOut.lineStyle(1, aOutColor); 67 62 68 switch(mDir) { 63 69 case 0: 64 70 dx = 0; dy = -1; 65 U.rect(mOut, mSX, mSY-mCount, 1, mCount); 71 mOut.moveTo(mSX, mSY-mCount); 72 mOut.lineTo(mSX, mSY); 66 73 break; 67 74 case 1: 68 75 dx = 1; dy = 0; 69 U.rect(mOut, mSX, mSY, mCount, 1); 76 mOut.moveTo(mSX , mSY); 77 mOut.lineTo(mSX+mCount, mSY); 70 78 break; 71 79 case 2: 72 80 dx = 0; dy = 1; 73 U.rect(mOut, mSX, mSY, 1, mCount); 81 mOut.moveTo(mSX, mSY); 82 mOut.lineTo(mSX, mSY+mCount); 74 83 break; 75 84 case 3: 76 85 dx = -1; dy = 0; 77 U.rect(mOut, mSX-mCount, mSY, mCount, 1); 86 mOut.moveTo(mSX-mCount, mSY); 87 mOut.lineTo(mSX , mSY); 78 88 break; 79 89 } 90 //mOut.moveTo(0,0); 80 91 81 92 for (var i:Number = 0;i < mCount;i++) … … 89 100 90 101 91 public function drawLine(x1:Number, y1:Number, x2:Number, y2:Number, c:Number )102 public function drawLine(x1:Number, y1:Number, x2:Number, y2:Number, c:Number, outc:Number) 92 103 { 93 104 x1 = Math.floor(x1); … … 100 111 var dy:Number = Math.abs(y2 - y1); 101 112 102 E = 0;103 104 113 var x:Number; 105 114 var y:Number; … … 109 118 if(dx > dy) 110 119 { 120 E = dx/2; 111 121 if (x2 < x1) 112 122 { … … 127 137 E -= dx; 128 138 y += step; 129 commit(c );139 commit(c, outc); 130 140 begin(x+1, y, 1); 131 141 } 132 142 } 133 commit(c );143 commit(c, outc); 134 144 } 135 145 else 136 146 { 147 E = dy/2; 137 148 if (y2 < y1) 138 149 { … … 155 166 E -= dy; 156 167 x += step; 157 commit(c );168 commit(c, outc); 158 169 begin(x, y+1, 2); 159 170 } 160 171 } 161 commit(c );172 commit(c, outc); 162 173 } 163 174 } 164 175 } 176
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)