jsxgraph 1.6.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/CHANGELOG.md +25 -2
  2. package/distrib/docs/files.html +2 -2
  3. package/distrib/docs/index.html +2 -2
  4. package/distrib/docs/static/jsxgraph.css +24 -22
  5. package/distrib/docs/static/jsxgraphcore.js +2 -2
  6. package/distrib/docs/symbols/Angle.html +2 -2
  7. package/distrib/docs/symbols/Arc.html +2 -2
  8. package/distrib/docs/symbols/Arrow.html +2 -2
  9. package/distrib/docs/symbols/Arrowparallel.html +2 -2
  10. package/distrib/docs/symbols/Axis.html +2 -2
  11. package/distrib/docs/symbols/Bisector.html +2 -2
  12. package/distrib/docs/symbols/Bisectorlines.html +2 -2
  13. package/distrib/docs/symbols/Boxplot.html +2 -2
  14. package/distrib/docs/symbols/Button.html +4 -4
  15. package/distrib/docs/symbols/Cardinalspline.html +2 -2
  16. package/distrib/docs/symbols/Chart.html +2 -2
  17. package/distrib/docs/symbols/Checkbox.html +17 -17
  18. package/distrib/docs/symbols/Circle.html +2 -2
  19. package/distrib/docs/symbols/Circumcenter.html +4 -4
  20. package/distrib/docs/symbols/Circumcircle.html +2 -2
  21. package/distrib/docs/symbols/CircumcircleArc.html +2 -2
  22. package/distrib/docs/symbols/CircumcircleSector.html +2 -2
  23. package/distrib/docs/symbols/Comb.html +5 -5
  24. package/distrib/docs/symbols/Conic.html +2 -2
  25. package/distrib/docs/symbols/Constants.html +2 -2
  26. package/distrib/docs/symbols/Curve.html +2 -2
  27. package/distrib/docs/symbols/Curve3D.html +2 -2
  28. package/distrib/docs/symbols/CurveDifference.html +2 -2
  29. package/distrib/docs/symbols/CurveIntersection.html +2 -2
  30. package/distrib/docs/symbols/CurveUnion.html +2 -2
  31. package/distrib/docs/symbols/Derivative.html +2 -2
  32. package/distrib/docs/symbols/Ellipse.html +2 -2
  33. package/distrib/docs/symbols/ForeignObject.html +4 -4
  34. package/distrib/docs/symbols/Functiongraph.html +2 -2
  35. package/distrib/docs/symbols/Functiongraph3D.html +2 -2
  36. package/distrib/docs/symbols/Glider.html +4 -4
  37. package/distrib/docs/symbols/Grid.html +2 -2
  38. package/distrib/docs/symbols/Group.html +2 -2
  39. package/distrib/docs/symbols/Hatch.html +2 -2
  40. package/distrib/docs/symbols/Hyperbola.html +2 -2
  41. package/distrib/docs/symbols/Image.html +4 -4
  42. package/distrib/docs/symbols/Incenter.html +4 -4
  43. package/distrib/docs/symbols/Incircle.html +2 -2
  44. package/distrib/docs/symbols/Inequality.html +2 -2
  45. package/distrib/docs/symbols/Input.html +4 -4
  46. package/distrib/docs/symbols/Integral.html +2 -2
  47. package/distrib/docs/symbols/Intersection.html +4 -4
  48. package/distrib/docs/symbols/JXG.AbstractRenderer.html +2 -2
  49. package/distrib/docs/symbols/JXG.Board.html +144 -11
  50. package/distrib/docs/symbols/JXG.Board.infobox.html +2 -2
  51. package/distrib/docs/symbols/JXG.C.html +2 -2
  52. package/distrib/docs/symbols/JXG.CA.html +2 -2
  53. package/distrib/docs/symbols/JXG.CanvasRenderer.html +2 -2
  54. package/distrib/docs/symbols/JXG.Chart.html +2 -2
  55. package/distrib/docs/symbols/JXG.Circle.html +2 -2
  56. package/distrib/docs/symbols/JXG.Complex.html +2 -2
  57. package/distrib/docs/symbols/JXG.Composition.html +2 -2
  58. package/distrib/docs/symbols/JXG.Coords.html +2 -2
  59. package/distrib/docs/symbols/JXG.CoordsElement.html +54 -2
  60. package/distrib/docs/symbols/JXG.Curve.html +2 -2
  61. package/distrib/docs/symbols/JXG.Curve3D.html +2 -2
  62. package/distrib/docs/symbols/JXG.Dump.html +2 -2
  63. package/distrib/docs/symbols/JXG.EventEmitter.html +2 -2
  64. package/distrib/docs/symbols/JXG.ForeignObject.html +3 -3
  65. package/distrib/docs/symbols/JXG.GeometryElement.html +2 -2
  66. package/distrib/docs/symbols/JXG.GeometryElement3D.html +2 -2
  67. package/distrib/docs/symbols/JXG.GeonextParser.html +2 -2
  68. package/distrib/docs/symbols/JXG.Group.html +2 -2
  69. package/distrib/docs/symbols/JXG.Image.html +3 -3
  70. package/distrib/docs/symbols/JXG.JSXGraph.html +2 -2
  71. package/distrib/docs/symbols/JXG.JessieCode.html +2 -2
  72. package/distrib/docs/symbols/JXG.Legend.html +2 -2
  73. package/distrib/docs/symbols/JXG.Line.html +2 -2
  74. package/distrib/docs/symbols/JXG.Line3D.html +2 -2
  75. package/distrib/docs/symbols/JXG.Math.Clip.html +2 -2
  76. package/distrib/docs/symbols/JXG.Math.Extrapolate.html +2 -2
  77. package/distrib/docs/symbols/JXG.Math.Geometry.html +2 -2
  78. package/distrib/docs/symbols/JXG.Math.IntervalArithmetic.html +2 -2
  79. package/distrib/docs/symbols/JXG.Math.Metapost.html +2 -2
  80. package/distrib/docs/symbols/JXG.Math.Nlp.html +2 -2
  81. package/distrib/docs/symbols/JXG.Math.Numerics.html +23 -15
  82. package/distrib/docs/symbols/JXG.Math.Plot.html +2 -2
  83. package/distrib/docs/symbols/JXG.Math.Poly.Monomial.html +2 -2
  84. package/distrib/docs/symbols/JXG.Math.Poly.Polynomial.html +2 -2
  85. package/distrib/docs/symbols/JXG.Math.Poly.Ring.html +2 -2
  86. package/distrib/docs/symbols/JXG.Math.Poly.html +2 -2
  87. package/distrib/docs/symbols/JXG.Math.ProbFuncs.html +2 -2
  88. package/distrib/docs/symbols/JXG.Math.Quadtree.html +122 -7
  89. package/distrib/docs/symbols/JXG.Math.Statistics.html +2 -2
  90. package/distrib/docs/symbols/JXG.Math.Symbolic.html +2 -2
  91. package/distrib/docs/symbols/JXG.Math.html +45 -2
  92. package/distrib/docs/symbols/JXG.NoRenderer.html +2 -2
  93. package/distrib/docs/symbols/JXG.Options.html +2 -2
  94. package/distrib/docs/symbols/JXG.Plane3D.html +2 -2
  95. package/distrib/docs/symbols/JXG.Point.html +3 -3
  96. package/distrib/docs/symbols/JXG.Point3D.html +2 -2
  97. package/distrib/docs/symbols/JXG.Polygon.html +2 -2
  98. package/distrib/docs/symbols/JXG.SVGRenderer.html +2 -2
  99. package/distrib/docs/symbols/JXG.Server.html +2 -2
  100. package/distrib/docs/symbols/JXG.Server.modules.html +2 -2
  101. package/distrib/docs/symbols/JXG.Surface3D.html +2 -2
  102. package/distrib/docs/symbols/JXG.Text.html +8 -8
  103. package/distrib/docs/symbols/JXG.Ticks.html +2 -2
  104. package/distrib/docs/symbols/JXG.Transformation.html +2 -2
  105. package/distrib/docs/symbols/JXG.Turtle.html +2 -2
  106. package/distrib/docs/symbols/JXG.Util.Base64.html +2 -2
  107. package/distrib/docs/symbols/JXG.Util.UTF8.html +2 -2
  108. package/distrib/docs/symbols/JXG.Util.Unzip.html +2 -2
  109. package/distrib/docs/symbols/JXG.Util.html +2 -2
  110. package/distrib/docs/symbols/JXG.VMLRenderer.html +2 -2
  111. package/distrib/docs/symbols/JXG.View3D.html +2 -2
  112. package/distrib/docs/symbols/JXG.XML.html +2 -2
  113. package/distrib/docs/symbols/Label.html +114 -4
  114. package/distrib/docs/symbols/Legend.html +2 -2
  115. package/distrib/docs/symbols/Line.html +2 -2
  116. package/distrib/docs/symbols/Line3D.html +2 -2
  117. package/distrib/docs/symbols/Locus.html +2 -2
  118. package/distrib/docs/symbols/MajorArc.html +2 -2
  119. package/distrib/docs/symbols/MajorSector.html +2 -2
  120. package/distrib/docs/symbols/Metapostspline.html +2 -2
  121. package/distrib/docs/symbols/Midpoint.html +4 -4
  122. package/distrib/docs/symbols/MinorArc.html +2 -2
  123. package/distrib/docs/symbols/MinorSector.html +2 -2
  124. package/distrib/docs/symbols/Mirrorelement.html +2 -2
  125. package/distrib/docs/symbols/Mirrorpoint.html +4 -4
  126. package/distrib/docs/symbols/NonReflexAngle.html +2 -2
  127. package/distrib/docs/symbols/Normal.html +2 -2
  128. package/distrib/docs/symbols/Orthogonalprojection.html +4 -4
  129. package/distrib/docs/symbols/OtherIntersection.html +4 -4
  130. package/distrib/docs/symbols/Parabola.html +2 -2
  131. package/distrib/docs/symbols/Parallel.html +2 -2
  132. package/distrib/docs/symbols/Parallelpoint.html +4 -4
  133. package/distrib/docs/symbols/ParametricSurface3D.html +2 -2
  134. package/distrib/docs/symbols/Perpendicular.html +2 -2
  135. package/distrib/docs/symbols/PerpendicularPoint.html +4 -4
  136. package/distrib/docs/symbols/PerpendicularSegment.html +2 -2
  137. package/distrib/docs/symbols/Point.html +4 -4
  138. package/distrib/docs/symbols/Point3D.html +2 -2
  139. package/distrib/docs/symbols/PolarLine.html +2 -2
  140. package/distrib/docs/symbols/PolePoint.html +4 -4
  141. package/distrib/docs/symbols/Polygon.html +2 -2
  142. package/distrib/docs/symbols/PolygonalChain.html +2 -2
  143. package/distrib/docs/symbols/RadicalAxis.html +2 -2
  144. package/distrib/docs/symbols/Reflection.html +2 -2
  145. package/distrib/docs/symbols/ReflexAngle.html +2 -2
  146. package/distrib/docs/symbols/RegularPolygon.html +2 -2
  147. package/distrib/docs/symbols/Riemannsum.html +7 -3
  148. package/distrib/docs/symbols/Sector.html +2 -2
  149. package/distrib/docs/symbols/Segment.html +2 -2
  150. package/distrib/docs/symbols/Semicircle.html +2 -2
  151. package/distrib/docs/symbols/Slider.html +145 -4
  152. package/distrib/docs/symbols/Slopefield.html +2 -2
  153. package/distrib/docs/symbols/Slopetriangle.html +2 -2
  154. package/distrib/docs/symbols/Smartlabel.html +4 -4
  155. package/distrib/docs/symbols/Spline.html +2 -2
  156. package/distrib/docs/symbols/Stepfunction.html +2 -2
  157. package/distrib/docs/symbols/Tangent.html +2 -2
  158. package/distrib/docs/symbols/Tapemeasure.html +2 -2
  159. package/distrib/docs/symbols/Text.html +4 -4
  160. package/distrib/docs/symbols/Ticks.html +2 -2
  161. package/distrib/docs/symbols/Tracecurve.html +2 -2
  162. package/distrib/docs/symbols/Transformation.html +2 -2
  163. package/distrib/docs/symbols/Turtle.html +2 -2
  164. package/distrib/docs/symbols/Vectorfield.html +2 -2
  165. package/distrib/docs/symbols/View3D.html +2 -2
  166. package/distrib/docs/symbols/_global_.html +2 -2
  167. package/distrib/docs/symbols/src/src_3d_view3d.js.html +29 -30
  168. package/distrib/docs/symbols/src/src_base_board.js.html +5020 -4930
  169. package/distrib/docs/symbols/src/src_base_constants.js.html +1 -1
  170. package/distrib/docs/symbols/src/src_base_coordselement.js.html +1829 -1789
  171. package/distrib/docs/symbols/src/src_base_curve.js.html +783 -778
  172. package/distrib/docs/symbols/src/src_base_text.js.html +345 -358
  173. package/distrib/docs/symbols/src/src_element_checkbox.js.html +30 -30
  174. package/distrib/docs/symbols/src/src_element_slider.js.html +391 -377
  175. package/distrib/docs/symbols/src/src_math_numerics.js.html +1226 -1190
  176. package/distrib/docs/symbols/src/src_math_qdt.js.html +318 -194
  177. package/distrib/docs/symbols/src/src_options.js.html +7137 -7034
  178. package/distrib/docs/symbols/src/src_renderer_abstract.js.html +1168 -1167
  179. package/distrib/docs/symbols/src/src_renderer_canvas.js.html +1 -1
  180. package/distrib/docs/symbols/src/src_renderer_svg.js.html +489 -494
  181. package/distrib/docs/symbols/src/src_utils_env.js.html +127 -90
  182. package/distrib/docs.zip +0 -0
  183. package/distrib/geogebra.min.js +1 -1
  184. package/distrib/geonext.min.js +1 -1
  185. package/distrib/intergeo.min.js +1 -1
  186. package/distrib/jsxgraph.css +24 -22
  187. package/distrib/jsxgraph.zip +0 -0
  188. package/distrib/jsxgraphcore.js +2 -2
  189. package/distrib/jsxgraphcore.mjs +2 -2
  190. package/distrib/jsxgraphcore.mjs.map +1 -1
  191. package/distrib/jsxgraphsrc.js +707 -276
  192. package/distrib/jsxgraphsrc.mjs +707 -276
  193. package/distrib/jsxgraphsrc.mjs.map +1 -1
  194. package/distrib/sketch.min.js +1 -1
  195. package/package.json +1 -1
  196. package/src/3d/view3d.js +0 -1
  197. package/src/base/board.js +140 -50
  198. package/src/base/constants.js +1 -1
  199. package/src/base/coordselement.js +54 -14
  200. package/src/base/curve.js +6 -1
  201. package/src/base/text.js +13 -26
  202. package/src/element/checkbox.js +17 -17
  203. package/src/element/slider.js +16 -2
  204. package/src/math/heap.js +34 -4
  205. package/src/math/numerics.js +112 -76
  206. package/src/math/qdt.js +141 -17
  207. package/src/options.js +115 -12
  208. package/src/renderer/abstract.js +15 -14
  209. package/src/renderer/canvas.js +1 -1
  210. package/src/renderer/svg.js +0 -5
  211. package/src/utils/env.js +75 -38
