Changeset 15821
- Timestamp:
- 07/15/08 04:45:09 (5 years ago)
- Location:
- lang/actionscript/ascss/src
- Files:
-
- 15 added
- 3 modified
-
KyotoDemo.as (modified) (6 diffs)
-
KyotoDemo.swf (modified) (previous)
-
kyotodemo/Edge.as (added)
-
kyotodemo/EdgeLayer.as (modified) (1 diff)
-
org (added)
-
org/libspark (added)
-
org/libspark/thread (added)
-
org/libspark/thread/EnterFrameThreadExecutor.as (added)
-
org/libspark/thread/IMonitor.as (added)
-
org/libspark/thread/IThreadExecutor.as (added)
-
org/libspark/thread/Monitor.as (added)
-
org/libspark/thread/Thread.as (added)
-
org/libspark/thread/ThreadState.as (added)
-
org/libspark/thread/errors (added)
-
org/libspark/thread/errors/CurrentThreadNotFoundError.as (added)
-
org/libspark/thread/errors/IllegalThreadStateError.as (added)
-
org/libspark/thread/errors/InterruptedError.as (added)
-
org/libspark/thread/errors/ThreadLibraryNotInitializedError.as (added)
Legend:
- Unmodified
- Added
- Removed
-
lang/actionscript/ascss/src/KyotoDemo.as
r15820 r15821 9 9 import cssdom.*; 10 10 import kyotodemo.*; 11 12 import org.libspark.thread.*; 13 11 14 public class KyotoDemo extends STDOUT 12 15 { … … 42 45 private var mStyleSheet:StyleList; 43 46 47 private var mEntireAnimation:EntireAnimationThread; 48 private var mPrevEdgesCount:int = -1; 49 44 50 function KyotoDemo() 45 51 { 52 Thread.initialize(new EnterFrameThreadExecutor()); 53 46 54 var logo:Bitmap = new LogoEmbed(); 47 55 logo.x = 210; … … 93 101 mSelectorEdgeLayer = new EdgeLayer(); 94 102 addChild(mSelectorEdgeLayer); 103 mEntireAnimation = new EntireAnimationThread(mSelectorEdgeLayer); 104 mEntireAnimation.start(); 95 105 96 106 mMarkerLayer = new Sprite(); … … 267 277 private function doMatching():void 268 278 { 269 STDOUT.cls();279 // STDOUT.cls(); 270 280 mSelectorEdgeLayer.clear(); 271 281 if (!mDocument || !mStyleSheet) return; … … 302 312 } 303 313 } 314 315 if (mPrevEdgesCount != mSelectorEdgeLayer.count) 316 mEntireAnimation.startAnimation(); 317 318 mPrevEdgesCount = mSelectorEdgeLayer.count; 304 319 } 305 320 } … … 347 362 } 348 363 } 364 365 366 class EntireAnimationThread extends org.libspark.thread.Thread 367 { 368 import flash.display.*; 369 370 private var mTarget:Sprite; 371 private var mCount:int = -1; 372 function EntireAnimationThread(s:Sprite) 373 { 374 mTarget = s; 375 } 376 377 protected override function run():void 378 { 379 if (mCount < 0) 380 { 381 wait(0); 382 next(animate); 383 } 384 else 385 next(animate); 386 } 387 388 public function startAnimation():void 389 { 390 mCount = 0; 391 notify(); 392 } 393 394 protected function animate():void 395 { 396 if (++mCount > 5) 397 { 398 wait(0); 399 next(animate); 400 return; 401 } 402 403 mTarget.alpha = mCount/5.0; 404 405 next(animate); 406 } 407 } -
lang/actionscript/ascss/src/kyotodemo/EdgeLayer.as
r15820 r15821 4 4 public class EdgeLayer extends Sprite 5 5 { 6 private var mLayer1:Sprite = new Sprite; 7 private var mLayer2:Sprite = new Sprite; 8 6 private var mCount:uint = 0; 9 7 function EdgeLayer() 10 8 { 11 mLayer1.blendMode = BlendMode.ADD;12 mLayer2.blendMode = BlendMode.ADD;13 9 14 addChild(mLayer1); 15 addChild(mLayer2); 10 } 11 12 public function get count():uint 13 { 14 return mCount; 15 } 16 17 public function addEdge(x1:int, y1:int, x2:int, y2:int):Edge 18 { 19 mCount++; 20 var eg:Edge = new Edge(); 21 eg.drawEdge(x1, y1, x2, y2); 22 addChild(eg); 23 24 return eg; 16 25 } 17 26 18 27 public function clear():void 19 28 { 20 mLayer1.graphics.clear(); 21 mLayer2.graphics.clear(); 22 } 23 24 public function addEdge(x1:int, y1:int, x2:int, y2:int):void 25 { 26 var g:Graphics = mLayer1.graphics; 27 g.lineStyle(5, 0x112266); 28 drawPath(x1, y1, x2, y2, g) 29 g.lineStyle(3, 0x2244aa); 30 drawPath(x1, y1, x2, y2, g) 31 32 g = mLayer2.graphics; 33 g.lineStyle(1, 0x55aaff); 34 drawPath(x1, y1, x2, y2, g) 35 } 36 37 private function drawPath(x1:int, y1:int, x2:int, y2:int, g:Graphics):void 38 { 39 var cy:int = (y1+y2)/2 - 10; 40 var cx:int = (x1+x2)/2; 41 42 g.moveTo(x1, y1); 43 g.curveTo(x1*0.6+cx*0.4, cy, cx, cy); 44 g.curveTo(x2*0.6+cx*0.4, cy, x2, y2); 29 mCount = 0; 30 var len:uint = numChildren; 31 for (var i:uint = 0;i < len;i++) 32 removeChildAt(0); 45 33 } 46 34 }
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)