mark_Dot.js.html 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
  2. .KEYW {color: #933;}
  3. .COMM {color: #bbb; font-style: italic;}
  4. .NUMB {color: #393;}
  5. .STRN {color: #393;}
  6. .REGX {color: #339;}
  7. .line {border-right: 1px dotted #666; color: #666; font-style: normal;}
  8. </style></head><body><pre><span class='line'> 1</span> <span class="COMM">/**
  9. <span class='line'> 2</span> * Constructs a new dot mark with default properties. Dots are not typically
  10. <span class='line'> 3</span> * constructed directly, but by adding to a panel or an existing mark via
  11. <span class='line'> 4</span> * {@link pv.Mark#add}.
  12. <span class='line'> 5</span> *
  13. <span class='line'> 6</span> * @class Represents a dot; a dot is simply a sized glyph centered at a given
  14. <span class='line'> 7</span> * point that can also be stroked and filled. The &lt;tt>size&lt;/tt> property is
  15. <span class='line'> 8</span> * proportional to the area of the rendered glyph to encourage meaningful visual
  16. <span class='line'> 9</span> * encodings. Dots can visually encode up to eight dimensions of data, though
  17. <span class='line'> 10</span> * this may be unwise due to integrality. See {@link pv.Mark} for details on the
  18. <span class='line'> 11</span> * prioritization of redundant positioning properties.
  19. <span class='line'> 12</span> *
  20. <span class='line'> 13</span> * &lt;p>See also the &lt;a href="../../api/Dot.html">Dot guide&lt;/a>.
  21. <span class='line'> 14</span> *
  22. <span class='line'> 15</span> * @extends pv.Mark
  23. <span class='line'> 16</span> */</span><span class="WHIT">
  24. <span class='line'> 17</span> </span><span class="NAME">pv.Dot</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">
  25. <span class='line'> 18</span> </span><span class="WHIT"> </span><span class="NAME">pv.Mark.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  26. <span class='line'> 19</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
  27. <span class='line'> 20</span>
  28. <span class='line'> 21</span> </span><span class="NAME">pv.Dot.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">pv.extend</span><span class="PUNC">(</span><span class="NAME">pv.Mark</span><span class="PUNC">)</span><span class="WHIT">
  29. <span class='line'> 22</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">property</span><span class="PUNC">(</span><span class="STRN">"size"</span><span class="PUNC">)</span><span class="WHIT">
  30. <span class='line'> 23</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">property</span><span class="PUNC">(</span><span class="STRN">"shape"</span><span class="PUNC">)</span><span class="WHIT">
  31. <span class='line'> 24</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">property</span><span class="PUNC">(</span><span class="STRN">"angle"</span><span class="PUNC">)</span><span class="WHIT">
  32. <span class='line'> 25</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">property</span><span class="PUNC">(</span><span class="STRN">"lineWidth"</span><span class="PUNC">)</span><span class="WHIT">
  33. <span class='line'> 26</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">property</span><span class="PUNC">(</span><span class="STRN">"strokeStyle"</span><span class="PUNC">)</span><span class="WHIT">
  34. <span class='line'> 27</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">property</span><span class="PUNC">(</span><span class="STRN">"fillStyle"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  35. <span class='line'> 28</span>
  36. <span class='line'> 29</span> </span><span class="NAME">pv.Dot.prototype.type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"dot"</span><span class="PUNC">;</span><span class="WHIT">
  37. <span class='line'> 30</span>
  38. <span class='line'> 31</span> </span><span class="COMM">/**
  39. <span class='line'> 32</span> * The size of the dot, in square pixels. Square pixels are used such that the
  40. <span class='line'> 33</span> * area of the dot is linearly proportional to the value of the size property,
  41. <span class='line'> 34</span> * facilitating representative encodings.
  42. <span class='line'> 35</span> *
  43. <span class='line'> 36</span> * @see #radius
  44. <span class='line'> 37</span> * @type number
  45. <span class='line'> 38</span> * @name pv.Dot.prototype.size
  46. <span class='line'> 39</span> */</span><span class="WHIT">
  47. <span class='line'> 40</span>
  48. <span class='line'> 41</span> </span><span class="COMM">/**
  49. <span class='line'> 42</span> * The shape name. Several shapes are supported:&lt;ul>
  50. <span class='line'> 43</span> *
  51. <span class='line'> 44</span> * &lt;li>cross
  52. <span class='line'> 45</span> * &lt;li>triangle
  53. <span class='line'> 46</span> * &lt;li>diamond
  54. <span class='line'> 47</span> * &lt;li>square
  55. <span class='line'> 48</span> * &lt;li>tick
  56. <span class='line'> 49</span> * &lt;li>circle
  57. <span class='line'> 50</span> *
  58. <span class='line'> 51</span> * &lt;/ul>These shapes can be further changed using the {@link #angle} property;
  59. <span class='line'> 52</span> * for instance, a cross can be turned into a plus by rotating. Similarly, the
  60. <span class='line'> 53</span> * tick, which is vertical by default, can be rotated horizontally. Note that
  61. <span class='line'> 54</span> * some shapes (cross and tick) do not have interior areas, and thus do not
  62. <span class='line'> 55</span> * support fill style meaningfully.
  63. <span class='line'> 56</span> *
  64. <span class='line'> 57</span> * &lt;p>Note: it may be more natural to use the {@link pv.Rule} mark for
  65. <span class='line'> 58</span> * horizontal and vertical ticks. The tick shape is only necessary if angled
  66. <span class='line'> 59</span> * ticks are needed.
  67. <span class='line'> 60</span> *
  68. <span class='line'> 61</span> * @type string
  69. <span class='line'> 62</span> * @name pv.Dot.prototype.shape
  70. <span class='line'> 63</span> */</span><span class="WHIT">
  71. <span class='line'> 64</span>
  72. <span class='line'> 65</span> </span><span class="COMM">/**
  73. <span class='line'> 66</span> * The rotation angle, in radians. Used to rotate shapes, such as to turn a
  74. <span class='line'> 67</span> * cross into a plus.
  75. <span class='line'> 68</span> *
  76. <span class='line'> 69</span> * @type number
  77. <span class='line'> 70</span> * @name pv.Dot.prototype.angle
  78. <span class='line'> 71</span> */</span><span class="WHIT">
  79. <span class='line'> 72</span>
  80. <span class='line'> 73</span> </span><span class="COMM">/**
  81. <span class='line'> 74</span> * The width of stroked lines, in pixels; used in conjunction with
  82. <span class='line'> 75</span> * &lt;tt>strokeStyle&lt;/tt> to stroke the dot's shape.
  83. <span class='line'> 76</span> *
  84. <span class='line'> 77</span> * @type number
  85. <span class='line'> 78</span> * @name pv.Dot.prototype.lineWidth
  86. <span class='line'> 79</span> */</span><span class="WHIT">
  87. <span class='line'> 80</span>
  88. <span class='line'> 81</span> </span><span class="COMM">/**
  89. <span class='line'> 82</span> * The style of stroked lines; used in conjunction with &lt;tt>lineWidth&lt;/tt> to
  90. <span class='line'> 83</span> * stroke the dot's shape. The default value of this property is a categorical
  91. <span class='line'> 84</span> * color.
  92. <span class='line'> 85</span> *
  93. <span class='line'> 86</span> * @type string
  94. <span class='line'> 87</span> * @name pv.Dot.prototype.strokeStyle
  95. <span class='line'> 88</span> * @see pv.color
  96. <span class='line'> 89</span> */</span><span class="WHIT">
  97. <span class='line'> 90</span>
  98. <span class='line'> 91</span> </span><span class="COMM">/**
  99. <span class='line'> 92</span> * The fill style; if non-null, the interior of the dot is filled with the
  100. <span class='line'> 93</span> * specified color. The default value of this property is null, meaning dots are
  101. <span class='line'> 94</span> * not filled by default.
  102. <span class='line'> 95</span> *
  103. <span class='line'> 96</span> * @type string
  104. <span class='line'> 97</span> * @name pv.Dot.prototype.fillStyle
  105. <span class='line'> 98</span> * @see pv.color
  106. <span class='line'> 99</span> */</span><span class="WHIT">
  107. <span class='line'>100</span>
  108. <span class='line'>101</span> </span><span class="COMM">/**
  109. <span class='line'>102</span> * Default properties for dots. By default, there is no fill and the stroke
  110. <span class='line'>103</span> * style is a categorical color. The default shape is "circle" with size 20.
  111. <span class='line'>104</span> *
  112. <span class='line'>105</span> * @type pv.Dot
  113. <span class='line'>106</span> */</span><span class="WHIT">
  114. <span class='line'>107</span> </span><span class="NAME">pv.Dot.prototype.defaults</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">pv.Dot</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
  115. <span class='line'>108</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">extend</span><span class="PUNC">(</span><span class="NAME">pv.Mark.prototype.defaults</span><span class="PUNC">)</span><span class="WHIT">
  116. <span class='line'>109</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">size</span><span class="PUNC">(</span><span class="NUMB">20</span><span class="PUNC">)</span><span class="WHIT">
  117. <span class='line'>110</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">shape</span><span class="PUNC">(</span><span class="STRN">"circle"</span><span class="PUNC">)</span><span class="WHIT">
  118. <span class='line'>111</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">lineWidth</span><span class="PUNC">(</span><span class="NUMB">1.5</span><span class="PUNC">)</span><span class="WHIT">
  119. <span class='line'>112</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">strokeStyle</span><span class="PUNC">(</span><span class="NAME">defaultStrokeStyle</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  120. <span class='line'>113</span>
  121. <span class='line'>114</span> </span><span class="COMM">/**
  122. <span class='line'>115</span> * Constructs a new dot anchor with default properties. Dots support five
  123. <span class='line'>116</span> * different anchors:&lt;ul>
  124. <span class='line'>117</span> *
  125. <span class='line'>118</span> * &lt;li>top
  126. <span class='line'>119</span> * &lt;li>left
  127. <span class='line'>120</span> * &lt;li>center
  128. <span class='line'>121</span> * &lt;li>bottom
  129. <span class='line'>122</span> * &lt;li>right
  130. <span class='line'>123</span> *
  131. <span class='line'>124</span> * &lt;/ul>In addition to positioning properties (left, right, top bottom), the
  132. <span class='line'>125</span> * anchors support text rendering properties (text-align, text-baseline). Text is
  133. <span class='line'>126</span> * rendered to appear outside the dot. Note that this behavior is different from
  134. <span class='line'>127</span> * other mark anchors, which default to rendering text &lt;i>inside&lt;/i> the mark.
  135. <span class='line'>128</span> *
  136. <span class='line'>129</span> * &lt;p>For consistency with the other mark types, the anchor positions are
  137. <span class='line'>130</span> * defined in terms of their opposite edge. For example, the top anchor defines
  138. <span class='line'>131</span> * the bottom property, such that a bar added to the top anchor grows upward.
  139. <span class='line'>132</span> *
  140. <span class='line'>133</span> * @param {string} name the anchor name; either a string or a property function.
  141. <span class='line'>134</span> * @returns {pv.Anchor}
  142. <span class='line'>135</span> */</span><span class="WHIT">
  143. <span class='line'>136</span> </span><span class="NAME">pv.Dot.prototype.anchor</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">name</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
  144. <span class='line'>137</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dot</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
  145. <span class='line'>138</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">pv.Mark.prototype.anchor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">name</span><span class="PUNC">)</span><span class="WHIT">
  146. <span class='line'>139</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">left</span><span class="PUNC">(</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="PUNC">{</span><span class="WHIT">
  147. <span class='line'>140</span> </span><span class="WHIT"> </span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.name</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
  148. <span class='line'>141</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"bottom"</span><span class="PUNC">:</span><span class="WHIT">
  149. <span class='line'>142</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"top"</span><span class="PUNC">:</span><span class="WHIT">
  150. <span class='line'>143</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"center"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">dot.left</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  151. <span class='line'>144</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"right"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">dot.left</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dot.radius</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  152. <span class='line'>145</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
  153. <span class='line'>146</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">
  154. <span class='line'>147</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="WHIT">
  155. <span class='line'>148</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">right</span><span class="PUNC">(</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="PUNC">{</span><span class="WHIT">
  156. <span class='line'>149</span> </span><span class="WHIT"> </span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.name</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
  157. <span class='line'>150</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"bottom"</span><span class="PUNC">:</span><span class="WHIT">
  158. <span class='line'>151</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"top"</span><span class="PUNC">:</span><span class="WHIT">
  159. <span class='line'>152</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"center"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">dot.right</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  160. <span class='line'>153</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">dot.right</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dot.radius</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  161. <span class='line'>154</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
  162. <span class='line'>155</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">
  163. <span class='line'>156</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="WHIT">
  164. <span class='line'>157</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">top</span><span class="PUNC">(</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="PUNC">{</span><span class="WHIT">
  165. <span class='line'>158</span> </span><span class="WHIT"> </span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.name</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
  166. <span class='line'>159</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">:</span><span class="WHIT">
  167. <span class='line'>160</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"right"</span><span class="PUNC">:</span><span class="WHIT">
  168. <span class='line'>161</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"center"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">dot.top</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  169. <span class='line'>162</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"bottom"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">dot.top</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dot.radius</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  170. <span class='line'>163</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
  171. <span class='line'>164</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">
  172. <span class='line'>165</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="WHIT">
  173. <span class='line'>166</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">bottom</span><span class="PUNC">(</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="PUNC">{</span><span class="WHIT">
  174. <span class='line'>167</span> </span><span class="WHIT"> </span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.name</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
  175. <span class='line'>168</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">:</span><span class="WHIT">
  176. <span class='line'>169</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"right"</span><span class="PUNC">:</span><span class="WHIT">
  177. <span class='line'>170</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"center"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">dot.bottom</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  178. <span class='line'>171</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"top"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">dot.bottom</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dot.radius</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  179. <span class='line'>172</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
  180. <span class='line'>173</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">
  181. <span class='line'>174</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="WHIT">
  182. <span class='line'>175</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">textAlign</span><span class="PUNC">(</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="PUNC">{</span><span class="WHIT">
  183. <span class='line'>176</span> </span><span class="WHIT"> </span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.name</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
  184. <span class='line'>177</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"right"</span><span class="PUNC">;</span><span class="WHIT">
  185. <span class='line'>178</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"bottom"</span><span class="PUNC">:</span><span class="WHIT">
  186. <span class='line'>179</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"top"</span><span class="PUNC">:</span><span class="WHIT">
  187. <span class='line'>180</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"center"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"center"</span><span class="PUNC">;</span><span class="WHIT">
  188. <span class='line'>181</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
  189. <span class='line'>182</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">;</span><span class="WHIT">
  190. <span class='line'>183</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="WHIT">
  191. <span class='line'>184</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">textBaseline</span><span class="PUNC">(</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="PUNC">{</span><span class="WHIT">
  192. <span class='line'>185</span> </span><span class="WHIT"> </span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.name</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
  193. <span class='line'>186</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"right"</span><span class="PUNC">:</span><span class="WHIT">
  194. <span class='line'>187</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">:</span><span class="WHIT">
  195. <span class='line'>188</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"center"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"middle"</span><span class="PUNC">;</span><span class="WHIT">
  196. <span class='line'>189</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"bottom"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"top"</span><span class="PUNC">;</span><span class="WHIT">
  197. <span class='line'>190</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
  198. <span class='line'>191</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"bottom"</span><span class="PUNC">;</span><span class="WHIT">
  199. <span class='line'>192</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  200. <span class='line'>193</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
  201. <span class='line'>194</span>
  202. <span class='line'>195</span> </span><span class="COMM">/**
  203. <span class='line'>196</span> * Returns the radius of the dot, which is defined to be the square root of the
  204. <span class='line'>197</span> * {@link #size} property.
  205. <span class='line'>198</span> *
  206. <span class='line'>199</span> * @returns {number} the radius.
  207. <span class='line'>200</span> */</span><span class="WHIT">
  208. <span class='line'>201</span> </span><span class="NAME">pv.Dot.prototype.radius</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">
  209. <span class='line'>202</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">Math.sqrt</span><span class="PUNC">(</span><span class="NAME">this.size</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
  210. <span class='line'>203</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
  211. <span class='line'>204</span> </span></pre></body></html>