@@ -661,7 +661,7 @@
661
661
  <span class='line'>654</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
662
662
  <span class='line'>655</span>
663
663
  <span class='line'>656</span> </span><span class="WHIT"> </span><span class="COMM">/**
664
- <span class='line'>657</span> * The update function of the renderert
664
+ <span class='line'>657</span> * The update function of the renderer
665
665
  <span class='line'>658</span> * is called.
666
666
  <span class='line'>659</span> * @private
667
667
  <span class='line'>660</span> */</span><span class="WHIT">
@@ -1131,371 +1131,358 @@
1131
1131
  <span class='line'>1124</span> * @param {Number} h width of the box in pixel
1132
1132
  <span class='line'>1125</span> * @return {Number} Number of overlapping elements
1133
1133
  <span class='line'>1126</span> */</span><span class="WHIT">
1134
- <span class='line'>1127</span> </span><span class="WHIT"> </span><span class="NAME">getNumberofConflicts</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</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">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="PUNC">{</span><span class="WHIT">
1134
+ <span class='line'>1127</span> </span><span class="WHIT"> </span><span class="NAME">getNumberOfConflicts</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</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">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="PUNC">{</span><span class="WHIT">
1135
1135
  <span class='line'>1128</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">count</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">
1136
- <span class='line'>1129</span> </span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT">
1137
- <span class='line'>1130</span> </span><span class="WHIT"> </span><span class="NAME">obj</span><span class="PUNC">,</span><span class="WHIT">
1138
- <span class='line'>1131</span> </span><span class="WHIT"> </span><span class="NAME">le</span><span class="PUNC">,</span><span class="WHIT">
1139
- <span class='line'>1132</span> </span><span class="WHIT"> </span><span class="NAME">savePointPrecision</span><span class="PUNC">;</span><span class="WHIT">
1140
- <span class='line'>1133</span>
1141
- <span class='line'>1134</span> </span><span class="WHIT"> </span><span class="COMM">// Set the precision of hasPoint to half the max if label isn't too long</span><span class="WHIT">
1142
- <span class='line'>1135</span> </span><span class="WHIT"> </span><span class="NAME">savePointPrecision</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.board.options.precision.hasPoint</span><span class="PUNC">;</span><span class="WHIT">
1143
- <span class='line'>1136</span> </span><span class="WHIT"> </span><span class="COMM">// this.board.options.precision.hasPoint = Math.max(w, h) * 0.5;</span><span class="WHIT">
1144
- <span class='line'>1137</span> </span><span class="WHIT"> </span><span class="NAME">this.board.options.precision.hasPoint</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">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">0.25</span><span class="PUNC">;</span><span class="WHIT">
1145
- <span class='line'>1138</span> </span><span class="WHIT"> </span><span class="COMM">// TODO:</span><span class="WHIT">
1146
- <span class='line'>1139</span> </span><span class="WHIT"> </span><span class="COMM">// Make it compatible with the objects' visProp.precision attribute</span><span class="WHIT">
1147
- <span class='line'>1140</span> </span><span class="WHIT"> </span><span class="KEYW">for</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="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">le</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.board.objectsList.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">le</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><span class="PUNC">{</span><span class="WHIT">
1148
- <span class='line'>1141</span> </span><span class="WHIT"> </span><span class="NAME">obj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.board.objectsList</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1149
- <span class='line'>1142</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
1150
- <span class='line'>1143</span> </span><span class="WHIT"> </span><span class="NAME">obj.visPropCalc.visible</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
1151
- <span class='line'>1144</span> </span><span class="WHIT"> </span><span class="NAME">obj.elType</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">"axis"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
1152
- <span class='line'>1145</span> </span><span class="WHIT"> </span><span class="NAME">obj.elType</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">"ticks"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
1153
- <span class='line'>1146</span> </span><span class="WHIT"> </span><span class="NAME">obj</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">this.board.infobox</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
1154
- <span class='line'>1147</span> </span><span class="WHIT"> </span><span class="NAME">obj</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
1155
- <span class='line'>1148</span> </span><span class="WHIT"> </span><span class="NAME">obj.hasPoint</span><span class="PUNC">(</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">
1156
- <span class='line'>1149</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1157
- <span class='line'>1150</span> </span><span class="WHIT"> </span><span class="NAME">count</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
1158
- <span class='line'>1151</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1159
- <span class='line'>1152</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1160
- <span class='line'>1153</span> </span><span class="WHIT"> </span><span class="NAME">this.board.options.precision.hasPoint</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">savePointPrecision</span><span class="PUNC">;</span><span class="WHIT">
1161
- <span class='line'>1154</span>
1162
- <span class='line'>1155</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">count</span><span class="PUNC">;</span><span class="WHIT">
1163
- <span class='line'>1156</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
1164
- <span class='line'>1157</span>
1165
- <span class='line'>1158</span> </span><span class="WHIT"> </span><span class="COMM">/**
1166
- <span class='line'>1159</span> * Sets the offset of a label element to the position with the least number
1167
- <span class='line'>1160</span> * of overlaps with other elements, while retaining the distance to its
1168
- <span class='line'>1161</span> * anchor element. Twelve different angles are possible.
1169
- <span class='line'>1162</span> *
1170
- <span class='line'>1163</span> * @returns {JXG.Text} Reference to the text object.
1171
- <span class='line'>1164</span> */</span><span class="WHIT">
1172
- <span class='line'>1165</span> </span><span class="WHIT"> </span><span class="NAME">setAutoPosition</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1173
- <span class='line'>1166</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT">
1174
- <span class='line'>1167</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">,</span><span class="WHIT">
1175
- <span class='line'>1168</span> </span><span class="WHIT"> </span><span class="NAME">cx</span><span class="PUNC">,</span><span class="WHIT">
1176
- <span class='line'>1169</span> </span><span class="WHIT"> </span><span class="NAME">cy</span><span class="PUNC">,</span><span class="WHIT">
1177
- <span class='line'>1170</span> </span><span class="WHIT"> </span><span class="NAME">anchorCoords</span><span class="PUNC">,</span><span class="WHIT">
1178
- <span class='line'>1171</span> </span><span class="WHIT"> </span><span class="COMM">// anchorX, anchorY,</span><span class="WHIT">
1179
- <span class='line'>1172</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">this.size</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
1180
- <span class='line'>1173</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">this.size</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
1181
- <span class='line'>1174</span> </span><span class="WHIT"> </span><span class="NAME">start_angle</span><span class="PUNC">,</span><span class="WHIT">
1182
- <span class='line'>1175</span> </span><span class="WHIT"> </span><span class="NAME">angle</span><span class="PUNC">,</span><span class="WHIT">
1183
- <span class='line'>1176</span> </span><span class="WHIT"> </span><span class="NAME">optimum</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1184
- <span class='line'>1177</span> </span><span class="WHIT"> </span><span class="NAME">conflicts</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Infinity</span><span class="PUNC">,</span><span class="WHIT">
1185
- <span class='line'>1178</span> </span><span class="WHIT"> </span><span class="NAME">angle</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
1186
- <span class='line'>1179</span> </span><span class="WHIT"> </span><span class="NAME">r</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT">
1187
- <span class='line'>1180</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
1188
- <span class='line'>1181</span> </span><span class="WHIT"> </span><span class="NAME">max_r</span><span class="PUNC">,</span><span class="WHIT">
1189
- <span class='line'>1182</span> </span><span class="WHIT"> </span><span class="NAME">delta_r</span><span class="PUNC">,</span><span class="WHIT">
1190
- <span class='line'>1183</span> </span><span class="WHIT"> </span><span class="NAME">conflicts</span><span class="PUNC">,</span><span class="WHIT">
1191
- <span class='line'>1184</span> </span><span class="WHIT"> </span><span class="NAME">offset</span><span class="PUNC">,</span><span class="WHIT">
1192
- <span class='line'>1185</span> </span><span class="WHIT"> </span><span class="NAME">r</span><span class="PUNC">,</span><span class="WHIT">
1193
- <span class='line'>1186</span> </span><span class="WHIT"> </span><span class="NAME">num_positions</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">12</span><span class="PUNC">,</span><span class="WHIT">
1194
- <span class='line'>1187</span> </span><span class="WHIT"> </span><span class="NAME">step</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">Math.PI</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">num_positions</span><span class="PUNC">,</span><span class="WHIT">
1195
- <span class='line'>1188</span> </span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">,</span><span class="WHIT">
1196
- <span class='line'>1189</span> </span><span class="WHIT"> </span><span class="NAME">dx</span><span class="PUNC">,</span><span class="WHIT">
1197
- <span class='line'>1190</span> </span><span class="WHIT"> </span><span class="NAME">dy</span><span class="PUNC">,</span><span class="WHIT">
1198
- <span class='line'>1191</span> </span><span class="WHIT"> </span><span class="NAME">co</span><span class="PUNC">,</span><span class="WHIT">
1199
- <span class='line'>1192</span> </span><span class="WHIT"> </span><span class="NAME">si</span><span class="PUNC">;</span><span class="WHIT">
1200
- <span class='line'>1193</span>
1201
- <span class='line'>1194</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
1202
- <span class='line'>1195</span> </span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">this.board.infobox</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
1203
- <span class='line'>1196</span> </span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.visPropCalc.visible</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
1204
- <span class='line'>1197</span> </span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.visProp.islabel</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
1205
- <span class='line'>1198</span> </span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.element</span><span class="WHIT">
1206
- <span class='line'>1199</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1207
- <span class='line'>1200</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">
1208
- <span class='line'>1201</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1209
- <span class='line'>1202</span>
1210
- <span class='line'>1203</span> </span><span class="WHIT"> </span><span class="COMM">// anchorX = Type.evaluate(this.visProp.anchorx);</span><span class="WHIT">
1211
- <span class='line'>1204</span> </span><span class="WHIT"> </span><span class="COMM">// anchorY = Type.evaluate(this.visProp.anchory);</span><span class="WHIT">
1212
- <span class='line'>1205</span> </span><span class="WHIT"> </span><span class="NAME">offset</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.visProp.offset</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1213
- <span class='line'>1206</span> </span><span class="WHIT"> </span><span class="NAME">anchorCoords</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.element.getLabelAnchor</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1214
- <span class='line'>1207</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">anchorCoords.scrCoords</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1215
- <span class='line'>1208</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">anchorCoords.scrCoords</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1216
- <span class='line'>1209</span>
1217
- <span class='line'>1210</span> </span><span class="WHIT"> </span><span class="COMM">// Set dx, dy as the relative position of the center of the label</span><span class="WHIT">
1218
- <span class='line'>1211</span> </span><span class="WHIT"> </span><span class="COMM">// to its anchor element ignoring anchorx and anchory.</span><span class="WHIT">
1219
- <span class='line'>1212</span> </span><span class="WHIT"> </span><span class="NAME">dx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offset</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1220
- <span class='line'>1213</span> </span><span class="WHIT"> </span><span class="NAME">dy</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offset</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1136
+ <span class='line'>1129</span> </span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">obj</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">le</span><span class="PUNC">,</span><span class="WHIT">
1137
+ <span class='line'>1130</span> </span><span class="WHIT"> </span><span class="NAME">savePointPrecision</span><span class="PUNC">;</span><span class="WHIT">
1138
+ <span class='line'>1131</span>
1139
+ <span class='line'>1132</span> </span><span class="WHIT"> </span><span class="COMM">// Set the precision of hasPoint to half the max if label isn't too long</span><span class="WHIT">
1140
+ <span class='line'>1133</span> </span><span class="WHIT"> </span><span class="NAME">savePointPrecision</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.board.options.precision.hasPoint</span><span class="PUNC">;</span><span class="WHIT">
1141
+ <span class='line'>1134</span> </span><span class="WHIT"> </span><span class="COMM">// this.board.options.precision.hasPoint = Math.max(w, h) * 0.5;</span><span class="WHIT">
1142
+ <span class='line'>1135</span> </span><span class="WHIT"> </span><span class="NAME">this.board.options.precision.hasPoint</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">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NUMB">0.25</span><span class="PUNC">;</span><span class="WHIT">
1143
+ <span class='line'>1136</span> </span><span class="WHIT"> </span><span class="COMM">// TODO:</span><span class="WHIT">
1144
+ <span class='line'>1137</span> </span><span class="WHIT"> </span><span class="COMM">// Make it compatible with the objects' visProp.precision attribute</span><span class="WHIT">
1145
+ <span class='line'>1138</span> </span><span class="WHIT"> </span><span class="KEYW">for</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="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">le</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.board.objectsList.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">le</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><span class="PUNC">{</span><span class="WHIT">
1146
+ <span class='line'>1139</span> </span><span class="WHIT"> </span><span class="NAME">obj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.board.objectsList</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1147
+ <span class='line'>1140</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
1148
+ <span class='line'>1141</span> </span><span class="WHIT"> </span><span class="NAME">obj.visPropCalc.visible</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
1149
+ <span class='line'>1142</span> </span><span class="WHIT"> </span><span class="NAME">obj.elType</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">"axis"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
1150
+ <span class='line'>1143</span> </span><span class="WHIT"> </span><span class="NAME">obj.elType</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">"ticks"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
1151
+ <span class='line'>1144</span> </span><span class="WHIT"> </span><span class="NAME">obj</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">this.board.infobox</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
1152
+ <span class='line'>1145</span> </span><span class="WHIT"> </span><span class="NAME">obj</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
1153
+ <span class='line'>1146</span> </span><span class="WHIT"> </span><span class="NAME">obj.hasPoint</span><span class="PUNC">(</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">
1154
+ <span class='line'>1147</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1155
+ <span class='line'>1148</span> </span><span class="WHIT"> </span><span class="NAME">count</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
1156
+ <span class='line'>1149</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1157
+ <span class='line'>1150</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1158
+ <span class='line'>1151</span> </span><span class="WHIT"> </span><span class="NAME">this.board.options.precision.hasPoint</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">savePointPrecision</span><span class="PUNC">;</span><span class="WHIT">
1159
+ <span class='line'>1152</span>
1160
+ <span class='line'>1153</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">count</span><span class="PUNC">;</span><span class="WHIT">
1161
+ <span class='line'>1154</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
1162
+ <span class='line'>1155</span>
1163
+ <span class='line'>1156</span> </span><span class="WHIT"> </span><span class="COMM">/**
1164
+ <span class='line'>1157</span> * Sets the offset of a label element to the position with the least number
1165
+ <span class='line'>1158</span> * of overlaps with other elements, while retaining the distance to its
1166
+ <span class='line'>1159</span> * anchor element. Twelve different angles are possible.
1167
+ <span class='line'>1160</span> *
1168
+ <span class='line'>1161</span> * @returns {JXG.Text} Reference to the text object.
1169
+ <span class='line'>1162</span> */</span><span class="WHIT">
1170
+ <span class='line'>1163</span> </span><span class="WHIT"> </span><span class="NAME">setAutoPosition</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1171
+ <span class='line'>1164</span> </span><span class="WHIT"> </span><span class="KEYW">var</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">cx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">cy</span><span class="PUNC">,</span><span class="WHIT">
1172
+ <span class='line'>1165</span> </span><span class="WHIT"> </span><span class="NAME">anchorCoords</span><span class="PUNC">,</span><span class="WHIT">
1173
+ <span class='line'>1166</span> </span><span class="WHIT"> </span><span class="COMM">// anchorX, anchorY,</span><span class="WHIT">
1174
+ <span class='line'>1167</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">this.size</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
1175
+ <span class='line'>1168</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">this.size</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
1176
+ <span class='line'>1169</span> </span><span class="WHIT"> </span><span class="NAME">start_angle</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">angle</span><span class="PUNC">,</span><span class="WHIT">
1177
+ <span class='line'>1170</span> </span><span class="WHIT"> </span><span class="NAME">optimum</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1178
+ <span class='line'>1171</span> </span><span class="WHIT"> </span><span class="NAME">conflicts</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">Infinity</span><span class="PUNC">,</span><span class="WHIT">
1179
+ <span class='line'>1172</span> </span><span class="WHIT"> </span><span class="NAME">angle</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
1180
+ <span class='line'>1173</span> </span><span class="WHIT"> </span><span class="NAME">r</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT">
1181
+ <span class='line'>1174</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
1182
+ <span class='line'>1175</span> </span><span class="WHIT"> </span><span class="NAME">max_r</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">delta_r</span><span class="PUNC">,</span><span class="WHIT">
1183
+ <span class='line'>1176</span> </span><span class="WHIT"> </span><span class="NAME">conflicts</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">offset</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">r</span><span class="PUNC">,</span><span class="WHIT">
1184
+ <span class='line'>1177</span> </span><span class="WHIT"> </span><span class="NAME">num_positions</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">12</span><span class="PUNC">,</span><span class="WHIT">
1185
+ <span class='line'>1178</span> </span><span class="WHIT"> </span><span class="NAME">step</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">Math.PI</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">num_positions</span><span class="PUNC">,</span><span class="WHIT">
1186
+ <span class='line'>1179</span> </span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">dx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">dy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">co</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">si</span><span class="PUNC">;</span><span class="WHIT">
1187
+ <span class='line'>1180</span>
1188
+ <span class='line'>1181</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
1189
+ <span class='line'>1182</span> </span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">this.board.infobox</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
1190
+ <span class='line'>1183</span> </span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.visPropCalc.visible</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
1191
+ <span class='line'>1184</span> </span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.visProp.islabel</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
1192
+ <span class='line'>1185</span> </span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.element</span><span class="WHIT">
1193
+ <span class='line'>1186</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1194
+ <span class='line'>1187</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">
1195
+ <span class='line'>1188</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1196
+ <span class='line'>1189</span>
1197
+ <span class='line'>1190</span> </span><span class="WHIT"> </span><span class="COMM">// anchorX = Type.evaluate(this.visProp.anchorx);</span><span class="WHIT">
1198
+ <span class='line'>1191</span> </span><span class="WHIT"> </span><span class="COMM">// anchorY = Type.evaluate(this.visProp.anchory);</span><span class="WHIT">
1199
+ <span class='line'>1192</span> </span><span class="WHIT"> </span><span class="NAME">offset</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.visProp.offset</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1200
+ <span class='line'>1193</span> </span><span class="WHIT"> </span><span class="NAME">anchorCoords</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.element.getLabelAnchor</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1201
+ <span class='line'>1194</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">anchorCoords.scrCoords</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1202
+ <span class='line'>1195</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">anchorCoords.scrCoords</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1203
+ <span class='line'>1196</span>
1204
+ <span class='line'>1197</span> </span><span class="WHIT"> </span><span class="COMM">// Set dx, dy as the relative position of the center of the label</span><span class="WHIT">
1205
+ <span class='line'>1198</span> </span><span class="WHIT"> </span><span class="COMM">// to its anchor element ignoring anchorx and anchory.</span><span class="WHIT">
1206
+ <span class='line'>1199</span> </span><span class="WHIT"> </span><span class="NAME">dx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offset</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1207
+ <span class='line'>1200</span> </span><span class="WHIT"> </span><span class="NAME">dy</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offset</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1208
+ <span class='line'>1201</span>
1209
+ <span class='line'>1202</span> </span><span class="WHIT"> </span><span class="NAME">conflicts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNumberOfConflicts</span><span class="PUNC">(</span><span class="NAME">cx</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dx</span><span class="PUNC">,</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">dy</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">h</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1210
+ <span class='line'>1203</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">conflicts</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">
1211
+ <span class='line'>1204</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">
1212
+ <span class='line'>1205</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1213
+ <span class='line'>1206</span> </span><span class="WHIT"> </span><span class="COMM">// console.log(this.id, conflicts, w, h);</span><span class="WHIT">
1214
+ <span class='line'>1207</span> </span><span class="WHIT"> </span><span class="COMM">// r = Geometry.distance([0, 0], offset, 2);</span><span class="WHIT">
1215
+ <span class='line'>1208</span>
1216
+ <span class='line'>1209</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">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.visProp.autopositionmindistance</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1217
+ <span class='line'>1210</span> </span><span class="WHIT"> </span><span class="NAME">max_r</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.evaluate</span><span class="PUNC">(</span><span class="NAME">this.visProp.autopositionmaxdistance</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1218
+ <span class='line'>1211</span> </span><span class="WHIT"> </span><span class="NAME">delta_r</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0.2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">r</span><span class="PUNC">;</span><span class="WHIT">
1219
+ <span class='line'>1212</span>
1220
+ <span class='line'>1213</span> </span><span class="WHIT"> </span><span class="NAME">start_angle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.atan2</span><span class="PUNC">(</span><span class="NAME">dy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">dx</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1221
1221
  <span class='line'>1214</span>
1222
- <span class='line'>1215</span> </span><span class="WHIT"> </span><span class="NAME">conflicts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNumberofConflicts</span><span class="PUNC">(</span><span class="NAME">cx</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">dx</span><span class="PUNC">,</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">dy</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">h</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1223
- <span class='line'>1216</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">conflicts</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">
1224
- <span class='line'>1217</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">
1225
- <span class='line'>1218</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1226
- <span class='line'>1219</span> </span><span class="WHIT"> </span><span class="COMM">// console.log(this.id, conflicts, w, h);</span><span class="WHIT">
1227
- <span class='line'>1220</span> </span><span class="WHIT"> </span><span class="COMM">// r = Geometry.distance([0, 0], offset, 2);</span><span class="WHIT">
1228
- <span class='line'>1221</span>
1229
- <span class='line'>1222</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="NUMB">12</span><span class="PUNC">;</span><span class="WHIT">
1230
- <span class='line'>1223</span> </span><span class="WHIT"> </span><span class="NAME">max_r</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">28</span><span class="PUNC">;</span><span class="WHIT">
1231
- <span class='line'>1224</span> </span><span class="WHIT"> </span><span class="NAME">delta_r</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0.2</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">r</span><span class="PUNC">;</span><span class="WHIT">
1232
- <span class='line'>1225</span>
1233
- <span class='line'>1226</span> </span><span class="WHIT"> </span><span class="NAME">start_angle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.atan2</span><span class="PUNC">(</span><span class="NAME">dy</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">dx</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1222
+ <span class='line'>1215</span> </span><span class="WHIT"> </span><span class="NAME">optimum.conflicts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">conflicts</span><span class="PUNC">;</span><span class="WHIT">
1223
+ <span class='line'>1216</span> </span><span class="WHIT"> </span><span class="NAME">optimum.angle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">start_angle</span><span class="PUNC">;</span><span class="WHIT">
1224
+ <span class='line'>1217</span> </span><span class="WHIT"> </span><span class="NAME">optimum.r</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">r</span><span class="PUNC">;</span><span class="WHIT">
1225
+ <span class='line'>1218</span>
1226
+ <span class='line'>1219</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">optimum.conflicts</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">r</span><span class="WHIT"> </span><span class="PUNC">&lt;=</span><span class="WHIT"> </span><span class="NAME">max_r</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1227
+ <span class='line'>1220</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
1228
+ <span class='line'>1221</span> </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">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">angle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">start_angle</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">step</span><span class="PUNC">;</span><span class="WHIT">
1229
+ <span class='line'>1222</span> </span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">num_positions</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">optimum.conflicts</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">
1230
+ <span class='line'>1223</span> </span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">++</span><span class="WHIT">
1231
+ <span class='line'>1224</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1232
+ <span class='line'>1225</span> </span><span class="WHIT"> </span><span class="NAME">co</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.cos</span><span class="PUNC">(</span><span class="NAME">angle</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1233
+ <span class='line'>1226</span> </span><span class="WHIT"> </span><span class="NAME">si</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.sin</span><span class="PUNC">(</span><span class="NAME">angle</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1234
1234
  <span class='line'>1227</span>
1235
- <span class='line'>1228</span> </span><span class="WHIT"> </span><span class="NAME">optimum.conflicts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">conflicts</span><span class="PUNC">;</span><span class="WHIT">
1236
- <span class='line'>1229</span> </span><span class="WHIT"> </span><span class="NAME">optimum.angle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">start_angle</span><span class="PUNC">;</span><span class="WHIT">
1237
- <span class='line'>1230</span> </span><span class="WHIT"> </span><span class="NAME">optimum.r</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">r</span><span class="PUNC">;</span><span class="WHIT">
1238
- <span class='line'>1231</span>
1239
- <span class='line'>1232</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">optimum.conflicts</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">r</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">max_r</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1240
- <span class='line'>1233</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
1241
- <span class='line'>1234</span> </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">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">angle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">start_angle</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">step</span><span class="PUNC">;</span><span class="WHIT">
1242
- <span class='line'>1235</span> </span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">num_positions</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">optimum.conflicts</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">
1243
- <span class='line'>1236</span> </span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">++</span><span class="WHIT">
1244
- <span class='line'>1237</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1245
- <span class='line'>1238</span> </span><span class="WHIT"> </span><span class="NAME">co</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.cos</span><span class="PUNC">(</span><span class="NAME">angle</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1246
- <span class='line'>1239</span> </span><span class="WHIT"> </span><span class="NAME">si</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.sin</span><span class="PUNC">(</span><span class="NAME">angle</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1247
- <span class='line'>1240</span>
1248
- <span class='line'>1241</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">cx</span><span class="WHIT"> </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">co</span><span class="PUNC">;</span><span class="WHIT">
1249
- <span class='line'>1242</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">cy</span><span class="WHIT"> </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">si</span><span class="PUNC">;</span><span class="WHIT">
1250
- <span class='line'>1243</span>
1251
- <span class='line'>1244</span> </span><span class="WHIT"> </span><span class="NAME">conflicts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNumberofConflicts</span><span class="PUNC">(</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">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">
1252
- <span class='line'>1245</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">conflicts</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">optimum.conflicts</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1253
- <span class='line'>1246</span> </span><span class="WHIT"> </span><span class="NAME">optimum.conflicts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">conflicts</span><span class="PUNC">;</span><span class="WHIT">
1254
- <span class='line'>1247</span> </span><span class="WHIT"> </span><span class="NAME">optimum.angle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">angle</span><span class="PUNC">;</span><span class="WHIT">
1255
- <span class='line'>1248</span> </span><span class="WHIT"> </span><span class="NAME">optimum.r</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">r</span><span class="PUNC">;</span><span class="WHIT">
1256
- <span class='line'>1249</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1257
- <span class='line'>1250</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">optimum.conflicts</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">
1258
- <span class='line'>1251</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
1259
- <span class='line'>1252</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1260
- <span class='line'>1253</span> </span><span class="WHIT"> </span><span class="NAME">angle</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">step</span><span class="PUNC">;</span><span class="WHIT">
1261
- <span class='line'>1254</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1262
- <span class='line'>1255</span> </span><span class="WHIT"> </span><span class="NAME">r</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">delta_r</span><span class="PUNC">;</span><span class="WHIT">
1235
+ <span class='line'>1228</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">cx</span><span class="WHIT"> </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">co</span><span class="PUNC">;</span><span class="WHIT">
1236
+ <span class='line'>1229</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">cy</span><span class="WHIT"> </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">si</span><span class="PUNC">;</span><span class="WHIT">
1237
+ <span class='line'>1230</span>
1238
+ <span class='line'>1231</span> </span><span class="WHIT"> </span><span class="NAME">conflicts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNumberOfConflicts</span><span class="PUNC">(</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">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">
1239
+ <span class='line'>1232</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">conflicts</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">optimum.conflicts</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1240
+ <span class='line'>1233</span> </span><span class="WHIT"> </span><span class="NAME">optimum.conflicts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">conflicts</span><span class="PUNC">;</span><span class="WHIT">
1241
+ <span class='line'>1234</span> </span><span class="WHIT"> </span><span class="NAME">optimum.angle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">angle</span><span class="PUNC">;</span><span class="WHIT">
1242
+ <span class='line'>1235</span> </span><span class="WHIT"> </span><span class="NAME">optimum.r</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">r</span><span class="PUNC">;</span><span class="WHIT">
1243
+ <span class='line'>1236</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1244
+ <span class='line'>1237</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">optimum.conflicts</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">
1245
+ <span class='line'>1238</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
1246
+ <span class='line'>1239</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1247
+ <span class='line'>1240</span> </span><span class="WHIT"> </span><span class="NAME">angle</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">step</span><span class="PUNC">;</span><span class="WHIT">
1248
+ <span class='line'>1241</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1249
+ <span class='line'>1242</span> </span><span class="WHIT"> </span><span class="NAME">r</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">delta_r</span><span class="PUNC">;</span><span class="WHIT">
1250
+ <span class='line'>1243</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1251
+ <span class='line'>1244</span> </span><span class="WHIT"> </span><span class="COMM">// console.log(this.id, "after", optimum)</span><span class="WHIT">
1252
+ <span class='line'>1245</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">optimum.r</span><span class="PUNC">;</span><span class="WHIT">
1253
+ <span class='line'>1246</span> </span><span class="WHIT"> </span><span class="NAME">co</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.cos</span><span class="PUNC">(</span><span class="NAME">optimum.angle</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1254
+ <span class='line'>1247</span> </span><span class="WHIT"> </span><span class="NAME">si</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.sin</span><span class="PUNC">(</span><span class="NAME">optimum.angle</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1255
+ <span class='line'>1248</span> </span><span class="WHIT"> </span><span class="NAME">this.visProp.offset</span><span class="WHIT"> </span><span class="PUNC">=</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">co</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">si</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1256
+ <span class='line'>1249</span>
1257
+ <span class='line'>1250</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">co</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">0.2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1258
+ <span class='line'>1251</span> </span><span class="WHIT"> </span><span class="NAME">this.visProp.anchorx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"right"</span><span class="PUNC">;</span><span class="WHIT">
1259
+ <span class='line'>1252</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">co</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0.2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1260
+ <span class='line'>1253</span> </span><span class="WHIT"> </span><span class="NAME">this.visProp.anchorx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">;</span><span class="WHIT">
1261
+ <span class='line'>1254</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="PUNC">{</span><span class="WHIT">
1262
+ <span class='line'>1255</span> </span><span class="WHIT"> </span><span class="NAME">this.visProp.anchorx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"middle"</span><span class="PUNC">;</span><span class="WHIT">
1263
1263
  <span class='line'>1256</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1264
- <span class='line'>1257</span> </span><span class="WHIT"> </span><span class="COMM">// console.log(this.id, "after", optimum)</span><span class="WHIT">
1265
- <span class='line'>1258</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">optimum.r</span><span class="PUNC">;</span><span class="WHIT">
1266
- <span class='line'>1259</span> </span><span class="WHIT"> </span><span class="NAME">co</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.cos</span><span class="PUNC">(</span><span class="NAME">optimum.angle</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1267
- <span class='line'>1260</span> </span><span class="WHIT"> </span><span class="NAME">si</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.sin</span><span class="PUNC">(</span><span class="NAME">optimum.angle</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1268
- <span class='line'>1261</span> </span><span class="WHIT"> </span><span class="NAME">this.visProp.offset</span><span class="WHIT"> </span><span class="PUNC">=</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">co</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">si</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1264
+ <span class='line'>1257</span>
1265
+ <span class='line'>1258</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">
1266
+ <span class='line'>1259</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1267
+ <span class='line'>1260</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1268
+ <span class='line'>1261</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1269
1269
  <span class='line'>1262</span>
1270
- <span class='line'>1263</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">co</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">0.2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1271
- <span class='line'>1264</span> </span><span class="WHIT"> </span><span class="NAME">this.visProp.anchorx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"right"</span><span class="PUNC">;</span><span class="WHIT">
1272
- <span class='line'>1265</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">co</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0.2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1273
- <span class='line'>1266</span> </span><span class="WHIT"> </span><span class="NAME">this.visProp.anchorx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">;</span><span class="WHIT">
1274
- <span class='line'>1267</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="PUNC">{</span><span class="WHIT">
1275
- <span class='line'>1268</span> </span><span class="WHIT"> </span><span class="NAME">this.visProp.anchorx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"middle"</span><span class="PUNC">;</span><span class="WHIT">
1276
- <span class='line'>1269</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1277
- <span class='line'>1270</span>
1278
- <span class='line'>1271</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">
1279
- <span class='line'>1272</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1280
- <span class='line'>1273</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1281
- <span class='line'>1274</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1282
- <span class='line'>1275</span>
1283
- <span class='line'>1276</span> </span><span class="COMM">/**
1284
- <span class='line'>1277</span> * @class Construct and handle texts.
1285
- <span class='line'>1278</span> *
1286
- <span class='line'>1279</span> * The coordinates can either be abslute (i.e. respective to the coordinate system of the board) or be relative to the coordinates of an element
1287
- <span class='line'>1280</span> * given in {@link Text#anchor}.
1288
- <span class='line'>1281</span> * &lt;p>
1289
- <span class='line'>1282</span> * HTML, MathJaX, KaTeX and GEONExT syntax can be handled.
1290
- <span class='line'>1283</span> * &lt;p>
1291
- <span class='line'>1284</span> * There are two ways to display texts:
1292
- <span class='line'>1285</span> * &lt;ul>
1293
- <span class='line'>1286</span> * &lt;li> using the text element of the renderer (canvas or svg). In most cases this is the suitable approach if speed matters.
1294
- <span class='line'>1287</span> * However, advanced rendering like MathJax, KaTeX or HTML/CSS are not possible.
1295
- <span class='line'>1288</span> * &lt;li> using HTML &lt;div&gt;. This is the most flexible approach. The drawback is that HTML can only be display "above" the geometry elements.
1296
- <span class='line'>1289</span> * If HTML should be displayed in an inbetween layer, conder to use an element of type {@link ForeignObject} (available in svg renderer, only).
1297
- <span class='line'>1290</span> * &lt;/ul>
1298
- <span class='line'>1291</span> * @pseudo
1299
- <span class='line'>1292</span> * @description
1300
- <span class='line'>1293</span> * @name Text
1301
- <span class='line'>1294</span> * @augments JXG.Text
1302
- <span class='line'>1295</span> * @constructor
1303
- <span class='line'>1296</span> * @type JXG.Text
1304
- <span class='line'>1297</span> *
1305
- <span class='line'>1298</span> * @param {number,function_number,function_number,function_String,function} z_,x,y,str Parent elements for text elements.
1306
- <span class='line'>1299</span> * &lt;p>
1307
- <span class='line'>1300</span> * Parent elements can be two or three elements of type number, a string containing a GEONE&lt;sub>x&lt;/sub>T
1308
- <span class='line'>1301</span> * constraint, or a function which takes no parameter and returns a number. Every parent element beside the last determines one coordinate.
1309
- <span class='line'>1302</span> * If a coordinate is
1310
- <span class='line'>1303</span> * given by a number, the number determines the initial position of a free text. If given by a string or a function that coordinate will be constrained
1311
- <span class='line'>1304</span> * that means the user won't be able to change the texts's position directly by mouse because it will be calculated automatically depending on the string
1312
- <span class='line'>1305</span> * or the function's return value. If two parent elements are given the coordinates will be interpreted as 2D affine Euclidean coordinates, if three such
1313
- <span class='line'>1306</span> * parent elements are given they will be interpreted as homogeneous coordinates.
1314
- <span class='line'>1307</span> * &lt;p>
1315
- <span class='line'>1308</span> * The text to display may be given as string or as function returning a string.
1316
- <span class='line'>1309</span> *
1317
- <span class='line'>1310</span> * There is the attribute 'display' which takes the values 'html' or 'internal'. In case of 'html' an HTML division tag is created to display
1318
- <span class='line'>1311</span> * the text. In this case it is also possible to use MathJax, KaTeX, or ASCIIMathML. If neither of these is used, basic Math rendering is
1319
- <span class='line'>1312</span> * applied.
1320
- <span class='line'>1313</span> * &lt;p>
1321
- <span class='line'>1314</span> * In case of 'internal', an SVG text element is used to display the text.
1322
- <span class='line'>1315</span> * @see JXG.Text
1323
- <span class='line'>1316</span> * @example
1324
- <span class='line'>1317</span> * // Create a fixed text at position [0,1].
1325
- <span class='line'>1318</span> * var t1 = board.create('text',[0,1,"Hello World"]);
1326
- <span class='line'>1319</span> * &lt;/pre>&lt;div class="jxgbox" id="JXG896013aa-f24e-4e83-ad50-7bc7df23f6b7" style="width: 300px; height: 300px;">&lt;/div>
1270
+ <span class='line'>1263</span> </span><span class="COMM">/**
1271
+ <span class='line'>1264</span> * @class Construct and handle texts.
1272
+ <span class='line'>1265</span> *
1273
+ <span class='line'>1266</span> * The coordinates can either be abslute (i.e. respective to the coordinate system of the board) or be relative to the coordinates of an element
1274
+ <span class='line'>1267</span> * given in {@link Text#anchor}.
1275
+ <span class='line'>1268</span> * &lt;p>
1276
+ <span class='line'>1269</span> * HTML, MathJaX, KaTeX and GEONExT syntax can be handled.
1277
+ <span class='line'>1270</span> * &lt;p>
1278
+ <span class='line'>1271</span> * There are two ways to display texts:
1279
+ <span class='line'>1272</span> * &lt;ul>
1280
+ <span class='line'>1273</span> * &lt;li> using the text element of the renderer (canvas or svg). In most cases this is the suitable approach if speed matters.
1281
+ <span class='line'>1274</span> * However, advanced rendering like MathJax, KaTeX or HTML/CSS are not possible.
1282
+ <span class='line'>1275</span> * &lt;li> using HTML &lt;div&gt;. This is the most flexible approach. The drawback is that HTML can only be display "above" the geometry elements.
1283
+ <span class='line'>1276</span> * If HTML should be displayed in an inbetween layer, conder to use an element of type {@link ForeignObject} (available in svg renderer, only).
1284
+ <span class='line'>1277</span> * &lt;/ul>
1285
+ <span class='line'>1278</span> * @pseudo
1286
+ <span class='line'>1279</span> * @description
1287
+ <span class='line'>1280</span> * @name Text
1288
+ <span class='line'>1281</span> * @augments JXG.Text
1289
+ <span class='line'>1282</span> * @constructor
1290
+ <span class='line'>1283</span> * @type JXG.Text
1291
+ <span class='line'>1284</span> *
1292
+ <span class='line'>1285</span> * @param {number,function_number,function_number,function_String,function} z_,x,y,str Parent elements for text elements.
1293
+ <span class='line'>1286</span> * &lt;p>
1294
+ <span class='line'>1287</span> * Parent elements can be two or three elements of type number, a string containing a GEONE&lt;sub>x&lt;/sub>T
1295
+ <span class='line'>1288</span> * constraint, or a function which takes no parameter and returns a number. Every parent element beside the last determines one coordinate.
1296
+ <span class='line'>1289</span> * If a coordinate is
1297
+ <span class='line'>1290</span> * given by a number, the number determines the initial position of a free text. If given by a string or a function that coordinate will be constrained
1298
+ <span class='line'>1291</span> * that means the user won't be able to change the texts's position directly by mouse because it will be calculated automatically depending on the string
1299
+ <span class='line'>1292</span> * or the function's return value. If two parent elements are given the coordinates will be interpreted as 2D affine Euclidean coordinates, if three such
1300
+ <span class='line'>1293</span> * parent elements are given they will be interpreted as homogeneous coordinates.
1301
+ <span class='line'>1294</span> * &lt;p>
1302
+ <span class='line'>1295</span> * The text to display may be given as string or as function returning a string.
1303
+ <span class='line'>1296</span> *
1304
+ <span class='line'>1297</span> * There is the attribute 'display' which takes the values 'html' or 'internal'. In case of 'html' an HTML division tag is created to display
1305
+ <span class='line'>1298</span> * the text. In this case it is also possible to use MathJax, KaTeX, or ASCIIMathML. If neither of these is used, basic Math rendering is
1306
+ <span class='line'>1299</span> * applied.
1307
+ <span class='line'>1300</span> * &lt;p>
1308
+ <span class='line'>1301</span> * In case of 'internal', an SVG text element is used to display the text.
1309
+ <span class='line'>1302</span> * @see JXG.Text
1310
+ <span class='line'>1303</span> * @example
1311
+ <span class='line'>1304</span> * // Create a fixed text at position [0,1].
1312
+ <span class='line'>1305</span> * var t1 = board.create('text',[0,1,"Hello World"]);
1313
+ <span class='line'>1306</span> * &lt;/pre>&lt;div class="jxgbox" id="JXG896013aa-f24e-4e83-ad50-7bc7df23f6b7" style="width: 300px; height: 300px;">&lt;/div>
1314
+ <span class='line'>1307</span> * &lt;script type="text/javascript">
1315
+ <span class='line'>1308</span> * var t1_board = JXG.JSXGraph.initBoard('JXG896013aa-f24e-4e83-ad50-7bc7df23f6b7', {boundingbox: [-3, 6, 5, -3], axis: true, showcopyright: false, shownavigation: false});
1316
+ <span class='line'>1309</span> * var t1 = t1_board.create('text',[0,1,"Hello World"]);
1317
+ <span class='line'>1310</span> * &lt;/script>&lt;pre>
1318
+ <span class='line'>1311</span> * @example
1319
+ <span class='line'>1312</span> * // Create a variable text at a variable position.
1320
+ <span class='line'>1313</span> * var s = board.create('slider',[[0,4],[3,4],[-2,0,2]]);
1321
+ <span class='line'>1314</span> * var graph = board.create('text',
1322
+ <span class='line'>1315</span> * [function(x){ return s.Value();}, 1,
1323
+ <span class='line'>1316</span> * function(){return "The value of s is"+JXG.toFixed(s.Value(), 2);}
1324
+ <span class='line'>1317</span> * ]
1325
+ <span class='line'>1318</span> * );
1326
+ <span class='line'>1319</span> * &lt;/pre>&lt;div class="jxgbox" id="JXG5441da79-a48d-48e8-9e53-75594c384a1c" style="width: 300px; height: 300px;">&lt;/div>
1327
1327
  <span class='line'>1320</span> * &lt;script type="text/javascript">
1328
- <span class='line'>1321</span> * var t1_board = JXG.JSXGraph.initBoard('JXG896013aa-f24e-4e83-ad50-7bc7df23f6b7', {boundingbox: [-3, 6, 5, -3], axis: true, showcopyright: false, shownavigation: false});
1329
- <span class='line'>1322</span> * var t1 = t1_board.create('text',[0,1,"Hello World"]);
1330
- <span class='line'>1323</span> * &lt;/script>&lt;pre>
1331
- <span class='line'>1324</span> * @example
1332
- <span class='line'>1325</span> * // Create a variable text at a variable position.
1333
- <span class='line'>1326</span> * var s = board.create('slider',[[0,4],[3,4],[-2,0,2]]);
1334
- <span class='line'>1327</span> * var graph = board.create('text',
1335
- <span class='line'>1328</span> * [function(x){ return s.Value();}, 1,
1336
- <span class='line'>1329</span> * function(){return "The value of s is"+JXG.toFixed(s.Value(), 2);}
1337
- <span class='line'>1330</span> * ]
1338
- <span class='line'>1331</span> * );
1339
- <span class='line'>1332</span> * &lt;/pre>&lt;div class="jxgbox" id="JXG5441da79-a48d-48e8-9e53-75594c384a1c" style="width: 300px; height: 300px;">&lt;/div>
1340
- <span class='line'>1333</span> * &lt;script type="text/javascript">
1341
- <span class='line'>1334</span> * var t2_board = JXG.JSXGraph.initBoard('JXG5441da79-a48d-48e8-9e53-75594c384a1c', {boundingbox: [-3, 6, 5, -3], axis: true, showcopyright: false, shownavigation: false});
1342
- <span class='line'>1335</span> * var s = t2_board.create('slider',[[0,4],[3,4],[-2,0,2]]);
1343
- <span class='line'>1336</span> * var t2 = t2_board.create('text',[function(x){ return s.Value();}, 1, function(){return "The value of s is "+JXG.toFixed(s.Value(), 2);}]);
1344
- <span class='line'>1337</span> * &lt;/script>&lt;pre>
1345
- <span class='line'>1338</span> * @example
1346
- <span class='line'>1339</span> * // Create a text bound to the point A
1347
- <span class='line'>1340</span> * var p = board.create('point',[0, 1]),
1348
- <span class='line'>1341</span> * t = board.create('text',[0, -1,"Hello World"], {anchor: p});
1349
- <span class='line'>1342</span> *
1350
- <span class='line'>1343</span> * &lt;/pre>&lt;div class="jxgbox" id="JXGff5a64b2-2b9a-11e5-8dd9-901b0e1b8723" style="width: 300px; height: 300px;">&lt;/div>
1351
- <span class='line'>1344</span> * &lt;script type="text/javascript">
1352
- <span class='line'>1345</span> * (function() {
1353
- <span class='line'>1346</span> * var board = JXG.JSXGraph.initBoard('JXGff5a64b2-2b9a-11e5-8dd9-901b0e1b8723',
1354
- <span class='line'>1347</span> * {boundingbox: [-8, 8, 8,-8], axis: true, showcopyright: false, shownavigation: false});
1355
- <span class='line'>1348</span> * var p = board.create('point',[0, 1]),
1356
- <span class='line'>1349</span> * t = board.create('text',[0, -1,"Hello World"], {anchor: p});
1357
- <span class='line'>1350</span> *
1358
- <span class='line'>1351</span> * })();
1359
- <span class='line'>1352</span> *
1360
- <span class='line'>1353</span> * &lt;/script>&lt;pre>
1361
- <span class='line'>1354</span> *
1362
- <span class='line'>1355</span> */</span><span class="WHIT">
1363
- <span class='line'>1356</span> </span><span class="NAME">JXG.createText</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attributes</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1364
- <span class='line'>1357</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">,</span><span class="WHIT">
1365
- <span class='line'>1358</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"text"</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
1366
- <span class='line'>1359</span> </span><span class="WHIT"> </span><span class="NAME">coords</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents.slice</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
1367
- <span class='line'>1360</span> </span><span class="WHIT"> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NAME">parents.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">
1368
- <span class='line'>1361</span>
1369
- <span class='line'>1362</span> </span><span class="WHIT"> </span><span class="COMM">// downwards compatibility</span><span class="WHIT">
1370
- <span class='line'>1363</span> </span><span class="WHIT"> </span><span class="NAME">attr.anchor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr.parent</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">attr.anchor</span><span class="PUNC">;</span><span class="WHIT">
1371
- <span class='line'>1364</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">CoordsElement.create</span><span class="PUNC">(</span><span class="NAME">JXG.Text</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">coords</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1372
- <span class='line'>1365</span>
1373
- <span class='line'>1366</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">t</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1374
- <span class='line'>1367</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="WHIT">
1375
- <span class='line'>1368</span> </span><span class="WHIT"> </span><span class="STRN">"JSXGraph: Can't create text with parent types '"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1376
- <span class='line'>1369</span> </span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">parents</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">
1377
- <span class='line'>1370</span> </span><span class="WHIT"> </span><span class="STRN">"' and '"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1378
- <span class='line'>1371</span> </span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1379
- <span class='line'>1372</span> </span><span class="WHIT"> </span><span class="STRN">"'."</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1380
- <span class='line'>1373</span> </span><span class="WHIT"> </span><span class="STRN">"\nPossible parent types: [x,y], [z,x,y], [element,transformation]"</span><span class="WHIT">
1381
- <span class='line'>1374</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1382
- <span class='line'>1375</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1383
- <span class='line'>1376</span>
1384
- <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">attr.rotate</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">
1385
- <span class='line'>1378</span> </span><span class="WHIT"> </span><span class="COMM">// This is the default value, i.e. no rotation</span><span class="WHIT">
1386
- <span class='line'>1379</span> </span><span class="WHIT"> </span><span class="NAME">t.addRotation</span><span class="PUNC">(</span><span class="NAME">attr.rotate</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1387
- <span class='line'>1380</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1388
- <span class='line'>1381</span>
1389
- <span class='line'>1382</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">;</span><span class="WHIT">
1390
- <span class='line'>1383</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
1391
- <span class='line'>1384</span>
1392
- <span class='line'>1385</span> </span><span class="NAME">JXG.registerElement</span><span class="PUNC">(</span><span class="STRN">"text"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">JXG.createText</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1328
+ <span class='line'>1321</span> * var t2_board = JXG.JSXGraph.initBoard('JXG5441da79-a48d-48e8-9e53-75594c384a1c', {boundingbox: [-3, 6, 5, -3], axis: true, showcopyright: false, shownavigation: false});
1329
+ <span class='line'>1322</span> * var s = t2_board.create('slider',[[0,4],[3,4],[-2,0,2]]);
1330
+ <span class='line'>1323</span> * var t2 = t2_board.create('text',[function(x){ return s.Value();}, 1, function(){return "The value of s is "+JXG.toFixed(s.Value(), 2);}]);
1331
+ <span class='line'>1324</span> * &lt;/script>&lt;pre>
1332
+ <span class='line'>1325</span> * @example
1333
+ <span class='line'>1326</span> * // Create a text bound to the point A
1334
+ <span class='line'>1327</span> * var p = board.create('point',[0, 1]),
1335
+ <span class='line'>1328</span> * t = board.create('text',[0, -1,"Hello World"], {anchor: p});
1336
+ <span class='line'>1329</span> *
1337
+ <span class='line'>1330</span> * &lt;/pre>&lt;div class="jxgbox" id="JXGff5a64b2-2b9a-11e5-8dd9-901b0e1b8723" style="width: 300px; height: 300px;">&lt;/div>
1338
+ <span class='line'>1331</span> * &lt;script type="text/javascript">
1339
+ <span class='line'>1332</span> * (function() {
1340
+ <span class='line'>1333</span> * var board = JXG.JSXGraph.initBoard('JXGff5a64b2-2b9a-11e5-8dd9-901b0e1b8723',
1341
+ <span class='line'>1334</span> * {boundingbox: [-8, 8, 8,-8], axis: true, showcopyright: false, shownavigation: false});
1342
+ <span class='line'>1335</span> * var p = board.create('point',[0, 1]),
1343
+ <span class='line'>1336</span> * t = board.create('text',[0, -1,"Hello World"], {anchor: p});
1344
+ <span class='line'>1337</span> *
1345
+ <span class='line'>1338</span> * })();
1346
+ <span class='line'>1339</span> *
1347
+ <span class='line'>1340</span> * &lt;/script>&lt;pre>
1348
+ <span class='line'>1341</span> *
1349
+ <span class='line'>1342</span> */</span><span class="WHIT">
1350
+ <span class='line'>1343</span> </span><span class="NAME">JXG.createText</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attributes</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1351
+ <span class='line'>1344</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">,</span><span class="WHIT">
1352
+ <span class='line'>1345</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"text"</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
1353
+ <span class='line'>1346</span> </span><span class="WHIT"> </span><span class="NAME">coords</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents.slice</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
1354
+ <span class='line'>1347</span> </span><span class="WHIT"> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NAME">parents.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">
1355
+ <span class='line'>1348</span>
1356
+ <span class='line'>1349</span> </span><span class="WHIT"> </span><span class="COMM">// downwards compatibility</span><span class="WHIT">
1357
+ <span class='line'>1350</span> </span><span class="WHIT"> </span><span class="NAME">attr.anchor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr.parent</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">attr.anchor</span><span class="PUNC">;</span><span class="WHIT">
1358
+ <span class='line'>1351</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">CoordsElement.create</span><span class="PUNC">(</span><span class="NAME">JXG.Text</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">coords</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1359
+ <span class='line'>1352</span>
1360
+ <span class='line'>1353</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">t</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1361
+ <span class='line'>1354</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="WHIT">
1362
+ <span class='line'>1355</span> </span><span class="WHIT"> </span><span class="STRN">"JSXGraph: Can't create text with parent types '"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1363
+ <span class='line'>1356</span> </span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">parents</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">
1364
+ <span class='line'>1357</span> </span><span class="WHIT"> </span><span class="STRN">"' and '"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1365
+ <span class='line'>1358</span> </span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1366
+ <span class='line'>1359</span> </span><span class="WHIT"> </span><span class="STRN">"'."</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1367
+ <span class='line'>1360</span> </span><span class="WHIT"> </span><span class="STRN">"\nPossible parent types: [x,y], [z,x,y], [element,transformation]"</span><span class="WHIT">
1368
+ <span class='line'>1361</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1369
+ <span class='line'>1362</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1370
+ <span class='line'>1363</span>
1371
+ <span class='line'>1364</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">attr.rotate</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">
1372
+ <span class='line'>1365</span> </span><span class="WHIT"> </span><span class="COMM">// This is the default value, i.e. no rotation</span><span class="WHIT">
1373
+ <span class='line'>1366</span> </span><span class="WHIT"> </span><span class="NAME">t.addRotation</span><span class="PUNC">(</span><span class="NAME">attr.rotate</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1374
+ <span class='line'>1367</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1375
+ <span class='line'>1368</span>
1376
+ <span class='line'>1369</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">;</span><span class="WHIT">
1377
+ <span class='line'>1370</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
1378
+ <span class='line'>1371</span>
1379
+ <span class='line'>1372</span> </span><span class="NAME">JXG.registerElement</span><span class="PUNC">(</span><span class="STRN">"text"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">JXG.createText</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1380
+ <span class='line'>1373</span>
1381
+ <span class='line'>1374</span> </span><span class="COMM">/**
1382
+ <span class='line'>1375</span> * @class Labels are text objects tied to other elements like points, lines and curves.
1383
+ <span class='line'>1376</span> * Labels are handled internally by JSXGraph, only. There is NO constructor "board.create('label', ...)".
1384
+ <span class='line'>1377</span> *
1385
+ <span class='line'>1378</span> * @pseudo
1386
+ <span class='line'>1379</span> * @description
1387
+ <span class='line'>1380</span> * @name Label
1388
+ <span class='line'>1381</span> * @augments JXG.Text
1389
+ <span class='line'>1382</span> * @constructor
1390
+ <span class='line'>1383</span> * @type JXG.Text
1391
+ <span class='line'>1384</span> */</span><span class="WHIT">
1392
+ <span class='line'>1385</span> </span><span class="COMM">// See element.js#createLabel</span><span class="WHIT">
1393
1393
  <span class='line'>1386</span>
1394
1394
  <span class='line'>1387</span> </span><span class="COMM">/**
1395
- <span class='line'>1388</span> * @class Labels are text objects tied to other elements like points, lines and curves.
1396
- <span class='line'>1389</span> * Labels are handled internally by JSXGraph, only. There is NO constructor "board.create('label', ...)".
1397
- <span class='line'>1390</span> *
1398
- <span class='line'>1391</span> * @pseudo
1399
- <span class='line'>1392</span> * @description
1400
- <span class='line'>1393</span> * @name Label
1401
- <span class='line'>1394</span> * @augments JXG.Text
1402
- <span class='line'>1395</span> * @constructor
1403
- <span class='line'>1396</span> * @type JXG.Text
1404
- <span class='line'>1397</span> */</span><span class="WHIT">
1405
- <span class='line'>1398</span> </span><span class="COMM">// See element.js#createLabel</span><span class="WHIT">
1406
- <span class='line'>1399</span>
1407
- <span class='line'>1400</span> </span><span class="COMM">/**
1408
- <span class='line'>1401</span> * [[x,y], [w px, h px], [range]
1409
- <span class='line'>1402</span> */</span><span class="WHIT">
1410
- <span class='line'>1403</span> </span><span class="NAME">JXG.createHTMLSlider</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attributes</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1411
- <span class='line'>1404</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">,</span><span class="WHIT">
1412
- <span class='line'>1405</span> </span><span class="WHIT"> </span><span class="NAME">par</span><span class="PUNC">,</span><span class="WHIT">
1413
- <span class='line'>1406</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"htmlslider"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1414
- <span class='line'>1407</span>
1415
- <span class='line'>1408</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">parents.length</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">parents</span><span class="PUNC">[</span><span class="NUMB">0</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="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</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">3</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1416
- <span class='line'>1409</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="WHIT">
1417
- <span class='line'>1410</span> </span><span class="WHIT"> </span><span class="STRN">"JSXGraph: Can't create htmlslider with parent types '"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1418
- <span class='line'>1411</span> </span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">parents</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">
1419
- <span class='line'>1412</span> </span><span class="WHIT"> </span><span class="STRN">"' and '"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1420
- <span class='line'>1413</span> </span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1421
- <span class='line'>1414</span> </span><span class="WHIT"> </span><span class="STRN">"'."</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1422
- <span class='line'>1415</span> </span><span class="WHIT"> </span><span class="STRN">"\nPossible parents are: [[x,y], [min, start, max]]"</span><span class="WHIT">
1423
- <span class='line'>1416</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1424
- <span class='line'>1417</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1425
- <span class='line'>1418</span>
1426
- <span class='line'>1419</span> </span><span class="WHIT"> </span><span class="COMM">// backwards compatibility</span><span class="WHIT">
1427
- <span class='line'>1420</span> </span><span class="WHIT"> </span><span class="NAME">attr.anchor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr.parent</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">attr.anchor</span><span class="PUNC">;</span><span class="WHIT">
1428
- <span class='line'>1421</span> </span><span class="WHIT"> </span><span class="NAME">attr.fixed</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr.fixed</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
1395
+ <span class='line'>1388</span> * [[x,y], [w px, h px], [range]
1396
+ <span class='line'>1389</span> */</span><span class="WHIT">
1397
+ <span class='line'>1390</span> </span><span class="NAME">JXG.createHTMLSlider</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attributes</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1398
+ <span class='line'>1391</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">,</span><span class="WHIT">
1399
+ <span class='line'>1392</span> </span><span class="WHIT"> </span><span class="NAME">par</span><span class="PUNC">,</span><span class="WHIT">
1400
+ <span class='line'>1393</span> </span><span class="WHIT"> </span><span class="NAME">attr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.copyAttributes</span><span class="PUNC">(</span><span class="NAME">attributes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">board.options</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"htmlslider"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1401
+ <span class='line'>1394</span>
1402
+ <span class='line'>1395</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">parents.length</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">parents</span><span class="PUNC">[</span><span class="NUMB">0</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="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</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">3</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1403
+ <span class='line'>1396</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="WHIT">
1404
+ <span class='line'>1397</span> </span><span class="WHIT"> </span><span class="STRN">"JSXGraph: Can't create htmlslider with parent types '"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1405
+ <span class='line'>1398</span> </span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">parents</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">
1406
+ <span class='line'>1399</span> </span><span class="WHIT"> </span><span class="STRN">"' and '"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1407
+ <span class='line'>1400</span> </span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1408
+ <span class='line'>1401</span> </span><span class="WHIT"> </span><span class="STRN">"'."</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1409
+ <span class='line'>1402</span> </span><span class="WHIT"> </span><span class="STRN">"\nPossible parents are: [[x,y], [min, start, max]]"</span><span class="WHIT">
1410
+ <span class='line'>1403</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1411
+ <span class='line'>1404</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1412
+ <span class='line'>1405</span>
1413
+ <span class='line'>1406</span> </span><span class="WHIT"> </span><span class="COMM">// backwards compatibility</span><span class="WHIT">
1414
+ <span class='line'>1407</span> </span><span class="WHIT"> </span><span class="NAME">attr.anchor</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr.parent</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">attr.anchor</span><span class="PUNC">;</span><span class="WHIT">
1415
+ <span class='line'>1408</span> </span><span class="WHIT"> </span><span class="NAME">attr.fixed</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr.fixed</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
1416
+ <span class='line'>1409</span>
1417
+ <span class='line'>1410</span> </span><span class="WHIT"> </span><span class="NAME">par</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
1418
+ <span class='line'>1411</span> </span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
1419
+ <span class='line'>1412</span> </span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
1420
+ <span class='line'>1413</span> </span><span class="WHIT"> </span><span class="STRN">'&lt;form style="display:inline">'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1421
+ <span class='line'>1414</span> </span><span class="WHIT"> </span><span class="STRN">'&lt;input type="range" />&lt;span>&lt;/span>&lt;input type="text" />'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1422
+ <span class='line'>1415</span> </span><span class="WHIT"> </span><span class="STRN">"&lt;/form>"</span><span class="WHIT">
1423
+ <span class='line'>1416</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1424
+ <span class='line'>1417</span>
1425
+ <span class='line'>1418</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">JXG.createText</span><span class="PUNC">(</span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">par</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1426
+ <span class='line'>1419</span> </span><span class="WHIT"> </span><span class="NAME">t.type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.OBJECT_TYPE_HTMLSLIDER</span><span class="PUNC">;</span><span class="WHIT">
1427
+ <span class='line'>1420</span>
1428
+ <span class='line'>1421</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeForm</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNode.childNodes</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1429
1429
  <span class='line'>1422</span>
1430
- <span class='line'>1423</span> </span><span class="WHIT"> </span><span class="NAME">par</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
1431
- <span class='line'>1424</span> </span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
1432
- <span class='line'>1425</span> </span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
1433
- <span class='line'>1426</span> </span><span class="WHIT"> </span><span class="STRN">'&lt;form style="display:inline">'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1434
- <span class='line'>1427</span> </span><span class="WHIT"> </span><span class="STRN">'&lt;input type="range" />&lt;span>&lt;/span>&lt;input type="text" />'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
1435
- <span class='line'>1428</span> </span><span class="WHIT"> </span><span class="STRN">"&lt;/form>"</span><span class="WHIT">
1436
- <span class='line'>1429</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1437
- <span class='line'>1430</span>
1438
- <span class='line'>1431</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">JXG.createText</span><span class="PUNC">(</span><span class="NAME">board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">par</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">attr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1439
- <span class='line'>1432</span> </span><span class="WHIT"> </span><span class="NAME">t.type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Type.OBJECT_TYPE_HTMLSLIDER</span><span class="PUNC">;</span><span class="WHIT">
1440
- <span class='line'>1433</span>
1441
- <span class='line'>1434</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeForm</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNode.childNodes</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1430
+ <span class='line'>1423</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNodeForm.childNodes</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1431
+ <span class='line'>1424</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.min</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1432
+ <span class='line'>1425</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.max</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1433
+ <span class='line'>1426</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.step</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr.step</span><span class="PUNC">;</span><span class="WHIT">
1434
+ <span class='line'>1427</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.value</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1435
+ <span class='line'>1428</span>
1436
+ <span class='line'>1429</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeLabel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNodeForm.childNodes</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1437
+ <span class='line'>1430</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeLabel.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNode.id</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_label"</span><span class="PUNC">;</span><span class="WHIT">
1438
+ <span class='line'>1431</span>
1439
+ <span class='line'>1432</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">attr.withlabel</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1440
+ <span class='line'>1433</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeLabel.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"="</span><span class="PUNC">;</span><span class="WHIT">
1441
+ <span class='line'>1434</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1442
1442
  <span class='line'>1435</span>
1443
- <span class='line'>1436</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNodeForm.childNodes</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1444
- <span class='line'>1437</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.min</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1445
- <span class='line'>1438</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.max</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1446
- <span class='line'>1439</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.step</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr.step</span><span class="PUNC">;</span><span class="WHIT">
1447
- <span class='line'>1440</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.value</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1448
- <span class='line'>1441</span>
1449
- <span class='line'>1442</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeLabel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNodeForm.childNodes</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1450
- <span class='line'>1443</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeLabel.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNode.id</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_label"</span><span class="PUNC">;</span><span class="WHIT">
1451
- <span class='line'>1444</span>
1452
- <span class='line'>1445</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">attr.withlabel</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1453
- <span class='line'>1446</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeLabel.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"="</span><span class="PUNC">;</span><span class="WHIT">
1454
- <span class='line'>1447</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1455
- <span class='line'>1448</span>
1456
- <span class='line'>1449</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeOut</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNodeForm.childNodes</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1457
- <span class='line'>1450</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeOut.value</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1458
- <span class='line'>1451</span>
1459
- <span class='line'>1452</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1460
- <span class='line'>1453</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeForm.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNode.id</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_form"</span><span class="PUNC">;</span><span class="WHIT">
1461
- <span class='line'>1454</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNode.id</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_range"</span><span class="PUNC">;</span><span class="WHIT">
1462
- <span class='line'>1455</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeOut.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNode.id</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_out"</span><span class="PUNC">;</span><span class="WHIT">
1463
- <span class='line'>1456</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1464
- <span class='line'>1457</span> </span><span class="WHIT"> </span><span class="NAME">JXG.debug</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1465
- <span class='line'>1458</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1466
- <span class='line'>1459</span>
1467
- <span class='line'>1460</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr.widthrange</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
1468
- <span class='line'>1461</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.style.verticalAlign</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"middle"</span><span class="PUNC">;</span><span class="WHIT">
1469
- <span class='line'>1462</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeOut.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr.widthout</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
1470
- <span class='line'>1463</span>
1471
- <span class='line'>1464</span> </span><span class="WHIT"> </span><span class="NAME">t._val</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1443
+ <span class='line'>1436</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeOut</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNodeForm.childNodes</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1444
+ <span class='line'>1437</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeOut.value</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1445
+ <span class='line'>1438</span>
1446
+ <span class='line'>1439</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1447
+ <span class='line'>1440</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeForm.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNode.id</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_form"</span><span class="PUNC">;</span><span class="WHIT">
1448
+ <span class='line'>1441</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNode.id</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_range"</span><span class="PUNC">;</span><span class="WHIT">
1449
+ <span class='line'>1442</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeOut.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t.rendNode.id</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"_out"</span><span class="PUNC">;</span><span class="WHIT">
1450
+ <span class='line'>1443</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1451
+ <span class='line'>1444</span> </span><span class="WHIT"> </span><span class="NAME">JXG.debug</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1452
+ <span class='line'>1445</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1453
+ <span class='line'>1446</span>
1454
+ <span class='line'>1447</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr.widthrange</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
1455
+ <span class='line'>1448</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeRange.style.verticalAlign</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"middle"</span><span class="PUNC">;</span><span class="WHIT">
1456
+ <span class='line'>1449</span> </span><span class="WHIT"> </span><span class="NAME">t.rendNodeOut.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">attr.widthout</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
1457
+ <span class='line'>1450</span>
1458
+ <span class='line'>1451</span> </span><span class="WHIT"> </span><span class="NAME">t._val</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parents</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
1459
+ <span class='line'>1452</span>
1460
+ <span class='line'>1453</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">JXG.supportsVML</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1461
+ <span class='line'>1454</span> </span><span class="WHIT"> </span><span class="COMM">/*
1462
+ <span class='line'>1455</span> * OnChange event is used for IE browsers
1463
+ <span class='line'>1456</span> * The range element is supported since IE10
1464
+ <span class='line'>1457</span> */</span><span class="WHIT">
1465
+ <span class='line'>1458</span> </span><span class="WHIT"> </span><span class="NAME">Env.addEvent</span><span class="PUNC">(</span><span class="NAME">t.rendNodeForm</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"change"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">priv.HTMLSliderInputEventHandler</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1466
+ <span class='line'>1459</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="PUNC">{</span><span class="WHIT">
1467
+ <span class='line'>1460</span> </span><span class="WHIT"> </span><span class="COMM">/*
1468
+ <span class='line'>1461</span> * OnInput event is used for non-IE browsers
1469
+ <span class='line'>1462</span> */</span><span class="WHIT">
1470
+ <span class='line'>1463</span> </span><span class="WHIT"> </span><span class="NAME">Env.addEvent</span><span class="PUNC">(</span><span class="NAME">t.rendNodeForm</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"input"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">priv.HTMLSliderInputEventHandler</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1471
+ <span class='line'>1464</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1472
1472
  <span class='line'>1465</span>
1473
- <span class='line'>1466</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">JXG.supportsVML</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1474
- <span class='line'>1467</span> </span><span class="WHIT"> </span><span class="COMM">/*
1475
- <span class='line'>1468</span> * OnChange event is used for IE browsers
1476
- <span class='line'>1469</span> * The range element is supported since IE10
1477
- <span class='line'>1470</span> */</span><span class="WHIT">
1478
- <span class='line'>1471</span> </span><span class="WHIT"> </span><span class="NAME">Env.addEvent</span><span class="PUNC">(</span><span class="NAME">t.rendNodeForm</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"change"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">priv.HTMLSliderInputEventHandler</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1479
- <span class='line'>1472</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="PUNC">{</span><span class="WHIT">
1480
- <span class='line'>1473</span> </span><span class="WHIT"> </span><span class="COMM">/*
1481
- <span class='line'>1474</span> * OnInput event is used for non-IE browsers
1482
- <span class='line'>1475</span> */</span><span class="WHIT">
1483
- <span class='line'>1476</span> </span><span class="WHIT"> </span><span class="NAME">Env.addEvent</span><span class="PUNC">(</span><span class="NAME">t.rendNodeForm</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"input"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">priv.HTMLSliderInputEventHandler</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1484
- <span class='line'>1477</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
1485
- <span class='line'>1478</span>
1486
- <span class='line'>1479</span> </span><span class="WHIT"> </span><span class="NAME">t.Value</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1487
- <span class='line'>1480</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this._val</span><span class="PUNC">;</span><span class="WHIT">
1488
- <span class='line'>1481</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
1489
- <span class='line'>1482</span>
1490
- <span class='line'>1483</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">;</span><span class="WHIT">
1491
- <span class='line'>1484</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
1492
- <span class='line'>1485</span>
1493
- <span class='line'>1486</span> </span><span class="NAME">JXG.registerElement</span><span class="PUNC">(</span><span class="STRN">"htmlslider"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">JXG.createHTMLSlider</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1494
- <span class='line'>1487</span>
1495
- <span class='line'>1488</span> </span><span class="NAME">export</span><span class="WHIT"> </span><span class="KEYW">default</span><span class="WHIT"> </span><span class="NAME">JXG.Text</span><span class="PUNC">;</span><span class="WHIT">
1496
- <span class='line'>1489</span> </span><span class="COMM">// export default {</span><span class="WHIT">
1497
- <span class='line'>1490</span> </span><span class="COMM">// Text: JXG.Text,</span><span class="WHIT">
1498
- <span class='line'>1491</span> </span><span class="COMM">// createText: JXG.createText,</span><span class="WHIT">
1499
- <span class='line'>1492</span> </span><span class="COMM">// createHTMLSlider: JXG.createHTMLSlider</span><span class="WHIT">
1500
- <span class='line'>1493</span> </span><span class="COMM">// };</span><span class="WHIT">
1501
- <span class='line'>1494</span> </span></pre></body></html>
1473
+ <span class='line'>1466</span> </span><span class="WHIT"> </span><span class="NAME">t.Value</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
1474
+ <span class='line'>1467</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this._val</span><span class="PUNC">;</span><span class="WHIT">
1475
+ <span class='line'>1468</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
1476
+ <span class='line'>1469</span>
1477
+ <span class='line'>1470</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">t</span><span class="PUNC">;</span><span class="WHIT">
1478
+ <span class='line'>1471</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
1479
+ <span class='line'>1472</span>
1480
+ <span class='line'>1473</span> </span><span class="NAME">JXG.registerElement</span><span class="PUNC">(</span><span class="STRN">"htmlslider"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">JXG.createHTMLSlider</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
1481
+ <span class='line'>1474</span>
1482
+ <span class='line'>1475</span> </span><span class="NAME">export</span><span class="WHIT"> </span><span class="KEYW">default</span><span class="WHIT"> </span><span class="NAME">JXG.Text</span><span class="PUNC">;</span><span class="WHIT">
1483
+ <span class='line'>1476</span> </span><span class="COMM">// export default {</span><span class="WHIT">
1484
+ <span class='line'>1477</span> </span><span class="COMM">// Text: JXG.Text,</span><span class="WHIT">
1485
+ <span class='line'>1478</span> </span><span class="COMM">// createText: JXG.createText,</span><span class="WHIT">
1486
+ <span class='line'>1479</span> </span><span class="COMM">// createHTMLSlider: JXG.createHTMLSlider</span><span class="WHIT">
1487
+ <span class='line'>1480</span> </span><span class="COMM">// };</span><span class="WHIT">
1488
+ <span class='line'>1481</span> </span></pre></body></html>