/bin-release/srcview/source/starling/display/Graphics.as.html

https://bitbucket.org/tshubbard/zfstarlingtutorial · HTML · 233 lines · 198 code · 34 blank · 1 comment · 0 complexity · dc6d49a259dc00fa3fa9a27ad37a5264 MD5 · raw file

  1. <!-- saved from url=(0014)about:internet -->
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  6. <title>Graphics.as</title>
  7. <link rel="stylesheet" type="text/css" href="../../../SourceStyles.css"/>
  8. </head>
  9. <body><pre><span class="ActionScriptpackage">package</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span>
  10. <span class="ActionScriptBracket/Brace">{</span>
  11. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">BitmapData</span>;
  12. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">geom</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Matrix</span>;
  13. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">graphics</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Fill</span>;
  14. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">graphics</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Graphic</span>;
  15. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">graphics</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">NGon</span>;
  16. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">graphics</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Plane</span>;
  17. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">graphics</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">RoundedRectangle</span>;
  18. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">graphics</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Stroke</span>;
  19. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">materials</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">IMaterial</span>;
  20. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">shaders</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">fragment</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">TextureFragmentShader</span>;
  21. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">util</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">CurveUtil</span>;
  22. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">textures</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Texture</span>;
  23. <span class="ActionScriptReserved">public</span> <span class="ActionScriptclass">class</span> <span class="ActionScriptDefault_Text">Graphics</span>
  24. <span class="ActionScriptBracket/Brace">{</span>
  25. <span class="ActionScriptComment">// Shared texture fragment shader used across all graphics drawn via graphics API.
  26. </span> <span class="ActionScriptReserved">private</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">textureFragmentShader</span> :<span class="ActionScriptDefault_Text">TextureFragmentShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">TextureFragmentShader</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  27. <span class="ActionScriptReserved">private</span> <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">BEZIER_ERROR</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 0.75;
  28. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_currentX</span> :<span class="ActionScriptDefault_Text">Number</span>;
  29. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_currentY</span> :<span class="ActionScriptDefault_Text">Number</span>;
  30. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_currentStroke</span> :<span class="ActionScriptDefault_Text">Stroke</span>;
  31. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_currentFill</span> :<span class="ActionScriptDefault_Text">Fill</span>;
  32. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_fillColor</span> :<span class="ActionScriptDefault_Text">uint</span>;
  33. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_fillAlpha</span> :<span class="ActionScriptDefault_Text">Number</span>;
  34. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_strokeThickness</span> :<span class="ActionScriptDefault_Text">Number</span>
  35. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_strokeColor</span> :<span class="ActionScriptDefault_Text">uint</span>;
  36. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_strokeAlpha</span> :<span class="ActionScriptDefault_Text">Number</span>;
  37. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_strokeTexture</span> :<span class="ActionScriptDefault_Text">Texture</span>;
  38. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_strokeMaterial</span> :<span class="ActionScriptDefault_Text">IMaterial</span>;
  39. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_container</span> :<span class="ActionScriptDefault_Text">DisplayObjectContainer</span>;
  40. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">Graphics</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">displayObjectContainer</span>:<span class="ActionScriptDefault_Text">DisplayObjectContainer</span><span class="ActionScriptBracket/Brace">)</span>
  41. <span class="ActionScriptBracket/Brace">{</span>
  42. <span class="ActionScriptDefault_Text">_container</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">displayObjectContainer</span>;
  43. <span class="ActionScriptBracket/Brace">}</span>
  44. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">clear</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  45. <span class="ActionScriptBracket/Brace">{</span>
  46. <span class="ActionScriptReserved">while</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">_container</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">numChildren</span> <span class="ActionScriptOperator">&gt;</span> 0 <span class="ActionScriptBracket/Brace">)</span>
  47. <span class="ActionScriptBracket/Brace">{</span>
  48. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">child</span>:<span class="ActionScriptDefault_Text">DisplayObject</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_container</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getChildAt</span><span class="ActionScriptBracket/Brace">(</span>0<span class="ActionScriptBracket/Brace">)</span>;
  49. <span class="ActionScriptDefault_Text">child</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">dispose</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  50. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">child</span> <span class="ActionScriptReserved">is</span> <span class="ActionScriptDefault_Text">Graphic</span> <span class="ActionScriptBracket/Brace">)</span>
  51. <span class="ActionScriptBracket/Brace">{</span>
  52. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">graphic</span>:<span class="ActionScriptDefault_Text">Graphic</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Graphic</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">child</span><span class="ActionScriptBracket/Brace">)</span>;
  53. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">graphic</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span> <span class="ActionScriptBracket/Brace">)</span>
  54. <span class="ActionScriptBracket/Brace">{</span>
  55. <span class="ActionScriptDefault_Text">graphic</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">dispose</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">true</span><span class="ActionScriptBracket/Brace">)</span>;
  56. <span class="ActionScriptBracket/Brace">}</span>
  57. <span class="ActionScriptBracket/Brace">}</span>
  58. <span class="ActionScriptDefault_Text">_container</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">removeChildAt</span><span class="ActionScriptBracket/Brace">(</span>0<span class="ActionScriptBracket/Brace">)</span>;
  59. <span class="ActionScriptBracket/Brace">}</span>
  60. <span class="ActionScriptDefault_Text">_currentX</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NaN</span>;
  61. <span class="ActionScriptDefault_Text">_currentY</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NaN</span>;
  62. <span class="ActionScriptDefault_Text">_fillColor</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NaN</span>;
  63. <span class="ActionScriptDefault_Text">_fillAlpha</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NaN</span>;
  64. <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  65. <span class="ActionScriptDefault_Text">_currentStroke</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  66. <span class="ActionScriptBracket/Brace">}</span>
  67. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">beginFill</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">color</span>:<span class="ActionScriptDefault_Text">uint</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">alpha</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 1.0<span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  68. <span class="ActionScriptBracket/Brace">{</span>
  69. <span class="ActionScriptDefault_Text">_fillColor</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">color</span>;
  70. <span class="ActionScriptDefault_Text">_fillAlpha</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">alpha</span>;
  71. <span class="ActionScriptDefault_Text">_currentFill</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Fill</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  72. <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">alpha</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_fillAlpha</span>;
  73. <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">color</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">color</span>;
  74. <span class="ActionScriptDefault_Text">_container</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addChild</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptBracket/Brace">)</span>;
  75. <span class="ActionScriptBracket/Brace">}</span>
  76. <span class="ActionScriptASDoc">/**
  77. * Warning - this function will create a fresh texture for each bitmap.
  78. * It is reccomended to use beginTextureFill to ensure texture re-use.
  79. */</span>
  80. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">beginBitmapFill</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">bitmap</span>:<span class="ActionScriptDefault_Text">BitmapData</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">uvMatrix</span>:<span class="ActionScriptDefault_Text">Matrix</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  81. <span class="ActionScriptBracket/Brace">{</span>
  82. <span class="ActionScriptDefault_Text">_fillColor</span> <span class="ActionScriptOperator">=</span> 0xFFFFFF;
  83. <span class="ActionScriptDefault_Text">_fillAlpha</span> <span class="ActionScriptOperator">=</span> 1;
  84. <span class="ActionScriptDefault_Text">_currentFill</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Fill</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  85. <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">fragmentShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">textureFragmentShader</span>;
  86. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">texture</span>:<span class="ActionScriptDefault_Text">Texture</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Texture</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">fromBitmapData</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">bitmap</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptReserved">false</span> <span class="ActionScriptBracket/Brace">)</span>;
  87. <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">textures</span><span class="ActionScriptBracket/Brace">[</span>0<span class="ActionScriptBracket/Brace">]</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">texture</span>;
  88. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">m</span>:<span class="ActionScriptDefault_Text">Matrix</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Matrix</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  89. <span class="ActionScriptDefault_Text">m</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">scale</span><span class="ActionScriptBracket/Brace">(</span>1<span class="ActionScriptOperator">/</span><span class="ActionScriptDefault_Text">texture</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">width</span><span class="ActionScriptOperator">,</span> 1<span class="ActionScriptOperator">/</span><span class="ActionScriptDefault_Text">texture</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">height</span><span class="ActionScriptBracket/Brace">)</span>;
  90. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">uvMatrix</span> <span class="ActionScriptBracket/Brace">)</span>
  91. <span class="ActionScriptBracket/Brace">{</span>
  92. <span class="ActionScriptDefault_Text">m</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">concat</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">uvMatrix</span><span class="ActionScriptBracket/Brace">)</span>;
  93. <span class="ActionScriptBracket/Brace">}</span>
  94. <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">uvMatrix</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">m</span>;
  95. <span class="ActionScriptDefault_Text">_container</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addChild</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptBracket/Brace">)</span>;
  96. <span class="ActionScriptBracket/Brace">}</span>
  97. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">beginTextureFill</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">texture</span>:<span class="ActionScriptDefault_Text">Texture</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">uvMatrix</span>:<span class="ActionScriptDefault_Text">Matrix</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span> <span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  98. <span class="ActionScriptBracket/Brace">{</span>
  99. <span class="ActionScriptDefault_Text">_fillColor</span> <span class="ActionScriptOperator">=</span> 0xFFFFFF;
  100. <span class="ActionScriptDefault_Text">_fillAlpha</span> <span class="ActionScriptOperator">=</span> 1;
  101. <span class="ActionScriptDefault_Text">_currentFill</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Fill</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  102. <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">fragmentShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">textureFragmentShader</span>;
  103. <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">textures</span><span class="ActionScriptBracket/Brace">[</span>0<span class="ActionScriptBracket/Brace">]</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">texture</span>;
  104. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">m</span>:<span class="ActionScriptDefault_Text">Matrix</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Matrix</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  105. <span class="ActionScriptDefault_Text">m</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">scale</span><span class="ActionScriptBracket/Brace">(</span>1<span class="ActionScriptOperator">/</span><span class="ActionScriptDefault_Text">texture</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">width</span><span class="ActionScriptOperator">,</span> 1<span class="ActionScriptOperator">/</span><span class="ActionScriptDefault_Text">texture</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">height</span><span class="ActionScriptBracket/Brace">)</span>;
  106. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">uvMatrix</span> <span class="ActionScriptBracket/Brace">)</span>
  107. <span class="ActionScriptBracket/Brace">{</span>
  108. <span class="ActionScriptDefault_Text">m</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">concat</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">uvMatrix</span><span class="ActionScriptBracket/Brace">)</span>;
  109. <span class="ActionScriptBracket/Brace">}</span>
  110. <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">uvMatrix</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">m</span>;
  111. <span class="ActionScriptDefault_Text">_container</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addChild</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptBracket/Brace">)</span>;
  112. <span class="ActionScriptBracket/Brace">}</span>
  113. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">beginMaterialFill</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">material</span>:<span class="ActionScriptDefault_Text">IMaterial</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">uvMatrix</span>:<span class="ActionScriptDefault_Text">Matrix</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span> <span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  114. <span class="ActionScriptBracket/Brace">{</span>
  115. <span class="ActionScriptDefault_Text">_fillColor</span> <span class="ActionScriptOperator">=</span> 0xFFFFFF;
  116. <span class="ActionScriptDefault_Text">_fillAlpha</span> <span class="ActionScriptOperator">=</span> 1;
  117. <span class="ActionScriptDefault_Text">_currentFill</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Fill</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  118. <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">material</span>;
  119. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">m</span>:<span class="ActionScriptDefault_Text">Matrix</span>;
  120. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">uvMatrix</span> <span class="ActionScriptBracket/Brace">)</span>
  121. <span class="ActionScriptBracket/Brace">{</span>
  122. <span class="ActionScriptDefault_Text">m</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">uvMatrix</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">clone</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  123. <span class="ActionScriptDefault_Text">m</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">invert</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  124. <span class="ActionScriptBracket/Brace">}</span>
  125. <span class="ActionScriptReserved">else</span>
  126. <span class="ActionScriptBracket/Brace">{</span>
  127. <span class="ActionScriptDefault_Text">m</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Matrix</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  128. <span class="ActionScriptBracket/Brace">}</span>
  129. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">textures</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span> <span class="ActionScriptOperator">&gt;</span> 0 <span class="ActionScriptBracket/Brace">)</span>
  130. <span class="ActionScriptBracket/Brace">{</span>
  131. <span class="ActionScriptDefault_Text">m</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">scale</span><span class="ActionScriptBracket/Brace">(</span>1<span class="ActionScriptOperator">/</span><span class="ActionScriptDefault_Text">material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">textures</span><span class="ActionScriptBracket/Brace">[</span>0<span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">width</span><span class="ActionScriptOperator">,</span> 1<span class="ActionScriptOperator">/</span><span class="ActionScriptDefault_Text">material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">textures</span><span class="ActionScriptBracket/Brace">[</span>0<span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">height</span><span class="ActionScriptBracket/Brace">)</span>;
  132. <span class="ActionScriptBracket/Brace">}</span>
  133. <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">uvMatrix</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">m</span>;
  134. <span class="ActionScriptDefault_Text">_container</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addChild</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptBracket/Brace">)</span>;
  135. <span class="ActionScriptBracket/Brace">}</span>
  136. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">endFill</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  137. <span class="ActionScriptBracket/Brace">{</span>
  138. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">_currentFill</span> <span class="ActionScriptOperator">&amp;&amp;</span> <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">numVertices</span> <span class="ActionScriptOperator">&lt;</span> 3 <span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
  139. <span class="ActionScriptDefault_Text">_container</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">removeChild</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptBracket/Brace">)</span>;
  140. <span class="ActionScriptBracket/Brace">}</span>
  141. <span class="ActionScriptDefault_Text">_fillColor</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NaN</span>;
  142. <span class="ActionScriptDefault_Text">_fillAlpha</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NaN</span>;
  143. <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  144. <span class="ActionScriptBracket/Brace">}</span>
  145. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">drawCircle</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">y</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">radius</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  146. <span class="ActionScriptBracket/Brace">{</span>
  147. <span class="ActionScriptDefault_Text">drawEllipse</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">y</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">radius</span><span class="ActionScriptOperator">*</span>2<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">radius</span><span class="ActionScriptOperator">*</span>2<span class="ActionScriptBracket/Brace">)</span>;
  148. <span class="ActionScriptBracket/Brace">}</span>
  149. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">drawEllipse</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">y</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">width</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">height</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  150. <span class="ActionScriptBracket/Brace">{</span>
  151. <span class="ActionScriptComment">// Calculate num-sides based on a blend between circumference of width and circumference of height.
  152. </span> <span class="ActionScriptComment">// Should provide good results for ellipses with similar widths/heights.
  153. </span> <span class="ActionScriptComment">// Will look bad on very thin ellipses.
  154. </span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">numSides</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">PI</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">width</span><span class="ActionScriptOperator">*</span>0.5<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">height</span><span class="ActionScriptOperator">*</span>0.5<span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">*</span> 0.25;
  155. <span class="ActionScriptDefault_Text">numSides</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">numSides</span> <span class="ActionScriptOperator">&lt;</span> 6 <span class="ActionScriptOperator">?</span> 6 : <span class="ActionScriptDefault_Text">numSides</span>;
  156. <span class="ActionScriptComment">// Use an NGon primitive instead of fill to bypass triangulation.
  157. </span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">cachedFill</span>:<span class="ActionScriptDefault_Text">Fill</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_currentFill</span>;
  158. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">_currentFill</span> <span class="ActionScriptBracket/Brace">)</span>
  159. <span class="ActionScriptBracket/Brace">{</span>
  160. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">nGon</span>:<span class="ActionScriptDefault_Text">NGon</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">NGon</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">width</span><span class="ActionScriptOperator">*</span>0.5<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">numSides</span><span class="ActionScriptBracket/Brace">)</span>;
  161. <span class="ActionScriptDefault_Text">nGon</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">x</span>;
  162. <span class="ActionScriptDefault_Text">nGon</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">y</span>;
  163. <span class="ActionScriptDefault_Text">nGon</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">scaleY</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">height</span><span class="ActionScriptOperator">/</span><span class="ActionScriptDefault_Text">width</span>;
  164. <span class="ActionScriptDefault_Text">nGon</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_currentFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span>;
  165. <span class="ActionScriptDefault_Text">nGon</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">material</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">color</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_fillColor</span>;
  166. <span class="ActionScriptDefault_Text">nGon</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">alpha</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_fillAlpha</span>;
  167. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">m</span>:<span class="ActionScriptDefault_Text">Matrix</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Matrix</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  168. <span class="ActionScriptDefault_Text">m</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">scale</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">width</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">height</span><span class="ActionScriptBracket/Brace">)</span>;
  169. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">cachedFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">uvMatrix</span> <span class="ActionScriptBracket/Brace">)</span>
  170. <span class="ActionScriptBracket/Brace">{</span>
  171. <span class="ActionScriptDefault_Text">m</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">concat</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">cachedFill</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">uvMatrix</span><span class="ActionScriptBracket/Brace">)</span>;
  172. <span class="ActionScriptBracket/Brace">}</span>
  173. <span class="ActionScriptDefault_Text">nGon</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">uvMatrix</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">m</span>;
  174. <span class="ActionScriptDefault_Text">_container</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addChild</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">nGon</span><span class="ActionScriptBracket/Brace">)</span>;
  175. <span class="ActionScriptDefault_Text">_currentFill</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  176. <span class="ActionScriptBracket/Brace">}</span>
  177. <span class="ActionScriptComment">// Draw the stroke
  178. </span> <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">isNaN</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_strokeThickness</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptReserved">false</span> <span class="ActionScriptBracket/Brace">)</span>
  179. <span class="ActionScriptBracket/Brace">{</span>
  180. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">halfWidth</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">width</span><span class="ActionScriptOperator">*</span>0.5;
  181. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">halfHeight</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">height</span><span class="ActionScriptOperator">*</span>0.5;
  182. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">anglePerSide</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">PI</span> <span class="ActionScriptOperator">*</span> 2<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> <span class="ActionScriptDefault_Text">numSides</span>;
  183. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">a</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">cos</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">anglePerSide</span><span class="ActionScriptBracket/Brace">)</span>;
  184. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">b</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Math</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">sin</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">anglePerSide</span><span class="ActionScriptBracket/Brace">)</span>;
  185. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">s</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 0.0;
  186. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">c</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 1.0;
  187. <span class="ActionScriptReserved">for</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">i</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> 0; <span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">&lt;=</span> <span class="ActionScriptDefault_Text">numSides</span>; <span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">++</span> <span class="ActionScriptBracket/Brace">)</span>
  188. <span class="ActionScriptBracket/Brace">{</span>
  189. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">sx</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">s</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">halfWidth</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">x</span>;
  190. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">sy</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptOperator">-</span><span class="ActionScriptDefault_Text">c</span> <span class="ActionScriptOperator">*</span> <span class="ActionScriptDefault_Text">halfHeight</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptDefault_Text">y</span>;
  191. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">==</span> 0 <span class="ActionScriptBracket/Brace">)</span>
  192. <span class="ActionScriptBracket/Brace">{</span>
  193. <span class="ActionScriptDefault_Text">moveTo</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">sx</span><span class="ActionScriptOperator">,</span><span class="ActionScriptDefault_Text">sy</span><span class="ActionScriptBracket/Brace">)</span>;
  194. <span class="ActionScriptBracket/Brace">}</span>
  195. <span class="ActionScriptReserved">else</span>
  196. <span class="ActionScriptBracket/Brace">{</span>
  197. <span class="ActionScriptDefault_Text">lineTo</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">sx</span><span class="ActionScriptOperator">,</span><span class="ActionScriptDefault_Text">sy</span><span class="ActionScriptBracket/Brace">)</span>;
  198. <span class="ActionScriptBracket/Brace">}</span>
  199. <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">ns</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDe