mirror of
https://scm.univ-tours.fr/22107988t/rappaurio-sae501_502.git
synced 2025-08-28 20:15:58 +02:00
1501 lines
277 KiB
HTML
1501 lines
277 KiB
HTML
<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"> <style>
|
||
.KEYW {color: #933;}
|
||
.COMM {color: #bbb; font-style: italic;}
|
||
.NUMB {color: #393;}
|
||
.STRN {color: #393;}
|
||
.REGX {color: #339;}
|
||
.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
|
||
</style></head><body><pre><span class='line'> 1</span> <span class="TOKN"></span><span class="WHIT">
|
||
<span class='line'> 2</span> </span><span class="COMM">/**
|
||
<span class='line'> 3</span> * @name CeL SVG function
|
||
<span class='line'> 4</span> * @fileoverview
|
||
<span class='line'> 5</span> * 本檔案包含了 SVG 的 functions。
|
||
<span class='line'> 6</span> * @since
|
||
<span class='line'> 7</span> */</span><span class="WHIT">
|
||
<span class='line'> 8</span>
|
||
<span class='line'> 9</span>
|
||
<span class='line'> 10</span> </span><span class="COMM">/*
|
||
<span class='line'> 11</span> TODO
|
||
<span class='line'> 12</span> 對無顯示 SVG 的多一項警告。
|
||
<span class='line'> 13</span>
|
||
<span class='line'> 14</span> ASCIIsvg.js
|
||
<span class='line'> 15</span> http://www1.chapman.edu/~jipsen/svg/asciisvg.html
|
||
<span class='line'> 16</span> */</span><span class="WHIT">
|
||
<span class='line'> 17</span>
|
||
<span class='line'> 18</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">CeL</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'> 19</span>
|
||
<span class='line'> 20</span> </span><span class="COMM">/**
|
||
<span class='line'> 21</span> * 本 module 之 name(id),<span style="text-decoration:line-through;">不設定時會從呼叫時之 path 取得</span>。
|
||
<span class='line'> 22</span> * @type String
|
||
<span class='line'> 23</span> * @constant
|
||
<span class='line'> 24</span> * @inner
|
||
<span class='line'> 25</span> * @ignore
|
||
<span class='line'> 26</span> */</span><span class="WHIT">
|
||
<span class='line'> 27</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">module_name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'net.SVG'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'> 28</span>
|
||
<span class='line'> 29</span> </span><span class="COMM">//===================================================</span><span class="WHIT">
|
||
<span class='line'> 30</span> </span><span class="COMM">/**
|
||
<span class='line'> 31</span> * 若欲 include 整個 module 時,需囊括之 code。
|
||
<span class='line'> 32</span> * @type Function
|
||
<span class='line'> 33</span> * @param {Function} library_namespace namespace of library
|
||
<span class='line'> 34</span> * @param load_arguments 呼叫時之 argument(s)
|
||
<span class='line'> 35</span> * @return
|
||
<span class='line'> 36</span> * @name CeL.net.SVG
|
||
<span class='line'> 37</span> * @constant
|
||
<span class='line'> 38</span> * @inner
|
||
<span class='line'> 39</span> * @ignore
|
||
<span class='line'> 40</span> */</span><span class="WHIT">
|
||
<span class='line'> 41</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">code_for_including</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">library_namespace</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">load_arguments</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'> 42</span>
|
||
<span class='line'> 43</span> </span><span class="COMM">// requires</span><span class="WHIT">
|
||
<span class='line'> 44</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">eval</span><span class="PUNC">(</span><span class="NAME">library_namespace.use_function</span><span class="PUNC">(</span><span class="WHIT">
|
||
<span class='line'> 45</span> </span><span class="WHIT"> </span><span class="STRN">'net.web.XML_node,net.web.set_attribute,net.web.remove_all_child,net.web.set_class,data.split_String_to_Object'</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'> 46</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'> 47</span>
|
||
<span class='line'> 48</span>
|
||
<span class='line'> 49</span> </span><span class="COMM">// ============================================================================</span><span class="WHIT">
|
||
<span class='line'> 50</span> </span><span class="COMM">// definition of module SVG</span><span class="WHIT">
|
||
<span class='line'> 51</span>
|
||
<span class='line'> 52</span> </span><span class="COMM">/*
|
||
<span class='line'> 53</span>
|
||
<span class='line'> 54</span> TODO:
|
||
<span class='line'> 55</span> animation
|
||
<span class='line'> 56</span> .add_image
|
||
<span class='line'> 57</span> */</span><span class="WHIT">
|
||
<span class='line'> 58</span>
|
||
<span class='line'> 59</span> </span><span class="COMM">// in 運算子會檢查物件是否有名稱為 property 的屬性。它也會檢查物件的原型,查看 property 是否屬於原型鏈結的一部分。如果 property 是在物件或原型鏈結中,則 in 運算子會傳回 true,否則會傳回 false。 http://msdn2.microsoft.com/zh-tw/library/11e33275(VS.80).aspx</span><span class="WHIT">
|
||
<span class='line'> 60</span>
|
||
<span class='line'> 61</span> </span><span class="COMM">//g_SVG[generateCode.dLK]='set_attribute,XML_node,remove_all_child';//removeNode</span><span class="WHIT">
|
||
<span class='line'> 62</span>
|
||
<span class='line'> 63</span> </span><span class="COMM">/**
|
||
<span class='line'> 64</span> * module SVG 物件之 constructor。<br/>
|
||
<span class='line'> 65</span> * 設定 SVG document fragment 並將之插入網頁中。
|
||
<span class='line'> 66</span>
|
||
<span class='line'> 67</span> * @class generation of Scalable Vector Graphics<br/>
|
||
<span class='line'> 68</span> * 輔助繪圖的基本功能物件,生成 SVG 操作函數。
|
||
<span class='line'> 69</span> * @since 2006/12/7,10-12
|
||
<span class='line'> 70</span> * @deprecated Use toolkit listed below instead:<br/>
|
||
<span class='line'> 71</span> * <a href="http://code.google.com/p/svgweb/" accessdate="2009/11/15 16:34" title="svgweb - Project Hosting on Google Code">svgweb</a><br/>
|
||
<span class='line'> 72</span> * <a href="https://launchpad.net/scour" accessdate="2009/11/15 16:35" title="Scour - Cleaning SVG Files in Launchpad">Scour</a>
|
||
<span class='line'> 73</span>
|
||
<span class='line'> 74</span> * @constructor
|
||
<span class='line'> 75</span> * @param {int} _width width of the canvas
|
||
<span class='line'> 76</span> * @param {int} _height height of the canvas
|
||
<span class='line'> 77</span> * @param {color String} [_backgroundColor] background color of the canvas (UNDO)
|
||
<span class='line'> 78</span> * @requires set_attribute,XML_node,remove_all_child//removeNode
|
||
<span class='line'> 79</span> * @type CeL.net.SVG
|
||
<span class='line'> 80</span> * @return {CeL.net.SVG} CeL.net.SVG object created
|
||
<span class='line'> 81</span>
|
||
<span class='line'> 82</span> * @see <a href="http://www.w3.org/TR/SVG/" accessdate="2009/11/15 16:31">Scalable Vector Graphics (SVG) 1.1 Specification</a><br/>
|
||
<span class='line'> 83</span> * <a href="http://zvon.org/xxl/svgReference/Output/" accessdate="2009/11/15 16:31">SVG 1.1 reference with examples</a><br/>
|
||
<span class='line'> 84</span> * <a href="http://www.permadi.com/tutorial/jsFunc/index.html" accessdate="2009/11/15 16:31" title="Introduction and Features of JavaScript "Function" Objects">Introduction and Features of JavaScript "Function" Objects</a><br/>
|
||
<span class='line'> 85</span> * <a href="http://volity.org/wiki/index.cgi?SVG_Script_Tricks" accessdate="2009/11/15 16:31">Volity Wiki: SVG Script Tricks</a><br/>
|
||
<span class='line'> 86</span> * <a href="http://pilat.free.fr/english/routines/js_dom.htm" accessdate="2009/11/15 16:31">Javascript SVG et DOM</a>
|
||
<span class='line'> 87</span> */</span><span class="WHIT">
|
||
<span class='line'> 88</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'> 89</span> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_width</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_height</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_backgroundColor</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'> 90</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_f</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_s</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'> 91</span> </span><span class="COMM">/*
|
||
<span class='line'> 92</span> if(!_f.createENS()){
|
||
<span class='line'> 93</span> //alert('Your browser doesn't support SVG!');
|
||
<span class='line'> 94</span> return;
|
||
<span class='line'> 95</span> }
|
||
<span class='line'> 96</span> */</span><span class="WHIT">
|
||
<span class='line'> 97</span>
|
||
<span class='line'> 98</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'> 99</span> * SVG document fragment
|
||
<span class='line'>100</span> * @property
|
||
<span class='line'>101</span> * @see <a href="http://www.w3.org/TR/SVG/struct.html#NewDocument" accessdate="2009/11/15 16:53">Defining an SVG document fragment: the 'svg' element</a>
|
||
<span class='line'>102</span> */</span><span class="WHIT">
|
||
<span class='line'>103</span> </span><span class="WHIT"> </span><span class="NAME">this.svg</span><span class="PUNC">=</span><span class="NAME">_s</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="COMM">// raw</span><span class="WHIT">
|
||
<span class='line'>104</span> </span><span class="WHIT"> </span><span class="NAME">arguments.length</span><span class="PUNC">===</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">arguments</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">arguments</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">===</span><span class="STRN">'object'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">arguments</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">tagName.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">===</span><span class="STRN">'svg'</span><span class="WHIT">
|
||
<span class='line'>105</span> </span><span class="WHIT"> </span><span class="PUNC">?</span><span class="NAME">arguments</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT">
|
||
<span class='line'>106</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="NAME">_f.createNode</span><span class="PUNC">(</span><span class="STRN">'svg'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>107</span> </span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>108</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">_s</span><span class="PUNC">)</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// error!</span><span class="WHIT">
|
||
<span class='line'>109</span>
|
||
<span class='line'>110</span> </span><span class="WHIT"> </span><span class="COMM">// http://www.w3.org/TR/SVG/struct.html#DefsElement http://www.svgbasics.com/defs.html</span><span class="WHIT">
|
||
<span class='line'>111</span> </span><span class="WHIT"> </span><span class="NAME">_s.appendChild</span><span class="PUNC">(</span><span class="NAME">this.defs</span><span class="PUNC">=</span><span class="NAME">_f.createNode</span><span class="PUNC">(</span><span class="STRN">'defs'</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// raw</span><span class="WHIT">
|
||
<span class='line'>112</span>
|
||
<span class='line'>113</span> </span><span class="WHIT"> </span><span class="COMM">// 調整大小</span><span class="WHIT">
|
||
<span class='line'>114</span> </span><span class="WHIT"> </span><span class="NAME">this.setSize</span><span class="PUNC">(</span><span class="NAME">_width</span><span class="PUNC">,</span><span class="NAME">_height</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>115</span> </span><span class="WHIT"> </span><span class="COMM">// set_attribute(_s,{xmlns:_f.NS.SVG});</span><span class="WHIT">
|
||
<span class='line'>116</span> </span><span class="WHIT"> </span><span class="NAME">set_attribute</span><span class="PUNC">(</span><span class="NAME">_s</span><span class="PUNC">,</span><span class="PUNC">{</span><span class="NAME">xmlns</span><span class="PUNC">:</span><span class="STRN">'http://www.w3.org/2000/svg'</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>117</span> </span><span class="WHIT"> </span><span class="COMM">// may cause error! should use .setAttributeNS()??</span><span class="WHIT">
|
||
<span class='line'>118</span> </span><span class="WHIT"> </span><span class="NAME">_s.setAttribute</span><span class="PUNC">(</span><span class="STRN">'xmlns:xlink'</span><span class="PUNC">,</span><span class="STRN">'http://www.w3.org/1999/xlink'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>119</span> </span><span class="WHIT"> </span><span class="COMM">//viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"</span><span class="WHIT">
|
||
<span class='line'>120</span>
|
||
<span class='line'>121</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>122</span> * 包含了插入元件的原始資訊。<br/>
|
||
<span class='line'>123</span> * Use {@link #addContain} to add contains.
|
||
<span class='line'>124</span> * @property
|
||
<span class='line'>125</span> * @type Array
|
||
<span class='line'>126</span> */</span><span class="WHIT">
|
||
<span class='line'>127</span> </span><span class="WHIT"> </span><span class="NAME">this.contains</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>128</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>129</span> * 所插入之網頁元素
|
||
<span class='line'>130</span> * @property
|
||
<span class='line'>131</span> */</span><span class="WHIT">
|
||
<span class='line'>132</span> </span><span class="WHIT"> </span><span class="NAME">this.div</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>133</span>
|
||
<span class='line'>134</span> </span><span class="WHIT"> </span><span class="COMM">//document.body.appendChild(this.svg);</span><span class="WHIT">
|
||
<span class='line'>135</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="COMM">//return this.createNode(_nodeN);</span><span class="WHIT">
|
||
<span class='line'>136</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>137</span> </span><span class="COMM">//_.NS={SVG:'http://www.w3.org/2000/svg',XLink:'http://www.w3.org/1999/xlink'};</span><span class="WHIT">
|
||
<span class='line'>138</span> </span><span class="NAME">_.defaultColor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'#222'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>139</span>
|
||
<span class='line'>140</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>141</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>142</span> </span><span class="COMM">/**
|
||
<span class='line'>143</span> * default stroke width. 單位: px
|
||
<span class='line'>144</span> *
|
||
<span class='line'>145</span> * @unit px
|
||
<span class='line'>146</span> * @type Number
|
||
<span class='line'>147</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>148</span> */</span><span class="WHIT">
|
||
<span class='line'>149</span> </span><span class="NAME">defaultStrokeWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NUMB">5</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="WHIT">
|
||
<span class='line'>150</span>
|
||
<span class='line'>151</span> </span><span class="COMM">//_.defaultColor='#444';_.defaultStrokeWidth=1;</span><span class="WHIT">
|
||
<span class='line'>152</span>
|
||
<span class='line'>153</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>154</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>155</span> </span><span class="COMM">/**
|
||
<span class='line'>156</span> * 所有造出 id 之 prefix
|
||
<span class='line'>157</span> * @type string
|
||
<span class='line'>158</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>159</span> */</span><span class="WHIT">
|
||
<span class='line'>160</span> </span><span class="NAME">idPrefix</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
|
||
<span class='line'>161</span> </span><span class="WHIT"> </span><span class="COMM">// +'_SVG_';</span><span class="WHIT">
|
||
<span class='line'>162</span> </span><span class="WHIT"> </span><span class="NAME">library_namespace.to_module_name</span><span class="PUNC">(</span><span class="NAME">module_name</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'.'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>163</span>
|
||
<span class='line'>164</span> </span><span class="COMM">// _.bout closure.</span><span class="WHIT">
|
||
<span class='line'>165</span> </span><span class="COMM">//_.createENS=document.createElementNS?function(){return document.createElementNS(arguments[0],arguments[1]);}:null;</span><span class="WHIT">
|
||
<span class='line'>166</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>167</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>168</span> </span><span class="COMM">/**
|
||
<span class='line'>169</span> * create SVG document fragment (only for .createNode)
|
||
<span class='line'>170</span> * @param _ns namespaceURI
|
||
<span class='line'>171</span> * @param _qn qualifiedName
|
||
<span class='line'>172</span> * @param _a propertyA
|
||
<span class='line'>173</span> * @param _i innerObj
|
||
<span class='line'>174</span> * @return
|
||
<span class='line'>175</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>176</span> * @function
|
||
<span class='line'>177</span> * @private
|
||
<span class='line'>178</span> */</span><span class="WHIT">
|
||
<span class='line'>179</span> </span><span class="NAME">createENS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_ns</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_qn</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>180</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
|
||
<span class='line'>181</span> </span><span class="WHIT"> </span><span class="COMM">// document.createElementNS?XML_node(_ns+':'+_qn,_a,0,_i):null;</span><span class="WHIT">
|
||
<span class='line'>182</span> </span><span class="WHIT"> </span><span class="NAME">XML_node</span><span class="PUNC">(</span><span class="NAME">_ns</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">':'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_qn</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>183</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>184</span>
|
||
<span class='line'>185</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>186</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>187</span> </span><span class="COMM">/**
|
||
<span class='line'>188</span> * create SVG document fragment 元件(component)。<br/>
|
||
<span class='line'>189</span> * SVG 之 document fragment 與 HTML 不同 namespace,因此我們需要使用到 <a href="http://www.w3.org/2000/svg">http://www.w3.org/2000/svg</a> 來作為 XML elements 的 namespace。為了未來的兼容性,我們將這個功能獨立出來。
|
||
<span class='line'>190</span> * @param _nodeN node/tag name
|
||
<span class='line'>191</span> * @param {hash|string}_a attribute/property
|
||
<span class='line'>192</span> * @param _i inner object
|
||
<span class='line'>193</span> * @return node created or null
|
||
<span class='line'>194</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>195</span> * @private
|
||
<span class='line'>196</span> * @function
|
||
<span class='line'>197</span> */</span><span class="WHIT">
|
||
<span class='line'>198</span> </span><span class="NAME">createNode</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_nodeN</span><span class="PUNC">,</span><span class="NAME">_a</span><span class="PUNC">,</span><span class="NAME">_i</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>199</span> </span><span class="WHIT"> </span><span class="COMM">//return this.createENS?this.createENS('svg',_nodeN||'svg'):null;</span><span class="WHIT">
|
||
<span class='line'>200</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_.createENS</span><span class="PUNC">(</span><span class="STRN">'svg'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_nodeN</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="STRN">'svg'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>201</span>
|
||
<span class='line'>202</span> </span><span class="WHIT"> </span><span class="COMM">// Error: uncaught exception: [Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame :: file:///C:/kanashimi/www/cgi-bin/program/tmp/JavaScript%20Framework/dojo/dojo-0.4.0-ajax/a.htm :: anonymous :: line 29" data: no]</span><span class="WHIT">
|
||
<span class='line'>203</span> </span><span class="WHIT"> </span><span class="COMM">// http://www.codingforums.com/archive/index.php?t-94573.html When you do var x = document.getElementById and then x('hello') you are executing the function x in the context of the window object instead of the document object. Gecko probably utilizes the scoping of the document object to access some internal methods to execute getElementById, which the window object doesn't have.</span><span class="WHIT">
|
||
<span class='line'>204</span> </span><span class="WHIT"> </span><span class="COMM">// http://developer.mozilla.org/en/docs/Safely_accessing_content_DOM_from_chrome http://developer.mozilla.org/en/docs/Working_around_the_Firefox_1.0.3_DHTML_regression http://www.codingforums.com/archive/index.php?t-68554.html</span><span class="WHIT">
|
||
<span class='line'>205</span> </span><span class="WHIT"> </span><span class="COMM">// OK?</span><span class="WHIT">
|
||
<span class='line'>206</span> </span><span class="WHIT"> </span><span class="COMM">//return this.createENS?this.createENS.call(document,'svg',_nodeN||'svg'):null;</span><span class="WHIT">
|
||
<span class='line'>207</span> </span><span class="WHIT"> </span><span class="COMM">// fault:</span><span class="WHIT">
|
||
<span class='line'>208</span> </span><span class="WHIT"> </span><span class="COMM">//return this.createENS===document.createElementNS?document.createElementNS('svg',_nodeN||'svg'):this.createENS?this.createENS('svg',_nodeN||'svg'):null;</span><span class="WHIT">
|
||
<span class='line'>209</span> </span><span class="WHIT"> </span><span class="COMM">//return this.createENS?(alert(this.createENS===document.createElementNS),Function.apply(this.createENS,['svg',(_nodeN||'svg')])):null;</span><span class="WHIT">
|
||
<span class='line'>210</span> </span><span class="WHIT"> </span><span class="COMM">//return this.createENS?(alert(this.createENS===document.createElementNS),this.createENS.apply(document.createElementNS,['svg',(_nodeN||'svg')])):null;</span><span class="WHIT">
|
||
<span class='line'>211</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>212</span> </span><span class="COMM">/*
|
||
<span class='line'>213</span> _.createLink=function(_ref){
|
||
<span class='line'>214</span> return this.createENS('xLink','xlink:href');
|
||
<span class='line'>215</span> };
|
||
<span class='line'>216</span> */</span><span class="WHIT">
|
||
<span class='line'>217</span>
|
||
<span class='line'>218</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>219</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>220</span> </span><span class="COMM">/**
|
||
<span class='line'>221</span> * 從 id 獲得 node
|
||
<span class='line'>222</span> * @param id id
|
||
<span class='line'>223</span> * @return node
|
||
<span class='line'>224</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>225</span> * @private
|
||
<span class='line'>226</span> */</span><span class="WHIT">
|
||
<span class='line'>227</span> </span><span class="NAME">getNodeById</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>228</span> </span><span class="WHIT"> </span><span class="COMM">// return this.svg.getElementById(_i);//useless?</span><span class="WHIT">
|
||
<span class='line'>229</span>
|
||
<span class='line'>230</span> </span><span class="WHIT"> </span><span class="COMM">// lookupPrefix()</span><span class="WHIT">
|
||
<span class='line'>231</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>232</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>233</span>
|
||
<span class='line'>234</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>235</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>236</span> </span><span class="COMM">/**
|
||
<span class='line'>237</span> * get a random ID to use.
|
||
<span class='line'>238</span> * @param tag tag name(nodeType)
|
||
<span class='line'>239</span> * @return a random ID
|
||
<span class='line'>240</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>241</span> * @private
|
||
<span class='line'>242</span> */</span><span class="WHIT">
|
||
<span class='line'>243</span> </span><span class="NAME">getRandomID</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">tag</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>244</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">tag</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'object'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>245</span> </span><span class="WHIT"> </span><span class="NAME">tag</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">tag.tagName</span><span class="COMM">/* nodeType */</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>246</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_j</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>247</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_.getNodeById</span><span class="PUNC">(</span><span class="NAME">_j</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.idPrefix</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tag</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'_'</span><span class="WHIT">
|
||
<span class='line'>248</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="STRN">''</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Math.random</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">slice</span><span class="PUNC">(</span><span class="NUMB">2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">6</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>249</span> </span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>250</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_j</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>251</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>252</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>253</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>254</span> </span><span class="COMM">/**
|
||
<span class='line'>255</span> * give a random ID to the specified node.
|
||
<span class='line'>256</span> * @param _n node
|
||
<span class='line'>257</span> * @return id of the specified node
|
||
<span class='line'>258</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>259</span> * @private
|
||
<span class='line'>260</span> */</span><span class="WHIT">
|
||
<span class='line'>261</span> </span><span class="NAME">setRandomID</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>262</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_n</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">_n</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'object'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>263</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>264</span> * id of the specified node
|
||
<span class='line'>265</span> * @inner
|
||
<span class='line'>266</span> * @ignore
|
||
<span class='line'>267</span> */</span><span class="WHIT">
|
||
<span class='line'>268</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">set_attribute</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'id'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>269</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">_i</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>270</span> </span><span class="WHIT"> </span><span class="NAME">set_attribute</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>271</span> </span><span class="WHIT"> </span><span class="NAME">id</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.getRandomID</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>272</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>273</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>274</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>275</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>276</span>
|
||
<span class='line'>277</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>278</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>279</span> </span><span class="COMM">/**
|
||
<span class='line'>280</span> * 改變 text
|
||
<span class='line'>281</span> * @param text_node text object
|
||
<span class='line'>282</span> * @param text change to this text
|
||
<span class='line'>283</span> * @return
|
||
<span class='line'>284</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>285</span> * @see
|
||
<span class='line'>286</span> * <a href="http://www.w3.org/TR/SVG/text.html" accessdate="2009/12/15 0:2">Text - SVG 1.1 - 20030114</a>
|
||
<span class='line'>287</span> * <tref xlink:href="#ReferencedText"/>
|
||
<span class='line'>288</span> */</span><span class="WHIT">
|
||
<span class='line'>289</span> </span><span class="NAME">changeText</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">text_node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">text</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>290</span> </span><span class="WHIT"> </span><span class="COMM">//if (typeof remove_all_child === 'function')</span><span class="WHIT">
|
||
<span class='line'>291</span> </span><span class="WHIT"> </span><span class="COMM">// remove_all_child(text_node);</span><span class="WHIT">
|
||
<span class='line'>292</span> </span><span class="WHIT"> </span><span class="COMM">//else throw new Error(1, 'changeText: function remove_all_child is not included!');</span><span class="WHIT">
|
||
<span class='line'>293</span> </span><span class="WHIT"> </span><span class="NAME">remove_all_child</span><span class="PUNC">(</span><span class="NAME">text_node</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>294</span>
|
||
<span class='line'>295</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">text</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>296</span> </span><span class="WHIT"> </span><span class="NAME">text_node.appendChild</span><span class="PUNC">(</span><span class="NAME">document.createTextNode</span><span class="PUNC">(</span><span class="NAME">text</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>297</span> </span><span class="WHIT"> </span><span class="COMM">//else removeNode(_textO);</span><span class="WHIT">
|
||
<span class='line'>298</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>299</span>
|
||
<span class='line'>300</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>301</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>302</span> </span><span class="NAME">addTitle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_t_d</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>303</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_t</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>304</span> </span><span class="WHIT"> </span><span class="NAME">_o.appendChild</span><span class="PUNC">(</span><span class="NAME">this.createNode</span><span class="PUNC">(</span><span class="STRN">'title'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_t</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>305</span> </span><span class="WHIT"> </span><span class="COMM">// A more descriptive label should be put in a <desc> child element</span><span class="WHIT">
|
||
<span class='line'>306</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_t</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>307</span> </span><span class="WHIT"> </span><span class="NAME">_o.appendChild</span><span class="PUNC">(</span><span class="NAME">this.createNode</span><span class="PUNC">(</span><span class="STRN">'desc'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_t</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>308</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>309</span>
|
||
<span class='line'>310</span>
|
||
<span class='line'>311</span> </span><span class="COMM">/* transform http://www.w3.org/TR/SVG/coords.html#TransformAttribute http://archive.dojotoolkit.org/nightly/tests/gfx/test_image.html
|
||
<span class='line'>312</span> recommend for performance reasons to use transformation matrices whenever possible. http://www.mecxpert.de/svg/transform.html
|
||
<span class='line'>313</span> * @memberOf module SVG
|
||
<span class='line'>314</span> */</span><span class="WHIT">
|
||
<span class='line'>315</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>316</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>317</span> </span><span class="NAME">setTransform</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_t</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>318</span> </span><span class="WHIT"> </span><span class="COMM">// TODO</span><span class="WHIT">
|
||
<span class='line'>319</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'setTransform: yet implement!'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>320</span> </span><span class="WHIT"> </span><span class="NAME">set_attribute</span><span class="PUNC">(</span><span class="NAME">_o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>321</span> </span><span class="WHIT"> </span><span class="NAME">transform</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_t</span><span class="WHIT">
|
||
<span class='line'>322</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>323</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>324</span>
|
||
<span class='line'>325</span> </span><span class="COMM">// ============================================================================</span><span class="WHIT">
|
||
<span class='line'>326</span> </span><span class="COMM">// definition of module SVG object</span><span class="WHIT">
|
||
<span class='line'>327</span>
|
||
<span class='line'>328</span> </span><span class="NAME">_.prototype</span><span class="PUNC">=</span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>329</span>
|
||
<span class='line'>330</span> </span><span class="COMM">/**
|
||
<span class='line'>331</span> * 顯現 this module SVG object
|
||
<span class='line'>332</span> * @param _v visible
|
||
<span class='line'>333</span> * @return this module SVG object
|
||
<span class='line'>334</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>335</span> */</span><span class="WHIT">
|
||
<span class='line'>336</span> </span><span class="NAME">show</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_v</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>337</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_d</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.div</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>338</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.svg</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>339</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_d</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="COMM">// _s.parentNode</span><span class="WHIT">
|
||
<span class='line'>340</span> </span><span class="WHIT"> </span><span class="NAME">_d.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">_v</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">_d.style.display</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'block'</span><span class="WHIT">
|
||
<span class='line'>341</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="WHIT">
|
||
<span class='line'>342</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_v</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'block'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// block怪怪的</span><span class="WHIT">
|
||
<span class='line'>343</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_v</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">_v</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>344</span> </span><span class="WHIT"> </span><span class="NAME">this.div</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">XML_node</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">document.body</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>345</span> </span><span class="WHIT"> </span><span class="NAME">this.svg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>346</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>347</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>348</span> </span><span class="NAME">setAttribute</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>349</span> </span><span class="WHIT"> </span><span class="NAME">this.svg</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.svg.setAttribute</span><span class="PUNC">(</span><span class="NAME">arguments</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>350</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>351</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>352</span> </span><span class="COMM">//setDimensions</span><span class="WHIT">
|
||
<span class='line'>353</span> </span><span class="COMM">/**
|
||
<span class='line'>354</span> * 調整 canvas 大小
|
||
<span class='line'>355</span> * @unit px
|
||
<span class='line'>356</span> * @param {Integer} _width width in px
|
||
<span class='line'>357</span> * @param {Integer} _height height in px
|
||
<span class='line'>358</span> * @return this module SVG object
|
||
<span class='line'>359</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>360</span> */</span><span class="WHIT">
|
||
<span class='line'>361</span> </span><span class="NAME">setSize</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_width</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_height</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>362</span> </span><span class="WHIT"> </span><span class="NAME">_width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">_width</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>363</span> </span><span class="WHIT"> </span><span class="NAME">_height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">_height</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>364</span>
|
||
<span class='line'>365</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_width</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">_height</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>366</span> </span><span class="WHIT"> </span><span class="NAME">set_attribute</span><span class="PUNC">(</span><span class="NAME">this.svg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>367</span> </span><span class="WHIT"> </span><span class="NAME">width</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_width</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>368</span> </span><span class="WHIT"> </span><span class="NAME">height</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_height</span><span class="WHIT">
|
||
<span class='line'>369</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>370</span>
|
||
<span class='line'>371</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>372</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>373</span> </span><span class="NAME">getSize</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>374</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">set_attribute</span><span class="PUNC">(</span><span class="NAME">this.svg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'width,height'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>375</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>376</span>
|
||
<span class='line'>377</span> </span><span class="COMM">/**
|
||
<span class='line'>378</span> * 將本 Object 附在 _n 上(attach to node)
|
||
<span class='line'>379</span> * @param _n HTML/SVG object
|
||
<span class='line'>380</span> * @return
|
||
<span class='line'>381</span> */</span><span class="WHIT">
|
||
<span class='line'>382</span> </span><span class="NAME">attach</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>383</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">_n</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'string'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>384</span> </span><span class="WHIT"> </span><span class="NAME">_n</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.getNodeById</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>385</span>
|
||
<span class='line'>386</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>387</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>388</span>
|
||
<span class='line'>389</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_t</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_n.tagName.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>390</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_t</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'svg'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>391</span> </span><span class="WHIT"> </span><span class="COMM">// TODO: 若不想創建新 node..</span><span class="WHIT">
|
||
<span class='line'>392</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>393</span>
|
||
<span class='line'>394</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_t</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>395</span> </span><span class="WHIT"> </span><span class="COMM">//if(this.div){TODO: 原先已經 attach}</span><span class="WHIT">
|
||
<span class='line'>396</span> </span><span class="WHIT"> </span><span class="NAME">this.div</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_n</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>397</span> </span><span class="WHIT"> </span><span class="NAME">_n.appendChild</span><span class="PUNC">(</span><span class="NAME">this.svg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>398</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>399</span>
|
||
<span class='line'>400</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>401</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>402</span>
|
||
<span class='line'>403</span> </span><span class="NAME">get_XML</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>404</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_t</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.svg</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>405</span>
|
||
<span class='line'>406</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">_s</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>407</span> </span><span class="WHIT"> </span><span class="COMM">// error!</span><span class="WHIT">
|
||
<span class='line'>408</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>409</span>
|
||
<span class='line'>410</span> </span><span class="WHIT"> </span><span class="COMM">// TODO: 效率不高!</span><span class="WHIT">
|
||
<span class='line'>411</span> </span><span class="WHIT"> </span><span class="NAME">_t.appendChild</span><span class="PUNC">(</span><span class="NAME">_s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_s.cloneNode</span><span class="PUNC">(</span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>412</span> </span><span class="WHIT"> </span><span class="NAME">_x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_t.innerHTML</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>413</span> </span><span class="WHIT"> </span><span class="NAME">_t.removeChild</span><span class="PUNC">(</span><span class="NAME">_s</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>414</span> </span><span class="WHIT"> </span><span class="COMM">// 確保在此環境下 create 出來的會被 destory</span><span class="WHIT">
|
||
<span class='line'>415</span> </span><span class="WHIT"> </span><span class="NAME">_t</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>416</span> </span><span class="WHIT"> </span><span class="COMM">// ugly hack</span><span class="WHIT">
|
||
<span class='line'>417</span> </span><span class="WHIT"> </span><span class="COMM">// <?xml version="1.0" encoding="UTF-8" standalone="no"?></span><span class="WHIT">
|
||
<span class='line'>418</span> </span><span class="WHIT"> </span><span class="NAME">_x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_x.replace</span><span class="PUNC">(</span><span class="REGX">/(\s)(href=['"])/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'$1xlink:$2'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>419</span>
|
||
<span class='line'>420</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_x</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>421</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>422</span>
|
||
<span class='line'>423</span> </span><span class="COMM">/**
|
||
<span class='line'>424</span> * 清除 canvas<br/>
|
||
<span class='line'>425</span> * 很可能會出問題!
|
||
<span class='line'>426</span> * @return this SVG
|
||
<span class='line'>427</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>428</span> * @since 2009/12/18 21:17:09
|
||
<span class='line'>429</span> */</span><span class="WHIT">
|
||
<span class='line'>430</span> </span><span class="NAME">clean</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>431</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.svg</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>432</span> </span><span class="WHIT"> </span><span class="COMM">// [0]: <defs></span><span class="WHIT">
|
||
<span class='line'>433</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">s.childNodes.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>434</span> </span><span class="WHIT"> </span><span class="COMM">//library_namespace.debug(s.childNodes.length + ',' + s.lastChild),</span><span class="WHIT">
|
||
<span class='line'>435</span> </span><span class="WHIT"> </span><span class="NAME">s.removeChild</span><span class="PUNC">(</span><span class="NAME">s.lastChild</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>436</span>
|
||
<span class='line'>437</span> </span><span class="WHIT"> </span><span class="COMM">// remove childrens of <defs></span><span class="WHIT">
|
||
<span class='line'>438</span> </span><span class="WHIT"> </span><span class="COMM">//remove_all_child(s.lastChild, 1);</span><span class="WHIT">
|
||
<span class='line'>439</span> </span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">s.lastChild</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>440</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">s.hasChildNodes</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>441</span> </span><span class="WHIT"> </span><span class="COMM">//library_namespace.debug(s.childNodes.length + ',' + s.lastChild),</span><span class="WHIT">
|
||
<span class='line'>442</span> </span><span class="WHIT"> </span><span class="NAME">s.removeChild</span><span class="PUNC">(</span><span class="NAME">s.lastChild</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>443</span>
|
||
<span class='line'>444</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>445</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>446</span>
|
||
<span class='line'>447</span> </span><span class="COMM">/**
|
||
<span class='line'>448</span> * 創建本物件之 SVG 群組。<br/>
|
||
<span class='line'>449</span> * 利用 SVG 群組我們可以同時操作多個 SVG elements。
|
||
<span class='line'>450</span> * @param {hash|string}_a attribute/property
|
||
<span class='line'>451</span> * @param _i inner object
|
||
<span class='line'>452</span> * @return this SVG
|
||
<span class='line'>453</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>454</span> */</span><span class="WHIT">
|
||
<span class='line'>455</span> </span><span class="NAME">createGroup</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>456</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_g</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.createNode</span><span class="PUNC">(</span><span class="STRN">'g'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>457</span> </span><span class="WHIT"> </span><span class="NAME">this.group</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_g</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>458</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>459</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>460</span> </span><span class="COMM">/**
|
||
<span class='line'>461</span> * 綁定 SVG elements 至本物件群組。<br/>
|
||
<span class='line'>462</span> * 這函數將已存在的 SVG elements 綁定至本物件之群組中。若群組不存在,則創建出一個。
|
||
<span class='line'>463</span> * @param _n node
|
||
<span class='line'>464</span> * @return this module SVG object
|
||
<span class='line'>465</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>466</span> */</span><span class="WHIT">
|
||
<span class='line'>467</span> </span><span class="NAME">attachGroup</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>468</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.group</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>469</span> </span><span class="WHIT"> </span><span class="NAME">this.createGroup</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>470</span> </span><span class="WHIT"> </span><span class="NAME">this.group.appendChild</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>471</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>472</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>473</span>
|
||
<span class='line'>474</span> </span><span class="NAME">createSymbol</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>475</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.createNode</span><span class="PUNC">(</span><span class="STRN">'symbol'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>476</span> </span><span class="WHIT"> </span><span class="NAME">this.symbol</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_s</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>477</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>478</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>479</span> </span><span class="NAME">attachSymbol</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>480</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.symbol</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>481</span> </span><span class="WHIT"> </span><span class="NAME">this.createSymbol</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>482</span> </span><span class="WHIT"> </span><span class="NAME">this.symbol.appendChild</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>483</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>484</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>485</span>
|
||
<span class='line'>486</span> </span><span class="COMM">// TODO</span><span class="WHIT">
|
||
<span class='line'>487</span> </span><span class="NAME">setFill</span><span class="PUNC">:</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="STRN">'setFill: yet implement!'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>488</span> </span><span class="NAME">setStroke</span><span class="PUNC">:</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="STRN">'setStroke: yet implement!'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>489</span> </span><span class="NAME">setShape</span><span class="PUNC">:</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="STRN">'setShape: yet implement!'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>490</span> </span><span class="NAME">setTransform</span><span class="PUNC">:</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="STRN">'setTransform: yet implement!'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>491</span>
|
||
<span class='line'>492</span> </span><span class="COMM">//<animateMotion>,<animateColor></span><span class="WHIT">
|
||
<span class='line'>493</span>
|
||
<span class='line'>494</span> </span><span class="COMM">/**
|
||
<span class='line'>495</span> * 最後一個增加的 instance
|
||
<span class='line'>496</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>497</span> */</span><span class="WHIT">
|
||
<span class='line'>498</span> </span><span class="NAME">lastAdd</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>499</span> </span><span class="COMM">/**
|
||
<span class='line'>500</span> * 最後一個增加的 definition
|
||
<span class='line'>501</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>502</span> */</span><span class="WHIT">
|
||
<span class='line'>503</span> </span><span class="NAME">lastAddDefs</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>504</span> </span><span class="COMM">/**
|
||
<span class='line'>505</span> * 增加 SVG element。<br/>
|
||
<span class='line'>506</span> * 結合 .prototype.addDefs 與 .prototype.addUse,作完定義後隨即使用之。
|
||
<span class='line'>507</span> * @param _n tagName(nodeType)
|
||
<span class='line'>508</span> * @param {hash|string} _a attribute/property
|
||
<span class='line'>509</span> * @param _i inner object
|
||
<span class='line'>510</span> * @return
|
||
<span class='line'>511</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>512</span> */</span><span class="WHIT">
|
||
<span class='line'>513</span> </span><span class="NAME">addNode</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>514</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">_n</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'string'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>515</span> </span><span class="WHIT"> </span><span class="NAME">_n</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.createNode</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>516</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>517</span> </span><span class="WHIT"> </span><span class="NAME">this.addDefs</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>518</span> </span><span class="WHIT"> </span><span class="NAME">this.addUse</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>519</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>520</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>521</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>522</span>
|
||
<span class='line'>523</span> </span><span class="COMM">/**
|
||
<span class='line'>524</span> * 增加 SVG 定義。<br/>
|
||
<span class='line'>525</span> * SVG 規範中聲明,SVG 的 <use> element 不能引用外部文件或其 elements。因此我們在創建實例之前,需要先在本物件中作定義。
|
||
<span class='line'>526</span> * @param _n node
|
||
<span class='line'>527</span> * @return
|
||
<span class='line'>528</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>529</span> */</span><span class="WHIT">
|
||
<span class='line'>530</span> </span><span class="NAME">addDefs</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>531</span> </span><span class="WHIT"> </span><span class="COMM">// var _d=this.defs;</span><span class="WHIT">
|
||
<span class='line'>532</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>533</span> </span><span class="WHIT"> </span><span class="NAME">_.setRandomID</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>534</span> </span><span class="WHIT"> </span><span class="NAME">this.defs.appendChild</span><span class="PUNC">(</span><span class="NAME">this.lastAddDefs</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_n</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>535</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>536</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>537</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>538</span> </span><span class="COMM">/**
|
||
<span class='line'>539</span> * 增加 SVG 實例。<br/>
|
||
<span class='line'>540</span> * 利用本物件中之定義創建實例並增添至本物件中。<br/>
|
||
<span class='line'>541</span> * 在裝載 b.svg 時,將 a.svg 中的 defs 中的圖元裝載到 b.svg 中(文件上是兩者是保持獨立的,但在內存中將二者合二為一),這樣就可以在b.svg中直接引用這些圖元了。<br/>
|
||
<span class='line'>542</span> * SVG 規範中聲明,SVG 的 <use> element 不能引用外部文件或其 elements。因此我們在創建實例之前,需要先在本物件中作定義。
|
||
<span class='line'>543</span> * @param _i id
|
||
<span class='line'>544</span> * @param _a
|
||
<span class='line'>545</span> * @return
|
||
<span class='line'>546</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>547</span> */</span><span class="WHIT">
|
||
<span class='line'>548</span> </span><span class="NAME">addUse</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_a</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>549</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.svg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.createNode</span><span class="PUNC">(</span><span class="STRN">'use'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_a</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>550</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_o</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">_s</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>551</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'object'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>552</span> </span><span class="WHIT"> </span><span class="NAME">_i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.setRandomID</span><span class="PUNC">(</span><span class="NAME">_i</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>553</span> </span><span class="WHIT"> </span><span class="NAME">set_attribute</span><span class="PUNC">(</span><span class="NAME">_o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>554</span> </span><span class="WHIT"> </span><span class="STRN">'xlink:href'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'#'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="WHIT">
|
||
<span class='line'>555</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>556</span> </span><span class="WHIT"> </span><span class="NAME">_s.appendChild</span><span class="PUNC">(</span><span class="NAME">this.lastAdd</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_o</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>557</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>558</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>559</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>560</span>
|
||
<span class='line'>561</span> </span><span class="COMM">/**
|
||
<span class='line'>562</span> * 增加插入的元件。<br/>
|
||
<span class='line'>563</span> * 應該用 <a href="http://www.w3.org/TR/SVG/struct.html#SymbolElement">symbol</a>
|
||
<span class='line'>564</span> * @param _o object reference
|
||
<span class='line'>565</span> * @param _type type of this component
|
||
<span class='line'>566</span> * @param [propertyO] other properties
|
||
<span class='line'>567</span> * @return
|
||
<span class='line'>568</span> * @requires split_String_to_Object
|
||
<span class='line'>569</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>570</span> */</span><span class="WHIT">
|
||
<span class='line'>571</span> </span><span class="NAME">addContain</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_type</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">propertyO</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>572</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_type</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.contains</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>573</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">propertyO</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'string'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>574</span> </span><span class="WHIT"> </span><span class="NAME">propertyO</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">split_String_to_Object</span><span class="PUNC">(</span><span class="NAME">propertyO</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>575</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">propertyO.o</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">propertyO.t</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>576</span> </span><span class="WHIT"> </span><span class="NAME">this.contains.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>577</span> </span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_o</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>578</span> </span><span class="WHIT"> </span><span class="NAME">t</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_type</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>579</span> </span><span class="WHIT"> </span><span class="NAME">p</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">propertyO</span><span class="WHIT">
|
||
<span class='line'>580</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>581</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT">
|
||
<span class='line'>582</span> </span><span class="WHIT"> </span><span class="NAME">propertyO.o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">propertyO.t</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_type</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.contains</span><span class="WHIT">
|
||
<span class='line'>583</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">push</span><span class="PUNC">(</span><span class="NAME">propertyO</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>584</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>585</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>586</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>587</span>
|
||
<span class='line'>588</span>
|
||
<span class='line'>589</span> </span><span class="COMM">/**
|
||
<span class='line'>590</span> * 繪製直線。<br/>
|
||
<span class='line'>591</span> * 此函數利用 _.eNode 造出直線元件之後,再用 .prototype.addNode 將之插入本物件中。
|
||
<span class='line'>592</span> * @param _left
|
||
<span class='line'>593</span> * @param _top
|
||
<span class='line'>594</span> * @param _width
|
||
<span class='line'>595</span> * @param _height
|
||
<span class='line'>596</span> * @param _color
|
||
<span class='line'>597</span> * @param _strokeWidth
|
||
<span class='line'>598</span> * @return
|
||
<span class='line'>599</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>600</span> */</span><span class="WHIT">
|
||
<span class='line'>601</span> </span><span class="NAME">addLine</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_left</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_top</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_width</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_height</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>602</span> </span><span class="WHIT"> </span><span class="NAME">_strokeWidth</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>603</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_l</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.createNode</span><span class="PUNC">(</span><span class="STRN">'line'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>604</span> </span><span class="WHIT"> </span><span class="NAME">x1</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_top</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>605</span> </span><span class="WHIT"> </span><span class="NAME">y1</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_left</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>606</span> </span><span class="WHIT"> </span><span class="NAME">x2</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_width</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>607</span> </span><span class="WHIT"> </span><span class="NAME">y2</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_left</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_height</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>608</span> </span><span class="WHIT"> </span><span class="NAME">stroke</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.addLine.defaultColor</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>609</span> </span><span class="WHIT"> </span><span class="STRN">'stroke-width'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_strokeWidth</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">_.defaultStrokeWidth</span><span class="WHIT">
|
||
<span class='line'>610</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>611</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_l</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.svg</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>612</span> </span><span class="WHIT"> </span><span class="COMM">//this.svg.appendChild(_l);</span><span class="WHIT">
|
||
<span class='line'>613</span> </span><span class="WHIT"> </span><span class="NAME">this.addNode</span><span class="PUNC">(</span><span class="NAME">_l</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>614</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>615</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>616</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>617</span>
|
||
<span class='line'>618</span>
|
||
<span class='line'>619</span> </span><span class="COMM">/**
|
||
<span class='line'>620</span> * 繪製曲線路徑。<br/>
|
||
<span class='line'>621</span> * 此函數利用 _.eNode 造出路徑元件之後再用 .prototype.addNode 將之插入本物件中。
|
||
<span class='line'>622</span> * @param _d
|
||
<span class='line'>623</span> * @param _color
|
||
<span class='line'>624</span> * @param _strokeWidth
|
||
<span class='line'>625</span> * @param _fill
|
||
<span class='line'>626</span> * @return
|
||
<span class='line'>627</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>628</span> */</span><span class="WHIT">
|
||
<span class='line'>629</span> </span><span class="NAME">addPath</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_d</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_strokeWidth</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>630</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.createNode</span><span class="PUNC">(</span><span class="STRN">'path'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>631</span> </span><span class="WHIT"> </span><span class="NAME">d</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_d</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>632</span> </span><span class="WHIT"> </span><span class="NAME">stroke</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.addLine.defaultColor</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>633</span> </span><span class="WHIT"> </span><span class="STRN">'stroke-width'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_strokeWidth</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">_.defaultStrokeWidth</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>634</span> </span><span class="WHIT"> </span><span class="NAME">fill</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="WHIT">
|
||
<span class='line'>635</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>636</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_p</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.svg</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>637</span> </span><span class="WHIT"> </span><span class="NAME">this.addNode</span><span class="PUNC">(</span><span class="NAME">_p</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>638</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>639</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>640</span>
|
||
<span class='line'>641</span>
|
||
<span class='line'>642</span> </span><span class="COMM">//xml:space="default|preserve"</span><span class="WHIT">
|
||
<span class='line'>643</span> </span><span class="COMM">/**
|
||
<span class='line'>644</span> * 添加文字。<br/>
|
||
<span class='line'>645</span> * 此函數利用 _.eNode 造出文字元件之後再用 .prototype.addNode 將之插入本物件中。
|
||
<span class='line'>646</span> * @param _text
|
||
<span class='line'>647</span> * @param _left
|
||
<span class='line'>648</span> * @param _baseLine
|
||
<span class='line'>649</span> * @param _color
|
||
<span class='line'>650</span> * @param _font
|
||
<span class='line'>651</span> * @return
|
||
<span class='line'>652</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>653</span> */</span><span class="WHIT">
|
||
<span class='line'>654</span> </span><span class="NAME">addText</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_text</span><span class="PUNC">,</span><span class="NAME">_left</span><span class="PUNC">,</span><span class="NAME">_baseLine</span><span class="PUNC">,</span><span class="NAME">_color</span><span class="PUNC">,</span><span class="NAME">_font</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>655</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_color</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>656</span> </span><span class="WHIT"> </span><span class="NAME">this.addText.defaultColor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>657</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT">
|
||
<span class='line'>658</span> </span><span class="WHIT"> </span><span class="NAME">_color</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.addText.defaultColor</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>659</span>
|
||
<span class='line'>660</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>661</span> </span><span class="WHIT"> </span><span class="NAME">this.addText.defaultFont</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>662</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT">
|
||
<span class='line'>663</span> </span><span class="WHIT"> </span><span class="NAME">_font</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.addText.defaultFont</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>664</span>
|
||
<span class='line'>665</span> </span><span class="WHIT"> </span><span class="COMM">// http://www.w3.org/TR/SVG/text.html <tref xlink:href="#ReferencedText"/></span><span class="WHIT">
|
||
<span class='line'>666</span> </span><span class="WHIT"> </span><span class="COMM">//var _o=document.createTextNode(_text);</span><span class="WHIT">
|
||
<span class='line'>667</span> </span><span class="WHIT"> </span><span class="COMM">//var _o=_.createNode('tspan',{x:_left,y:_baseLine,stroke:_color||this.addText.defaultColor,style:_font?'font-family:"'+_font+'"':null},_text);</span><span class="WHIT">
|
||
<span class='line'>668</span> </span><span class="WHIT"> </span><span class="COMM">//this.addNode(_.createNode('text',{x:_left,y:_baseLine,stroke:_color||this.addText.defaultColor,style:_font?'font-family:"'+_font+'"':null},_o));</span><span class="WHIT">
|
||
<span class='line'>669</span> </span><span class="WHIT"> </span><span class="COMM">//this.lastAdd=_o;</span><span class="WHIT">
|
||
<span class='line'>670</span>
|
||
<span class='line'>671</span> </span><span class="WHIT"> </span><span class="COMM">// ugly hack: 說是_baseLine,其實還是會再往下一點點。</span><span class="WHIT">
|
||
<span class='line'>672</span> </span><span class="WHIT"> </span><span class="NAME">_baseLine</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>673</span> </span><span class="WHIT"> </span><span class="NAME">this.addNode</span><span class="PUNC">(</span><span class="NAME">_.createNode</span><span class="PUNC">(</span><span class="STRN">'text'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>674</span> </span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_left</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>675</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_baseLine</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>676</span> </span><span class="WHIT"> </span><span class="NAME">stroke</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.addText.defaultColor</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>677</span> </span><span class="WHIT"> </span><span class="NAME">style</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'font-family:"'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'"'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
|
||
<span class='line'>678</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_text</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>679</span> </span><span class="WHIT"> </span><span class="COMM">//(text|g).pointer-events="none": Make text unselectable</span><span class="WHIT">
|
||
<span class='line'>680</span>
|
||
<span class='line'>681</span> </span><span class="COMM">/* 本法為標準,但FF尚未支援。
|
||
<span class='line'>682</span> var _s=this.svg,_i=_.getRandomID('text')_.SVG.createNode('text',{id:_i},_text);
|
||
<span class='line'>683</span> this.addDefs(this.lastAddDefs=_o);
|
||
<span class='line'>684</span> _o=_.createNode('text',{x:_left,y:_baseLine,stroke:_color||this.addText.defaultColor,style:_font?'font-family:"'+_font+'"':null},0,_t=_.createNode('tref'));
|
||
<span class='line'>685</span> _t.setAttributeNS('xLink','xlink:href','#'+_i);
|
||
<span class='line'>686</span> _o.appendChild(_t);
|
||
<span class='line'>687</span> _s.appendChild(this.lastAdd=_o);
|
||
<span class='line'>688</span> */</span><span class="WHIT">
|
||
<span class='line'>689</span>
|
||
<span class='line'>690</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>691</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>692</span>
|
||
<span class='line'>693</span> </span><span class="COMM">/**
|
||
<span class='line'>694</span> * add numbers
|
||
<span class='line'>695</span> * @param _text
|
||
<span class='line'>696</span> * @param _left
|
||
<span class='line'>697</span> * @param _baseLine
|
||
<span class='line'>698</span> * @param _tW
|
||
<span class='line'>699</span> * @param _color
|
||
<span class='line'>700</span> * @param _font
|
||
<span class='line'>701</span> * @return
|
||
<span class='line'>702</span> * @see
|
||
<span class='line'>703</span> * _left: http://www.w3.org/TR/SVG/text.html#TSpanElementXAttribute
|
||
<span class='line'>704</span> */</span><span class="WHIT">
|
||
<span class='line'>705</span> </span><span class="NAME">addNum</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_text</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_left</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_baseLine</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>706</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">isNaN</span><span class="PUNC">(</span><span class="NAME">_text</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>707</span> </span><span class="WHIT"> </span><span class="COMM">// 說是_baseLine,其實還是會再往下一點點。</span><span class="WHIT">
|
||
<span class='line'>708</span> </span><span class="WHIT"> </span><span class="NAME">_baseLine</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>709</span> </span><span class="WHIT"> </span><span class="COMM">//_text=''+_text;</span><span class="WHIT">
|
||
<span class='line'>710</span> </span><span class="WHIT"> </span><span class="NAME">_text</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>711</span>
|
||
<span class='line'>712</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.svg</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>713</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">_text.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>714</span> </span><span class="WHIT"> </span><span class="COMM">// _text.split('')</span><span class="WHIT">
|
||
<span class='line'>715</span> </span><span class="WHIT"> </span><span class="NAME">_o.push</span><span class="PUNC">(</span><span class="NAME">_.createNode</span><span class="PUNC">(</span><span class="STRN">'tspan'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>716</span> </span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_left</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">_tW</span><span class="WHIT">
|
||
<span class='line'>717</span> </span><span class="WHIT"> </span><span class="COMM">//, y:_baseLine</span><span class="WHIT">
|
||
<span class='line'>718</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_text.charAt</span><span class="PUNC">(</span><span class="NAME">_i</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>719</span>
|
||
<span class='line'>720</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_s</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>721</span> </span><span class="WHIT"> </span><span class="NAME">_s.appendChild</span><span class="PUNC">(</span><span class="NAME">this.lastAdd</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.createNode</span><span class="PUNC">(</span><span class="STRN">'text'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>722</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_baseLine</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>723</span> </span><span class="WHIT"> </span><span class="NAME">stroke</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.addText.defaultColor</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>724</span> </span><span class="WHIT"> </span><span class="NAME">style</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'font-family:"'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'"'</span><span class="WHIT">
|
||
<span class='line'>725</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
|
||
<span class='line'>726</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_o</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>727</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>728</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>729</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>730</span>
|
||
<span class='line'>731</span>
|
||
<span class='line'>732</span> </span><span class="COMM">/**
|
||
<span class='line'>733</span> * add parallel graph
|
||
<span class='line'>734</span> * @param _ds
|
||
<span class='line'>735</span> * @param _h
|
||
<span class='line'>736</span> * @param _d
|
||
<span class='line'>737</span> * @param _us
|
||
<span class='line'>738</span> * @param tramA
|
||
<span class='line'>739</span> * @return
|
||
<span class='line'>740</span> * @since 2006/12/18 0:35
|
||
<span class='line'>741</span> */</span><span class="WHIT">
|
||
<span class='line'>742</span> </span><span class="NAME">addParallelG</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_d</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_us</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tramA</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>743</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>744</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">isNaN</span><span class="PUNC">(</span><span class="NAME">_us</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">_us</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>745</span> </span><span class="WHIT"> </span><span class="NAME">_us</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ds</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>746</span> </span><span class="WHIT"> </span><span class="NAME">set_attribute</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="WHIT">
|
||
<span class='line'>747</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addPath</span><span class="PUNC">(</span><span class="STRN">'M'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_ds</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">','</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">' H0 L'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_d</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>748</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">',0'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_us</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">' h'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_us</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">' z'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>749</span> </span><span class="WHIT"> </span><span class="NAME">transform</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">tramA</span><span class="WHIT">
|
||
<span class='line'>750</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// 0==''</span><span class="WHIT">
|
||
<span class='line'>751</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>752</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>753</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>754</span>
|
||
<span class='line'>755</span> </span><span class="NAME">lastQuadrilateral</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>756</span> </span><span class="NAME">lastQuadrilateralDefs</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>757</span> </span><span class="COMM">/**
|
||
<span class='line'>758</span> * 畫簡單長方形或平行四邊形、梯形
|
||
<span class='line'>759</span> * @param _ds
|
||
<span class='line'>760</span> * @param _h
|
||
<span class='line'>761</span> * @param _d
|
||
<span class='line'>762</span> * @param _us
|
||
<span class='line'>763</span> * @param tramA
|
||
<span class='line'>764</span> * @return
|
||
<span class='line'>765</span> * @see <a href="http://zh.wikipedia.org/wiki/%E5%B9%B3%E8%A1%8C%E5%9B%9B%E8%BE%B9%E5%BD%A2">平行四邊形</a>
|
||
<span class='line'>766</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>767</span> */</span><span class="WHIT">
|
||
<span class='line'>768</span> </span><span class="NAME">addQuadrilateral</span><span class="PUNC">:</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="PUNC">,</span><span class="NAME">_h</span><span class="PUNC">,</span><span class="NAME">_d</span><span class="PUNC">,</span><span class="NAME">_us</span><span class="PUNC">,</span><span class="NAME">tramA</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="COMM">// down side,height,upper distance,upper side</span><span class="WHIT">
|
||
<span class='line'>769</span> </span><span class="WHIT"> </span><span class="NAME">this.addParallelG</span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="PUNC">,</span><span class="NAME">_h</span><span class="PUNC">,</span><span class="NAME">_d</span><span class="PUNC">,</span><span class="NAME">_us</span><span class="PUNC">,</span><span class="NAME">tramA</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addContain</span><span class="PUNC">(</span><span class="NAME">this.lastQuadrilateralDefs</span><span class="PUNC">=</span><span class="NAME">this.lastAddDefs</span><span class="PUNC">,</span><span class="STRN">'quadrilateral'</span><span class="PUNC">,</span><span class="PUNC">{</span><span class="NAME">down_side</span><span class="PUNC">:</span><span class="NAME">_ds</span><span class="PUNC">,</span><span class="NAME">hight</span><span class="PUNC">:</span><span class="NAME">_h</span><span class="PUNC">,</span><span class="NAME">distance</span><span class="PUNC">:</span><span class="NAME">_d</span><span class="PUNC">,</span><span class="NAME">upper_side</span><span class="PUNC">:</span><span class="NAME">_us</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>770</span> </span><span class="WHIT"> </span><span class="NAME">this.lastQuadrilateral</span><span class="PUNC">=</span><span class="NAME">this.lastAdd</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// set_attribute(s.lastQuadrilateral,'fill=none');</span><span class="WHIT">
|
||
<span class='line'>771</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>772</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>773</span>
|
||
<span class='line'>774</span> </span><span class="NAME">lastTriangle</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>775</span> </span><span class="NAME">lastTriangleDefs</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>776</span> </span><span class="COMM">/**
|
||
<span class='line'>777</span> * 畫簡單三角形
|
||
<span class='line'>778</span> * @since 2006/12/17 12:38
|
||
<span class='line'>779</span> * @param _ds
|
||
<span class='line'>780</span> * @param _h
|
||
<span class='line'>781</span> * @param _d
|
||
<span class='line'>782</span> * @param tramA
|
||
<span class='line'>783</span> * @return
|
||
<span class='line'>784</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>785</span> */</span><span class="WHIT">
|
||
<span class='line'>786</span> </span><span class="NAME">addTriangle</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_d</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tramA</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>787</span> </span><span class="WHIT"> </span><span class="NAME">this.addParallelG</span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_d</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tramA</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addContain</span><span class="PUNC">(</span><span class="WHIT">
|
||
<span class='line'>788</span> </span><span class="WHIT"> </span><span class="NAME">this.lastTriangleDefs</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.lastAddDefs</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'triangle'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>789</span> </span><span class="WHIT"> </span><span class="NAME">down_side</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_ds</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>790</span> </span><span class="WHIT"> </span><span class="NAME">hight</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>791</span> </span><span class="WHIT"> </span><span class="NAME">distance</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_d</span><span class="WHIT">
|
||
<span class='line'>792</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>793</span> </span><span class="WHIT"> </span><span class="NAME">this.lastTriangle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.lastAdd</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>794</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>795</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>796</span>
|
||
<span class='line'>797</span>
|
||
<span class='line'>798</span> </span><span class="COMM">/**
|
||
<span class='line'>799</span> * 繪製橢圓曲線。<br/>
|
||
<span class='line'>800</span> * 此函數利用 _.eNode 造出橢圓曲線元件之後,再用 .prototype.addNode 將之插入本物件中。
|
||
<span class='line'>801</span> * @param _rx
|
||
<span class='line'>802</span> * @param _ry
|
||
<span class='line'>803</span> * @param _cx
|
||
<span class='line'>804</span> * @param _cy
|
||
<span class='line'>805</span> * @param _color
|
||
<span class='line'>806</span> * @param _strokeWidth
|
||
<span class='line'>807</span> * @param _fill
|
||
<span class='line'>808</span> * @param tramA
|
||
<span class='line'>809</span> * @return
|
||
<span class='line'>810</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>811</span> */</span><span class="WHIT">
|
||
<span class='line'>812</span> </span><span class="NAME">addEllipsePath</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_rx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_ry</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_cx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_cy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_strokeWidth</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>813</span> </span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tramA</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>814</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_rx</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>815</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>816</span> </span><span class="WHIT"> </span><span class="NAME">rx</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_rx</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>817</span> </span><span class="WHIT"> </span><span class="NAME">ry</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_ry</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>818</span> </span><span class="WHIT"> </span><span class="NAME">cx</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_cx</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>819</span> </span><span class="WHIT"> </span><span class="NAME">cy</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_cy</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>820</span> </span><span class="WHIT"> </span><span class="NAME">stroke</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.addEllipsePath.defaultColor</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>821</span> </span><span class="WHIT"> </span><span class="STRN">'stroke-width'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_strokeWidth</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">_.defaultStrokeWidth</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>822</span> </span><span class="WHIT"> </span><span class="NAME">fill</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>823</span> </span><span class="WHIT"> </span><span class="NAME">transform</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">tramA</span><span class="WHIT">
|
||
<span class='line'>824</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>825</span>
|
||
<span class='line'>826</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">_ry</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>827</span> </span><span class="WHIT"> </span><span class="NAME">_e</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'circle'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_p.r</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_rx</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>828</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT">
|
||
<span class='line'>829</span> </span><span class="WHIT"> </span><span class="NAME">_e</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'ellipse'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_p.rx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_rx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_p.ry</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ry</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>830</span>
|
||
<span class='line'>831</span> </span><span class="WHIT"> </span><span class="NAME">_e</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.createNode</span><span class="PUNC">(</span><span class="NAME">_e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_p</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>832</span>
|
||
<span class='line'>833</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_e</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.svg</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>834</span> </span><span class="WHIT"> </span><span class="NAME">this.addNode</span><span class="PUNC">(</span><span class="NAME">_e</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>835</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>836</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>837</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>838</span>
|
||
<span class='line'>839</span>
|
||
<span class='line'>840</span> </span><span class="NAME">lastCircle</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>841</span> </span><span class="NAME">lastCircleDefs</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>842</span> </span><span class="COMM">/**
|
||
<span class='line'>843</span> * 繪製圓形。<br/>
|
||
<span class='line'>844</span> * 此函數利用 _.type.addEllipsePath 來畫簡單圓形。
|
||
<span class='line'>845</span> * @param _r
|
||
<span class='line'>846</span> * @param _cx
|
||
<span class='line'>847</span> * @param _cy
|
||
<span class='line'>848</span> * @return
|
||
<span class='line'>849</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>850</span> */</span><span class="WHIT">
|
||
<span class='line'>851</span> </span><span class="NAME">addCircle</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_r</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_cx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_cy</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>852</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_r</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>853</span> </span><span class="WHIT"> </span><span class="NAME">this.addEllipsePath</span><span class="PUNC">(</span><span class="NAME">_r</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_cx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_cy</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addContain</span><span class="PUNC">(</span><span class="WHIT">
|
||
<span class='line'>854</span> </span><span class="WHIT"> </span><span class="NAME">this.lastCircleDefs</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.lastAddDefs</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'circle'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>855</span> </span><span class="WHIT"> </span><span class="NAME">r</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_r</span><span class="WHIT">
|
||
<span class='line'>856</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>857</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>858</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>859</span>
|
||
<span class='line'>860</span> </span><span class="NAME">lastEllipse</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>861</span> </span><span class="NAME">lastEllipseDefs</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>862</span> </span><span class="COMM">/**
|
||
<span class='line'>863</span> * 繪製簡單圓形/橢圓。<br/>
|
||
<span class='line'>864</span> * 此函數利用 .prototype.addEllipsePath 來畫簡單橢圓。
|
||
<span class='line'>865</span> * @param _rx
|
||
<span class='line'>866</span> * @param _ry
|
||
<span class='line'>867</span> * @param _cx
|
||
<span class='line'>868</span> * @param _cy
|
||
<span class='line'>869</span> * @return
|
||
<span class='line'>870</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>871</span> */</span><span class="WHIT">
|
||
<span class='line'>872</span> </span><span class="NAME">addEllipse</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_rx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_ry</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_cx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_cy</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>873</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_rx</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>874</span> </span><span class="WHIT"> </span><span class="NAME">this.addEllipsePath</span><span class="PUNC">(</span><span class="NAME">_rx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_ry</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_cx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_cy</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addContain</span><span class="PUNC">(</span><span class="WHIT">
|
||
<span class='line'>875</span> </span><span class="WHIT"> </span><span class="NAME">this.lastEllipseDefs</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.lastAddDefs</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'ellipse'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>876</span> </span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>877</span> </span><span class="WHIT"> </span><span class="NAME">rx</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_rx</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>878</span> </span><span class="WHIT"> </span><span class="NAME">ry</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_ry</span><span class="WHIT">
|
||
<span class='line'>879</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>880</span> </span><span class="WHIT"> </span><span class="NAME">this.lastEllipse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.lastAdd</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>881</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>882</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>883</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>884</span>
|
||
<span class='line'>885</span>
|
||
<span class='line'>886</span> </span><span class="COMM">/**
|
||
<span class='line'>887</span> * 繪製矩形。<br/>
|
||
<span class='line'>888</span> * 此函數利用 _.eNode 造出矩形路徑元件之後,再用 .prototype.addNode 將之插入本物件中。
|
||
<span class='line'>889</span> * @param _w
|
||
<span class='line'>890</span> * @param _h
|
||
<span class='line'>891</span> * @param _x
|
||
<span class='line'>892</span> * @param _y
|
||
<span class='line'>893</span> * @param _color
|
||
<span class='line'>894</span> * @param _strokeWidth
|
||
<span class='line'>895</span> * @param _fill
|
||
<span class='line'>896</span> * @param tramA
|
||
<span class='line'>897</span> * @return
|
||
<span class='line'>898</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>899</span> */</span><span class="WHIT">
|
||
<span class='line'>900</span> </span><span class="NAME">addRect</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_w</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_y</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_strokeWidth</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>901</span> </span><span class="WHIT"> </span><span class="NAME">tramA</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>902</span> </span><span class="WHIT"> </span><span class="NAME">this.addNode</span><span class="PUNC">(</span><span class="NAME">_.createNode</span><span class="PUNC">(</span><span class="STRN">'rect'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>903</span> </span><span class="WHIT"> </span><span class="NAME">width</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_w</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>904</span> </span><span class="WHIT"> </span><span class="NAME">height</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>905</span> </span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_x</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>906</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_y</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>907</span> </span><span class="WHIT"> </span><span class="NAME">stroke</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.addRect.defaultColor</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>908</span> </span><span class="WHIT"> </span><span class="STRN">'stroke-width'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_strokeWidth</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">_.defaultStrokeWidth</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>909</span> </span><span class="WHIT"> </span><span class="NAME">fill</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>910</span> </span><span class="WHIT"> </span><span class="NAME">transform</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">tramA</span><span class="WHIT">
|
||
<span class='line'>911</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>912</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>913</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>914</span>
|
||
<span class='line'>915</span>
|
||
<span class='line'>916</span> </span><span class="COMM">/**
|
||
<span class='line'>917</span> * 繪製多邊形。<br/>
|
||
<span class='line'>918</span> * 此函數利用 _.eNode 造出多邊形路徑元件之後再用 .prototype.addNode 將之插入本物件中。
|
||
<span class='line'>919</span> * @param {int array} _pA [x1,y1,x2,y2,x3,y3,..]
|
||
<span class='line'>920</span> * @param _color
|
||
<span class='line'>921</span> * @param _strokeWidth
|
||
<span class='line'>922</span> * @param _fill
|
||
<span class='line'>923</span> * @param tramA
|
||
<span class='line'>924</span> * @return
|
||
<span class='line'>925</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>926</span> */</span><span class="WHIT">
|
||
<span class='line'>927</span> </span><span class="NAME">addPolyline</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_pA</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_strokeWidth</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tramA</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>928</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>929</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">_pA.length</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>930</span> </span><span class="WHIT"> </span><span class="NAME">_p.push</span><span class="PUNC">(</span><span class="NAME">_pA</span><span class="PUNC">[</span><span class="NAME">_i</span><span class="PUNC">++</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">','</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_pA</span><span class="PUNC">[</span><span class="NAME">_i</span><span class="PUNC">++</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>931</span> </span><span class="WHIT"> </span><span class="NAME">this.addNode</span><span class="PUNC">(</span><span class="NAME">_.createNode</span><span class="PUNC">(</span><span class="STRN">'polyline'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>932</span> </span><span class="WHIT"> </span><span class="NAME">points</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_p.join</span><span class="PUNC">(</span><span class="STRN">' '</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>933</span> </span><span class="WHIT"> </span><span class="NAME">stroke</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.addRect.defaultColor</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>934</span> </span><span class="WHIT"> </span><span class="STRN">'stroke-width'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_strokeWidth</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">_.defaultStrokeWidth</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>935</span> </span><span class="WHIT"> </span><span class="NAME">fill</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>936</span> </span><span class="WHIT"> </span><span class="NAME">transform</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">tramA</span><span class="WHIT">
|
||
<span class='line'>937</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>938</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>939</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>940</span>
|
||
<span class='line'>941</span>
|
||
<span class='line'>942</span> </span><span class="NAME">addImage</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>943</span> </span><span class="WHIT"> </span><span class="COMM">// TODO</span><span class="WHIT">
|
||
<span class='line'>944</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'addImage: yet implement!'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>945</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>946</span>
|
||
<span class='line'>947</span> </span><span class="COMM">/**
|
||
<span class='line'>948</span> * 功能正常嗎?
|
||
<span class='line'>949</span> * @return {Boolean} 功能正常
|
||
<span class='line'>950</span> */</span><span class="WHIT">
|
||
<span class='line'>951</span> </span><span class="NAME">status_OK</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>952</span> </span><span class="WHIT"> </span><span class="COMM">// !!: dual-unary operator</span><span class="WHIT">
|
||
<span class='line'>953</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="PUNC">!</span><span class="NAME">this.svg</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>954</span> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>955</span>
|
||
<span class='line'>956</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// _.prototype={</span><span class="WHIT">
|
||
<span class='line'>957</span>
|
||
<span class='line'>958</span>
|
||
<span class='line'>959</span> </span><span class="COMM">// other manual setting</span><span class="WHIT">
|
||
<span class='line'>960</span> </span><span class="KEYW">with</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_.prototype</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>961</span> </span><span class="WHIT"> </span><span class="NAME">addLine.defaultColor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.defaultColor</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>962</span> </span><span class="WHIT"> </span><span class="NAME">addPath.defaultColor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.defaultColor</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>963</span> </span><span class="WHIT"> </span><span class="NAME">addText.defaultColor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.defaultColor</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>964</span> </span><span class="WHIT"> </span><span class="NAME">addText.defaultFont</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>965</span> </span><span class="WHIT"> </span><span class="NAME">addEllipsePath.defaultColor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.defaultColor</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>966</span> </span><span class="WHIT"> </span><span class="NAME">addRect.defaultColor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.defaultColor</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>967</span> </span><span class="WHIT"> </span><span class="NAME">addPolyline.defaultColor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.defaultColor</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>968</span>
|
||
<span class='line'>969</span> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>970</span>
|
||
<span class='line'>971</span> </span><span class="COMM">// ↑definition of module SVG object</span><span class="WHIT">
|
||
<span class='line'>972</span>
|
||
<span class='line'>973</span> </span><span class="COMM">// ↑definition of module SVG</span><span class="WHIT">
|
||
<span class='line'>974</span> </span><span class="COMM">// ============================================================================</span><span class="WHIT">
|
||
<span class='line'>975</span>
|
||
<span class='line'>976</span>
|
||
<span class='line'>977</span> </span><span class="COMM">/**#@+
|
||
<span class='line'>978</span> * @description use {@link CeL.net.SVG} to draw:
|
||
<span class='line'>979</span> */</span><span class="WHIT">
|
||
<span class='line'>980</span>
|
||
<span class='line'>981</span> </span><span class="COMM">/*
|
||
<span class='line'>982</span> draw_circle[generateCode.dLK]
|
||
<span class='line'>983</span> =draw_ellipse[generateCode.dLK]
|
||
<span class='line'>984</span> =draw_triangle[generateCode.dLK]
|
||
<span class='line'>985</span> =draw_quadrilateral[generateCode.dLK]
|
||
<span class='line'>986</span> ='g_SVG';
|
||
<span class='line'>987</span> */</span><span class="WHIT">
|
||
<span class='line'>988</span>
|
||
<span class='line'>989</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>990</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>991</span> </span><span class="COMM">/**
|
||
<span class='line'>992</span> * 繪製圓形。
|
||
<span class='line'>993</span> * @since 2006/12/19 18:05
|
||
<span class='line'>994</span> * @param _r
|
||
<span class='line'>995</span> * @param svgO
|
||
<span class='line'>996</span> * @param _color
|
||
<span class='line'>997</span> * @param _fill
|
||
<span class='line'>998</span> * @return module SVG object
|
||
<span class='line'>999</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>1000</span> */</span><span class="WHIT">
|
||
<span class='line'>1001</span> </span><span class="NAME">draw_circle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_r</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1002</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">library_namespace.net.SVG</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1003</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_r</span><span class="WHIT">
|
||
<span class='line'>1004</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="PUNC">(</span><span class="WHIT">
|
||
<span class='line'>1005</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_r</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">g_SVG.defaultStrokeWidth</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1006</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_r</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">g_SVG.defaultStrokeWidth</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">show</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1007</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">svgO.status_OK</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1008</span> </span><span class="WHIT"> </span><span class="NAME">svgO.addCircle</span><span class="PUNC">(</span><span class="NAME">_r</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_r</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">g_SVG.defaultStrokeWidth</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_r</span><span class="WHIT">
|
||
<span class='line'>1009</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">g_SVG.defaultStrokeWidth</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1010</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1011</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>1012</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1013</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>1014</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>1015</span> </span><span class="COMM">/**
|
||
<span class='line'>1016</span> * 繪製橢圓。
|
||
<span class='line'>1017</span> * @param _rx
|
||
<span class='line'>1018</span> * @param _ry
|
||
<span class='line'>1019</span> * @param svgO
|
||
<span class='line'>1020</span> * @param _color
|
||
<span class='line'>1021</span> * @param _fill
|
||
<span class='line'>1022</span> * @return module SVG object
|
||
<span class='line'>1023</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>1024</span> */</span><span class="WHIT">
|
||
<span class='line'>1025</span> </span><span class="NAME">draw_ellipse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_rx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_ry</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1026</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">library_namespace.net.SVG</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1027</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_rx</span><span class="WHIT">
|
||
<span class='line'>1028</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">_ry</span><span class="WHIT">
|
||
<span class='line'>1029</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="PUNC">(</span><span class="WHIT">
|
||
<span class='line'>1030</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_rx</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">g_SVG.defaultStrokeWidth</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1031</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_ry</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">g_SVG.defaultStrokeWidth</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">show</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1032</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">svgO.status_OK</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1033</span> </span><span class="WHIT"> </span><span class="NAME">svgO.addEllipse</span><span class="PUNC">(</span><span class="NAME">_rx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_ry</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_rx</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">g_SVG.defaultStrokeWidth</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_ry</span><span class="WHIT">
|
||
<span class='line'>1034</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">g_SVG.defaultStrokeWidth</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1035</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1036</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>1037</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1038</span>
|
||
<span class='line'>1039</span>
|
||
<span class='line'>1040</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>1041</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>1042</span> </span><span class="COMM">/**
|
||
<span class='line'>1043</span> * 畫簡單梯形。
|
||
<span class='line'>1044</span> * @since 2006/12/17 12:38
|
||
<span class='line'>1045</span> * @requires split_String_to_Object,set_attribute,XML_node,removeNode,remove_all_child,g_SVG,draw_quadrilateral
|
||
<span class='line'>1046</span> * @param _ds
|
||
<span class='line'>1047</span> * @param _h
|
||
<span class='line'>1048</span> * @param _d
|
||
<span class='line'>1049</span> * @param _us
|
||
<span class='line'>1050</span> * @param svgO
|
||
<span class='line'>1051</span> * @param _color
|
||
<span class='line'>1052</span> * @param _fill
|
||
<span class='line'>1053</span> * @return module SVG object
|
||
<span class='line'>1054</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>1055</span> */</span><span class="WHIT">
|
||
<span class='line'>1056</span> </span><span class="NAME">draw_quadrilateral</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_d</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_us</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1057</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">library_namespace.net.SVG</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1058</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">isNaN</span><span class="PUNC">(</span><span class="NAME">_us</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">_us</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1059</span> </span><span class="WHIT"> </span><span class="NAME">_us</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ds</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1060</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="WHIT">
|
||
<span class='line'>1061</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT">
|
||
<span class='line'>1062</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">_d</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_us</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">_ds</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_d</span><span class="WHIT">
|
||
<span class='line'>1063</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_us</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1064</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">g_SVG.defaultStrokeWidth</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT">
|
||
<span class='line'>1065</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">g_SVG.defaultStrokeWidth</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">show</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1066</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">svgO.status_OK</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1067</span> </span><span class="WHIT"> </span><span class="NAME">set_attribute</span><span class="PUNC">(</span><span class="NAME">svgO.addQuadrilateral</span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_d</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_us</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">lastQuadrilateral</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1068</span> </span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1069</span> </span><span class="WHIT"> </span><span class="NAME">stroke</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1070</span> </span><span class="WHIT"> </span><span class="NAME">fill</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="WHIT">
|
||
<span class='line'>1071</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1072</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1073</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>1074</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1075</span>
|
||
<span class='line'>1076</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>1077</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>1078</span> </span><span class="COMM">/**
|
||
<span class='line'>1079</span> * 畫簡單三角形。
|
||
<span class='line'>1080</span> * @since 2006/12/17 12:38
|
||
<span class='line'>1081</span> * @requires split_String_to_Object,set_attribute,XML_node,removeNode,remove_all_child,g_SVG,draw_triangle
|
||
<span class='line'>1082</span> * @param _ds
|
||
<span class='line'>1083</span> * @param _h
|
||
<span class='line'>1084</span> * @param _d
|
||
<span class='line'>1085</span> * @param svgO
|
||
<span class='line'>1086</span> * @param _color
|
||
<span class='line'>1087</span> * @param _fill
|
||
<span class='line'>1088</span> * @return module SVG object
|
||
<span class='line'>1089</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>1090</span> */</span><span class="WHIT">
|
||
<span class='line'>1091</span> </span><span class="NAME">draw_triangle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_d</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1092</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">library_namespace.net.SVG</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1093</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="WHIT">
|
||
<span class='line'>1094</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT">
|
||
<span class='line'>1095</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">_d</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">_ds</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_d</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1096</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">g_SVG.defaultStrokeWidth</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT">
|
||
<span class='line'>1097</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">g_SVG.defaultStrokeWidth</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">show</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1098</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">svgO.status_OK</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1099</span> </span><span class="WHIT"> </span><span class="NAME">set_attribute</span><span class="PUNC">(</span><span class="NAME">svgO.addTriangle</span><span class="PUNC">(</span><span class="NAME">_ds</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_d</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">lastTriangleDefs</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1100</span> </span><span class="WHIT"> </span><span class="NAME">stroke</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1101</span> </span><span class="WHIT"> </span><span class="NAME">fill</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">_fill</span><span class="WHIT">
|
||
<span class='line'>1102</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1103</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1104</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>1105</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1106</span>
|
||
<span class='line'>1107</span> </span><span class="COMM">/*
|
||
<span class='line'>1108</span> draw_addition[generateCode.dLK]
|
||
<span class='line'>1109</span> =draw_multiplication[generateCode.dLK]
|
||
<span class='line'>1110</span> =draw_long_division[generateCode.dLK]
|
||
<span class='line'>1111</span> ='g_SVG,draw_scale';
|
||
<span class='line'>1112</span> */</span><span class="WHIT">
|
||
<span class='line'>1113</span>
|
||
<span class='line'>1114</span> </span><span class="COMM">/**
|
||
<span class='line'>1115</span> * default 畫筆。
|
||
<span class='line'>1116</span> * @inner
|
||
<span class='line'>1117</span> * @private
|
||
<span class='line'>1118</span> */</span><span class="WHIT">
|
||
<span class='line'>1119</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">draw_scale</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1120</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>1121</span> * text width
|
||
<span class='line'>1122</span> * @inner
|
||
<span class='line'>1123</span> * @private
|
||
<span class='line'>1124</span> */</span><span class="WHIT">
|
||
<span class='line'>1125</span> </span><span class="WHIT"> </span><span class="NAME">tW</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1126</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>1127</span> * text height
|
||
<span class='line'>1128</span> * @inner
|
||
<span class='line'>1129</span> * @private
|
||
<span class='line'>1130</span> */</span><span class="WHIT">
|
||
<span class='line'>1131</span> </span><span class="WHIT"> </span><span class="NAME">tH</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NUMB">10</span><span class="COMM">/* tW */</span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1132</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>1133</span> * decimal separator, 小數點
|
||
<span class='line'>1134</span> * @see
|
||
<span class='line'>1135</span> * <a href="http://en.wikipedia.org/wiki/Decimal_separator" accessdate="2010/1/20 18:29">Decimal separator</a>
|
||
<span class='line'>1136</span> */</span><span class="WHIT">
|
||
<span class='line'>1137</span> </span><span class="WHIT"> </span><span class="NAME">ds</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'.'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1138</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>1139</span> * width of decimal separator
|
||
<span class='line'>1140</span> */</span><span class="WHIT">
|
||
<span class='line'>1141</span> </span><span class="WHIT"> </span><span class="NAME">dsw</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">4</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1142</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>1143</span> * line height
|
||
<span class='line'>1144</span> * @inner
|
||
<span class='line'>1145</span> * @private
|
||
<span class='line'>1146</span> */</span><span class="WHIT">
|
||
<span class='line'>1147</span> </span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">4</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1148</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>1149</span> * margin left
|
||
<span class='line'>1150</span> * @inner
|
||
<span class='line'>1151</span> * @private
|
||
<span class='line'>1152</span> */</span><span class="WHIT">
|
||
<span class='line'>1153</span> </span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1154</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>1155</span> * margin top
|
||
<span class='line'>1156</span> * @inner
|
||
<span class='line'>1157</span> * @private
|
||
<span class='line'>1158</span> */</span><span class="WHIT">
|
||
<span class='line'>1159</span> </span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1160</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>1161</span> * 根號寬, squire width
|
||
<span class='line'>1162</span> * @inner
|
||
<span class='line'>1163</span> * @private
|
||
<span class='line'>1164</span> */</span><span class="WHIT">
|
||
<span class='line'>1165</span> </span><span class="WHIT"> </span><span class="NAME">sW</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="WHIT">
|
||
<span class='line'>1166</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1167</span> </span><span class="COMM">//draw_scale.tH=22,draw_scale.tW=12; // for print</span><span class="WHIT">
|
||
<span class='line'>1168</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>1169</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>1170</span> </span><span class="COMM">/**
|
||
<span class='line'>1171</span> * 利用 module SVG 物件來演示直式加法。
|
||
<span class='line'>1172</span> * @since 2006/12/26 17:47
|
||
<span class='line'>1173</span> * @param num1
|
||
<span class='line'>1174</span> * @param num2
|
||
<span class='line'>1175</span> * @param svgO
|
||
<span class='line'>1176</span> * @param _color
|
||
<span class='line'>1177</span> * @param _font
|
||
<span class='line'>1178</span> * @return module SVG object
|
||
<span class='line'>1179</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>1180</span> */</span><span class="WHIT">
|
||
<span class='line'>1181</span> </span><span class="NAME">draw_addition</span><span class="PUNC">=</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">num1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">num2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1182</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">num1</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">num2</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1183</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1184</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">library_namespace.net.SVG</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1185</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_op</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'+'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1186</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">num2</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1187</span> </span><span class="WHIT"> </span><span class="NAME">_op</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'-'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">num2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NAME">num2</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1188</span>
|
||
<span class='line'>1189</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_op</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'+'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">num1</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">num2</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">num1</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">num2</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1190</span> </span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1191</span> </span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">num2</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1192</span> </span><span class="WHIT"> </span><span class="NAME">tW</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.tW</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1193</span> </span><span class="WHIT"> </span><span class="NAME">tH</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.tH</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1194</span> </span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.lH</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1195</span> </span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.mL</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1196</span> </span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.mT</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1197</span>
|
||
<span class='line'>1198</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">_a</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">_w</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1199</span> </span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_a.length</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1200</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">num1</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">_w</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1201</span> </span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">num1.length</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1202</span> </span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1203</span> </span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_w</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1204</span>
|
||
<span class='line'>1205</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">svgO.status_OK</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1206</span> </span><span class="WHIT"> </span><span class="NAME">svgO.clean</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1207</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">show</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">status_OK</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1208</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1209</span>
|
||
<span class='line'>1210</span> </span><span class="WHIT"> </span><span class="NAME">svgO.setSize</span><span class="PUNC">(</span><span class="NAME">_w</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1211</span>
|
||
<span class='line'>1212</span> </span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1213</span>
|
||
<span class='line'>1214</span> </span><span class="WHIT"> </span><span class="COMM">// TODO: 讓 IE8 顯示起來像 111+111=222, 而非 +111111222</span><span class="WHIT">
|
||
<span class='line'>1215</span> </span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="WHIT">
|
||
<span class='line'>1216</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addNum</span><span class="PUNC">(</span><span class="NAME">num1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">num1.length</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1217</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addNum</span><span class="PUNC">(</span><span class="NAME">num2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">num2.length</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1218</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addText</span><span class="PUNC">(</span><span class="NAME">_op</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1219</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addPath</span><span class="PUNC">(</span><span class="STRN">'M'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">','</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">' H'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1220</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addNum</span><span class="PUNC">(</span><span class="NAME">_a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">_a.length</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1221</span>
|
||
<span class='line'>1222</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1223</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1224</span> </span><span class="COMM">//draw_subtraction[generateCode.dLK]='draw_addition';</span><span class="WHIT">
|
||
<span class='line'>1225</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>1226</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>1227</span> </span><span class="COMM">/**
|
||
<span class='line'>1228</span> * 呼叫 draw_subtraction 來演示直式減法。因為直式加減法的運算與機制過程非常相似,因此我們以 draw_addition 來一併的處理這兩個相似的運算過程。
|
||
<span class='line'>1229</span> * @since 2006/12/26 17:47
|
||
<span class='line'>1230</span> * @param num1
|
||
<span class='line'>1231</span> * @param num2
|
||
<span class='line'>1232</span> * @param svgO
|
||
<span class='line'>1233</span> * @param _color
|
||
<span class='line'>1234</span> * @param _font
|
||
<span class='line'>1235</span> * @return module SVG object
|
||
<span class='line'>1236</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>1237</span> */</span><span class="WHIT">
|
||
<span class='line'>1238</span> </span><span class="NAME">draw_subtraction</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">num1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">num2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1239</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_.draw_addition.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">num1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NAME">num2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1240</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1241</span>
|
||
<span class='line'>1242</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>1243</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>1244</span> </span><span class="COMM">/**
|
||
<span class='line'>1245</span> * 利用 module SVG 物件來演示直式乘法。<br/>
|
||
<span class='line'>1246</span> * TODO: 小數的乘法
|
||
<span class='line'>1247</span> * @since 2006/12/26 17:47
|
||
<span class='line'>1248</span> * @param num1
|
||
<span class='line'>1249</span> * @param num2
|
||
<span class='line'>1250</span> * @param svgO
|
||
<span class='line'>1251</span> * @param _color
|
||
<span class='line'>1252</span> * @param _font
|
||
<span class='line'>1253</span> * @return module SVG object
|
||
<span class='line'>1254</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>1255</span> * @see
|
||
<span class='line'>1256</span> * <a href="http://203.71.239.19/math/courses/cs04/M4_6.php" accessdate="2010/1/20 18:5">小數篇:小數的乘法</a>
|
||
<span class='line'>1257</span> */</span><span class="WHIT">
|
||
<span class='line'>1258</span> </span><span class="NAME">draw_multiplication</span><span class="PUNC">=</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">num1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">num2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1259</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">num1</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">num2</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1260</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1261</span>
|
||
<span class='line'>1262</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">library_namespace.net.SVG</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1263</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_op</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'×'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_j</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_C</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">num1</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">num2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">num2</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.tH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.lH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.mL</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.mT</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1264</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">_a</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">_w</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1265</span> </span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_a.length</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1266</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">num1</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">_w</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1267</span> </span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">num1.length</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1268</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_j</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">_j</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">num2.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">_j</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1269</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">num2.charAt</span><span class="PUNC">(</span><span class="NAME">_j</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1270</span> </span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1271</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1272</span> </span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_C</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1273</span> </span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NUMB">3</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1274</span> </span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_w</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1275</span>
|
||
<span class='line'>1276</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">svgO.status_OK</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1277</span> </span><span class="WHIT"> </span><span class="NAME">svgO.clean</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1278</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">show</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">status_OK</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1279</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1280</span>
|
||
<span class='line'>1281</span> </span><span class="WHIT"> </span><span class="NAME">svgO.setSize</span><span class="PUNC">(</span><span class="NAME">_w</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1282</span>
|
||
<span class='line'>1283</span> </span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1284</span>
|
||
<span class='line'>1285</span> </span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="WHIT">
|
||
<span class='line'>1286</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addNum</span><span class="PUNC">(</span><span class="NAME">num1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">num1.length</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1287</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addNum</span><span class="PUNC">(</span><span class="NAME">num2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">num2.length</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1288</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addText</span><span class="PUNC">(</span><span class="NAME">_op</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1289</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addPath</span><span class="PUNC">(</span><span class="STRN">'M'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">','</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">' H'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1290</span>
|
||
<span class='line'>1291</span> </span><span class="WHIT"> </span><span class="NAME">_op</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1292</span> </span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1293</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_w2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_w</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_n</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1294</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_C</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1295</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_j</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">num2.length</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">_j</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">_j</span><span class="PUNC">--</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1296</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_n</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">num2.charAt</span><span class="PUNC">(</span><span class="NAME">_j</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1297</span> </span><span class="WHIT"> </span><span class="NAME">svgO.addNum</span><span class="PUNC">(</span><span class="NAME">_n</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">num1</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">_n</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_op</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_w2</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">_n.length</span><span class="WHIT">
|
||
<span class='line'>1298</span> </span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_w2</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="WHIT">
|
||
<span class='line'>1299</span> </span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_op.length</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_op</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1300</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT">
|
||
<span class='line'>1301</span> </span><span class="WHIT"> </span><span class="NAME">_op</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'0'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1302</span> </span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="WHIT">
|
||
<span class='line'>1303</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addPath</span><span class="PUNC">(</span><span class="STRN">'M'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">','</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">' H'</span><span class="WHIT">
|
||
<span class='line'>1304</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1305</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>1306</span>
|
||
<span class='line'>1307</span> </span><span class="WHIT"> </span><span class="NAME">svgO.addNum</span><span class="PUNC">(</span><span class="NAME">_a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_w</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">_a.length</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_h</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1308</span>
|
||
<span class='line'>1309</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1310</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1311</span>
|
||
<span class='line'>1312</span> </span><span class="COMM">/*
|
||
<span class='line'>1313</span> TODO:
|
||
<span class='line'>1314</span> 小數
|
||
<span class='line'>1315</span> 換基底
|
||
<span class='line'>1316</span> */</span><span class="WHIT">
|
||
<span class='line'>1317</span> </span><span class="COMM">//draw_long_division[generateCode.dLK]='g_SVG,set_class';//split_String_to_Object,set_attribute,XML_node,removeNode,remove_all_child,g_SVG,draw_long_division</span><span class="WHIT">
|
||
<span class='line'>1318</span> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>1319</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>1320</span> </span><span class="COMM">/**
|
||
<span class='line'>1321</span> * 利用 module SVG 物件來展示<a href="http://en.wikipedia.org/wiki/Long_division" title="long division">直式除法</a>。<br/>
|
||
<span class='line'>1322</span> * !! 尚有許多 bug<br/>
|
||
<span class='line'>1323</span> * @since 2006/12/11-12 11:36
|
||
<span class='line'>1324</span> * @param dividend
|
||
<span class='line'>1325</span> * @param divisor
|
||
<span class='line'>1326</span> * @param digits_after TODO: 小數直式除法: 小數點後位數, how many digits after the decimal separator
|
||
<span class='line'>1327</span> * @param svgO
|
||
<span class='line'>1328</span> * @param _color
|
||
<span class='line'>1329</span> * @param _font
|
||
<span class='line'>1330</span> * @return module SVG object
|
||
<span class='line'>1331</span> * @example
|
||
<span class='line'>1332</span> * // include module
|
||
<span class='line'>1333</span> * CeL.use('net.SVG');
|
||
<span class='line'>1334</span> *
|
||
<span class='line'>1335</span> * // way 1
|
||
<span class='line'>1336</span> * var SVG_object = new CeL.SVG;
|
||
<span class='line'>1337</span> * SVG_object.attach('panel_for_SVG').show(1);
|
||
<span class='line'>1338</span> * CeL.draw_long_division(452, 34, SVG_object);
|
||
<span class='line'>1339</span> * // You can also put here.
|
||
<span class='line'>1340</span> * //SVG_object.attach('panel_for_SVG').show(1);
|
||
<span class='line'>1341</span> *
|
||
<span class='line'>1342</span> * // way 2
|
||
<span class='line'>1343</span> * var SVG_object = CeL.draw_long_division(100000, 7);
|
||
<span class='line'>1344</span> * SVG_object.attach('panel_for_SVG').show(1);
|
||
<span class='line'>1345</span> *
|
||
<span class='line'>1346</span> * // 另一次顯示
|
||
<span class='line'>1347</span> * CeL.draw_long_division(100, 7, SVG_object);
|
||
<span class='line'>1348</span> * @memberOf CeL.net.SVG
|
||
<span class='line'>1349</span> */</span><span class="WHIT">
|
||
<span class='line'>1350</span> </span><span class="NAME">draw_long_division</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">dividend</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">divisor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1351</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">isNaN</span><span class="PUNC">(</span><span class="NAME">dividend</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">isNaN</span><span class="PUNC">(</span><span class="NAME">divisor</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">divisor</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1352</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1353</span>
|
||
<span class='line'>1354</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">library_namespace.net.SVG</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1355</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>1356</span> * 餘數 remainder
|
||
<span class='line'>1357</span> * @inner
|
||
<span class='line'>1358</span> * @ignore
|
||
<span class='line'>1359</span> */</span><span class="WHIT">
|
||
<span class='line'>1360</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">remainder</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1361</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>1362</span> * 商 quotient
|
||
<span class='line'>1363</span> * @inner
|
||
<span class='line'>1364</span> * @ignore
|
||
<span class='line'>1365</span> */</span><span class="WHIT">
|
||
<span class='line'>1366</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">quotient</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">Math.floor</span><span class="PUNC">(</span><span class="NAME">dividend</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">divisor</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1367</span> </span><span class="WHIT"> </span><span class="NAME">tW</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.tW</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1368</span> </span><span class="WHIT"> </span><span class="NAME">tH</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.tH</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1369</span> </span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.lH</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1370</span> </span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.mL</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1371</span> </span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.mT</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1372</span> </span><span class="WHIT"> </span><span class="NAME">sW</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">draw_scale.sW</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1373</span> </span><span class="WHIT"> </span><span class="NAME">bx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="STRN">''</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">divisor</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">sW</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1374</span> </span><span class="WHIT"> </span><span class="NAME">by</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1375</span>
|
||
<span class='line'>1376</span> </span><span class="WHIT"> </span><span class="NAME">dividend</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1377</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">svgO.status_OK</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1378</span> </span><span class="WHIT"> </span><span class="NAME">svgO.clean</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1379</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="PUNC">(</span><span class="NAME">svgO</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">g_SVG</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">show</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">status_OK</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1380</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1381</span>
|
||
<span class='line'>1382</span> </span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="WHIT">
|
||
<span class='line'>1383</span> </span><span class="WHIT"> </span><span class="COMM">//.show(1)</span><span class="WHIT">
|
||
<span class='line'>1384</span> </span><span class="WHIT"> </span><span class="COMM">// 調整大小</span><span class="WHIT">
|
||
<span class='line'>1385</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">setSize</span><span class="PUNC">(</span><span class="WHIT">
|
||
<span class='line'>1386</span> </span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT">
|
||
<span class='line'>1387</span> </span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="WHIT">
|
||
<span class='line'>1388</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="STRN">''</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">divisor</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dividend.length</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1389</span> </span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">sW</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1390</span> </span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">by</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">quotient.length</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">tH</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1391</span> </span><span class="WHIT"> </span><span class="COMM">// 除數 divisor</span><span class="WHIT">
|
||
<span class='line'>1392</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addNum</span><span class="PUNC">(</span><span class="NAME">divisor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mL</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">by</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1393</span> </span><span class="WHIT"> </span><span class="COMM">// 商 quotient</span><span class="WHIT">
|
||
<span class='line'>1394</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addNum</span><span class="PUNC">(</span><span class="NAME">quotient</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1395</span> </span><span class="WHIT"> </span><span class="NAME">bx</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">dividend.length</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">quotient.length</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1396</span> </span><span class="WHIT"> </span><span class="NAME">mT</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1397</span> </span><span class="WHIT"> </span><span class="COMM">// 被除數 dividend</span><span class="WHIT">
|
||
<span class='line'>1398</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addNum</span><span class="PUNC">(</span><span class="NAME">dividend</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">bx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">by</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1399</span> </span><span class="WHIT"> </span><span class="COMM">// .addNode('path',{d:'M'+(bx+(dividend.length+1)*tW)+','+(by-lH/2-tH)+'</span><span class="WHIT">
|
||
<span class='line'>1400</span> </span><span class="WHIT"> </span><span class="COMM">// H'+(bx-tW)+' a'+tW/2+','+(lH+tH)+' 0 0,1</span><span class="WHIT">
|
||
<span class='line'>1401</span> </span><span class="WHIT"> </span><span class="COMM">// -'+tW/2+','+(lH+tH),stroke:'#000',style:'fill:none;'})</span><span class="WHIT">
|
||
<span class='line'>1402</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">addPath</span><span class="PUNC">(</span><span class="WHIT">
|
||
<span class='line'>1403</span> </span><span class="WHIT"> </span><span class="STRN">'M'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">bx</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">tW</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">sW</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">','</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">by</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1404</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">' a'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">','</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1405</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">' 0 0,0 '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">',-'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1406</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">' h'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">dividend.length</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1407</span>
|
||
<span class='line'>1408</span> </span><span class="WHIT"> </span><span class="NAME">svgO.addDefs</span><span class="PUNC">(</span><span class="NAME">g_SVG.createNode</span><span class="PUNC">(</span><span class="STRN">'line'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1409</span> </span><span class="WHIT"> </span><span class="NAME">x1</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1410</span> </span><span class="WHIT"> </span><span class="NAME">y1</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1411</span> </span><span class="WHIT"> </span><span class="NAME">x2</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">dividend.length</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1412</span> </span><span class="WHIT"> </span><span class="NAME">y2</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1413</span> </span><span class="WHIT"> </span><span class="COMM">// 'stroke-width':'1px',</span><span class="WHIT">
|
||
<span class='line'>1414</span> </span><span class="WHIT"> </span><span class="NAME">stroke</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">svgO.addLine.defaultColor</span><span class="WHIT">
|
||
<span class='line'>1415</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1416</span>
|
||
<span class='line'>1417</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgO.div</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1418</span> </span><span class="WHIT"> </span><span class="COMM">// svgO.div.className='long_division';</span><span class="WHIT">
|
||
<span class='line'>1419</span> </span><span class="WHIT"> </span><span class="NAME">set_class</span><span class="PUNC">(</span><span class="NAME">svgO.div</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'long_division'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1420</span>
|
||
<span class='line'>1421</span> </span><span class="WHIT"> </span><span class="COMM">// 用 symbol??</span><span class="WHIT">
|
||
<span class='line'>1422</span> </span><span class="WHIT"> </span><span class="NAME">svgO.addContain</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'long_division'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1423</span> </span><span class="WHIT"> </span><span class="NAME">dividend</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">dividend</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1424</span> </span><span class="WHIT"> </span><span class="NAME">divisor</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">divisor</span><span class="WHIT">
|
||
<span class='line'>1425</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1426</span>
|
||
<span class='line'>1427</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_k</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">b</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">l</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">svgO.lastAddDefs</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1428</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>1429</span> * 被除數處理到第幾位
|
||
<span class='line'>1430</span> * @inner
|
||
<span class='line'>1431</span> * @ignore
|
||
<span class='line'>1432</span> */</span><span class="WHIT">
|
||
<span class='line'>1433</span> </span><span class="WHIT"> </span><span class="NAME">dt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1434</span> </span><span class="WHIT"> </span><span class="NAME">remainder</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dividend.charAt</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1435</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">_k</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">quotient.length</span><span class="PUNC">;</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1436</span> </span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">quotient.charAt</span><span class="PUNC">(</span><span class="NAME">_k</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1437</span> </span><span class="WHIT"> </span><span class="COMM">// if(!a)continue;</span><span class="WHIT">
|
||
<span class='line'>1438</span> </span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">divisor</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">b</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dividend.length</span><span class="WHIT">
|
||
<span class='line'>1439</span> </span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">quotient.length</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_k</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1440</span>
|
||
<span class='line'>1441</span> </span><span class="WHIT"> </span><span class="NAME">svgO.addUse</span><span class="PUNC">(</span><span class="NAME">l</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1442</span> </span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">bx</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1443</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">by</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1444</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addNum</span><span class="PUNC">(</span><span class="NAME">a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">bx</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">b</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">a.length</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">by</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>1445</span> </span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1446</span>
|
||
<span class='line'>1447</span> </span><span class="WHIT"> </span><span class="COMM">// 以下..ugly hack</span><span class="WHIT">
|
||
<span class='line'>1448</span> </span><span class="WHIT"> </span><span class="COMM">// 先算出餘數</span><span class="WHIT">
|
||
<span class='line'>1449</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">remainder</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">dt</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">dividend.length</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1450</span> </span><span class="WHIT"> </span><span class="NAME">remainder</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dividend.charAt</span><span class="PUNC">(</span><span class="NAME">dt</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1451</span> </span><span class="WHIT"> </span><span class="NAME">remainder</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1452</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">remainder</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1453</span> </span><span class="WHIT"> </span><span class="NAME">remainder</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1454</span> </span><span class="WHIT"> </span><span class="COMM">//alert(remainder+','+quotient.charAt(_k+1)+'\n'+(i<quotient.length))</span><span class="WHIT">
|
||
<span class='line'>1455</span> </span><span class="WHIT"> </span><span class="COMM">// 再添加到夠減的位數</span><span class="WHIT">
|
||
<span class='line'>1456</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">quotient.charAt</span><span class="PUNC">(</span><span class="PUNC">++</span><span class="NAME">_k</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">_k</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">quotient.length</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1457</span> </span><span class="WHIT"> </span><span class="NAME">b</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1458</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">remainder</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">dividend.charAt</span><span class="PUNC">(</span><span class="NAME">dt</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1459</span> </span><span class="WHIT"> </span><span class="NAME">remainder</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dividend.charAt</span><span class="PUNC">(</span><span class="NAME">dt</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1460</span> </span><span class="WHIT"> </span><span class="NAME">dt</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1461</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>1462</span> </span><span class="WHIT"> </span><span class="COMM">// 顯示位數微調</span><span class="WHIT">
|
||
<span class='line'>1463</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">dt</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">dividend.length</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>1464</span> </span><span class="WHIT"> </span><span class="NAME">b</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1465</span> </span><span class="WHIT"> </span><span class="COMM">// 加一位</span><span class="WHIT">
|
||
<span class='line'>1466</span> </span><span class="WHIT"> </span><span class="NAME">remainder</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dividend.charAt</span><span class="PUNC">(</span><span class="NAME">dt</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1467</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">remainder</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1468</span> </span><span class="WHIT"> </span><span class="NAME">b</span><span class="PUNC">--</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1469</span> </span><span class="WHIT"> </span><span class="COMM">//alert(remainder+','+a+','+dt+'\n'+(remainder<a));</span><span class="WHIT">
|
||
<span class='line'>1470</span> </span><span class="WHIT"> </span><span class="NAME">svgO.addNum</span><span class="PUNC">(</span><span class="NAME">remainder</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">bx</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">b</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="STRN">''</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">remainder</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>1471</span> </span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">by</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">tH</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">lH</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tW</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_color</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_font</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1472</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>1473</span>
|
||
<span class='line'>1474</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">svgO</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1475</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1476</span>
|
||
<span class='line'>1477</span>
|
||
<span class='line'>1478</span> </span><span class="COMM">/**#@-*/</span><span class="WHIT">
|
||
<span class='line'>1479</span> </span><span class="COMM">// ↑@memberOf module SVG</span><span class="WHIT">
|
||
<span class='line'>1480</span>
|
||
<span class='line'>1481</span>
|
||
<span class='line'>1482</span>
|
||
<span class='line'>1483</span>
|
||
<span class='line'>1484</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
|
||
<span class='line'>1485</span> </span><span class="WHIT"> </span><span class="NAME">CeL.net.SVG</span><span class="WHIT">
|
||
<span class='line'>1486</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1487</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1488</span>
|
||
<span class='line'>1489</span> </span><span class="COMM">//===================================================</span><span class="WHIT">
|
||
<span class='line'>1490</span>
|
||
<span class='line'>1491</span> </span><span class="NAME">CeL.setup_module</span><span class="PUNC">(</span><span class="NAME">module_name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">code_for_including</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1492</span>
|
||
<span class='line'>1493</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>1494</span> </span></pre></body></html> |