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.
- package/CHANGELOG.md +25 -2
- package/distrib/docs/files.html +2 -2
- package/distrib/docs/index.html +2 -2
- package/distrib/docs/static/jsxgraph.css +24 -22
- package/distrib/docs/static/jsxgraphcore.js +2 -2
- package/distrib/docs/symbols/Angle.html +2 -2
- package/distrib/docs/symbols/Arc.html +2 -2
- package/distrib/docs/symbols/Arrow.html +2 -2
- package/distrib/docs/symbols/Arrowparallel.html +2 -2
- package/distrib/docs/symbols/Axis.html +2 -2
- package/distrib/docs/symbols/Bisector.html +2 -2
- package/distrib/docs/symbols/Bisectorlines.html +2 -2
- package/distrib/docs/symbols/Boxplot.html +2 -2
- package/distrib/docs/symbols/Button.html +4 -4
- package/distrib/docs/symbols/Cardinalspline.html +2 -2
- package/distrib/docs/symbols/Chart.html +2 -2
- package/distrib/docs/symbols/Checkbox.html +17 -17
- package/distrib/docs/symbols/Circle.html +2 -2
- package/distrib/docs/symbols/Circumcenter.html +4 -4
- package/distrib/docs/symbols/Circumcircle.html +2 -2
- package/distrib/docs/symbols/CircumcircleArc.html +2 -2
- package/distrib/docs/symbols/CircumcircleSector.html +2 -2
- package/distrib/docs/symbols/Comb.html +5 -5
- package/distrib/docs/symbols/Conic.html +2 -2
- package/distrib/docs/symbols/Constants.html +2 -2
- package/distrib/docs/symbols/Curve.html +2 -2
- package/distrib/docs/symbols/Curve3D.html +2 -2
- package/distrib/docs/symbols/CurveDifference.html +2 -2
- package/distrib/docs/symbols/CurveIntersection.html +2 -2
- package/distrib/docs/symbols/CurveUnion.html +2 -2
- package/distrib/docs/symbols/Derivative.html +2 -2
- package/distrib/docs/symbols/Ellipse.html +2 -2
- package/distrib/docs/symbols/ForeignObject.html +4 -4
- package/distrib/docs/symbols/Functiongraph.html +2 -2
- package/distrib/docs/symbols/Functiongraph3D.html +2 -2
- package/distrib/docs/symbols/Glider.html +4 -4
- package/distrib/docs/symbols/Grid.html +2 -2
- package/distrib/docs/symbols/Group.html +2 -2
- package/distrib/docs/symbols/Hatch.html +2 -2
- package/distrib/docs/symbols/Hyperbola.html +2 -2
- package/distrib/docs/symbols/Image.html +4 -4
- package/distrib/docs/symbols/Incenter.html +4 -4
- package/distrib/docs/symbols/Incircle.html +2 -2
- package/distrib/docs/symbols/Inequality.html +2 -2
- package/distrib/docs/symbols/Input.html +4 -4
- package/distrib/docs/symbols/Integral.html +2 -2
- package/distrib/docs/symbols/Intersection.html +4 -4
- package/distrib/docs/symbols/JXG.AbstractRenderer.html +2 -2
- package/distrib/docs/symbols/JXG.Board.html +144 -11
- package/distrib/docs/symbols/JXG.Board.infobox.html +2 -2
- package/distrib/docs/symbols/JXG.C.html +2 -2
- package/distrib/docs/symbols/JXG.CA.html +2 -2
- package/distrib/docs/symbols/JXG.CanvasRenderer.html +2 -2
- package/distrib/docs/symbols/JXG.Chart.html +2 -2
- package/distrib/docs/symbols/JXG.Circle.html +2 -2
- package/distrib/docs/symbols/JXG.Complex.html +2 -2
- package/distrib/docs/symbols/JXG.Composition.html +2 -2
- package/distrib/docs/symbols/JXG.Coords.html +2 -2
- package/distrib/docs/symbols/JXG.CoordsElement.html +54 -2
- package/distrib/docs/symbols/JXG.Curve.html +2 -2
- package/distrib/docs/symbols/JXG.Curve3D.html +2 -2
- package/distrib/docs/symbols/JXG.Dump.html +2 -2
- package/distrib/docs/symbols/JXG.EventEmitter.html +2 -2
- package/distrib/docs/symbols/JXG.ForeignObject.html +3 -3
- package/distrib/docs/symbols/JXG.GeometryElement.html +2 -2
- package/distrib/docs/symbols/JXG.GeometryElement3D.html +2 -2
- package/distrib/docs/symbols/JXG.GeonextParser.html +2 -2
- package/distrib/docs/symbols/JXG.Group.html +2 -2
- package/distrib/docs/symbols/JXG.Image.html +3 -3
- package/distrib/docs/symbols/JXG.JSXGraph.html +2 -2
- package/distrib/docs/symbols/JXG.JessieCode.html +2 -2
- package/distrib/docs/symbols/JXG.Legend.html +2 -2
- package/distrib/docs/symbols/JXG.Line.html +2 -2
- package/distrib/docs/symbols/JXG.Line3D.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Clip.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Extrapolate.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Geometry.html +2 -2
- package/distrib/docs/symbols/JXG.Math.IntervalArithmetic.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Metapost.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Nlp.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Numerics.html +23 -15
- package/distrib/docs/symbols/JXG.Math.Plot.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Poly.Monomial.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Poly.Polynomial.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Poly.Ring.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Poly.html +2 -2
- package/distrib/docs/symbols/JXG.Math.ProbFuncs.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Quadtree.html +122 -7
- package/distrib/docs/symbols/JXG.Math.Statistics.html +2 -2
- package/distrib/docs/symbols/JXG.Math.Symbolic.html +2 -2
- package/distrib/docs/symbols/JXG.Math.html +45 -2
- package/distrib/docs/symbols/JXG.NoRenderer.html +2 -2
- package/distrib/docs/symbols/JXG.Options.html +2 -2
- package/distrib/docs/symbols/JXG.Plane3D.html +2 -2
- package/distrib/docs/symbols/JXG.Point.html +3 -3
- package/distrib/docs/symbols/JXG.Point3D.html +2 -2
- package/distrib/docs/symbols/JXG.Polygon.html +2 -2
- package/distrib/docs/symbols/JXG.SVGRenderer.html +2 -2
- package/distrib/docs/symbols/JXG.Server.html +2 -2
- package/distrib/docs/symbols/JXG.Server.modules.html +2 -2
- package/distrib/docs/symbols/JXG.Surface3D.html +2 -2
- package/distrib/docs/symbols/JXG.Text.html +8 -8
- package/distrib/docs/symbols/JXG.Ticks.html +2 -2
- package/distrib/docs/symbols/JXG.Transformation.html +2 -2
- package/distrib/docs/symbols/JXG.Turtle.html +2 -2
- package/distrib/docs/symbols/JXG.Util.Base64.html +2 -2
- package/distrib/docs/symbols/JXG.Util.UTF8.html +2 -2
- package/distrib/docs/symbols/JXG.Util.Unzip.html +2 -2
- package/distrib/docs/symbols/JXG.Util.html +2 -2
- package/distrib/docs/symbols/JXG.VMLRenderer.html +2 -2
- package/distrib/docs/symbols/JXG.View3D.html +2 -2
- package/distrib/docs/symbols/JXG.XML.html +2 -2
- package/distrib/docs/symbols/Label.html +114 -4
- package/distrib/docs/symbols/Legend.html +2 -2
- package/distrib/docs/symbols/Line.html +2 -2
- package/distrib/docs/symbols/Line3D.html +2 -2
- package/distrib/docs/symbols/Locus.html +2 -2
- package/distrib/docs/symbols/MajorArc.html +2 -2
- package/distrib/docs/symbols/MajorSector.html +2 -2
- package/distrib/docs/symbols/Metapostspline.html +2 -2
- package/distrib/docs/symbols/Midpoint.html +4 -4
- package/distrib/docs/symbols/MinorArc.html +2 -2
- package/distrib/docs/symbols/MinorSector.html +2 -2
- package/distrib/docs/symbols/Mirrorelement.html +2 -2
- package/distrib/docs/symbols/Mirrorpoint.html +4 -4
- package/distrib/docs/symbols/NonReflexAngle.html +2 -2
- package/distrib/docs/symbols/Normal.html +2 -2
- package/distrib/docs/symbols/Orthogonalprojection.html +4 -4
- package/distrib/docs/symbols/OtherIntersection.html +4 -4
- package/distrib/docs/symbols/Parabola.html +2 -2
- package/distrib/docs/symbols/Parallel.html +2 -2
- package/distrib/docs/symbols/Parallelpoint.html +4 -4
- package/distrib/docs/symbols/ParametricSurface3D.html +2 -2
- package/distrib/docs/symbols/Perpendicular.html +2 -2
- package/distrib/docs/symbols/PerpendicularPoint.html +4 -4
- package/distrib/docs/symbols/PerpendicularSegment.html +2 -2
- package/distrib/docs/symbols/Point.html +4 -4
- package/distrib/docs/symbols/Point3D.html +2 -2
- package/distrib/docs/symbols/PolarLine.html +2 -2
- package/distrib/docs/symbols/PolePoint.html +4 -4
- package/distrib/docs/symbols/Polygon.html +2 -2
- package/distrib/docs/symbols/PolygonalChain.html +2 -2
- package/distrib/docs/symbols/RadicalAxis.html +2 -2
- package/distrib/docs/symbols/Reflection.html +2 -2
- package/distrib/docs/symbols/ReflexAngle.html +2 -2
- package/distrib/docs/symbols/RegularPolygon.html +2 -2
- package/distrib/docs/symbols/Riemannsum.html +7 -3
- package/distrib/docs/symbols/Sector.html +2 -2
- package/distrib/docs/symbols/Segment.html +2 -2
- package/distrib/docs/symbols/Semicircle.html +2 -2
- package/distrib/docs/symbols/Slider.html +145 -4
- package/distrib/docs/symbols/Slopefield.html +2 -2
- package/distrib/docs/symbols/Slopetriangle.html +2 -2
- package/distrib/docs/symbols/Smartlabel.html +4 -4
- package/distrib/docs/symbols/Spline.html +2 -2
- package/distrib/docs/symbols/Stepfunction.html +2 -2
- package/distrib/docs/symbols/Tangent.html +2 -2
- package/distrib/docs/symbols/Tapemeasure.html +2 -2
- package/distrib/docs/symbols/Text.html +4 -4
- package/distrib/docs/symbols/Ticks.html +2 -2
- package/distrib/docs/symbols/Tracecurve.html +2 -2
- package/distrib/docs/symbols/Transformation.html +2 -2
- package/distrib/docs/symbols/Turtle.html +2 -2
- package/distrib/docs/symbols/Vectorfield.html +2 -2
- package/distrib/docs/symbols/View3D.html +2 -2
- package/distrib/docs/symbols/_global_.html +2 -2
- package/distrib/docs/symbols/src/src_3d_view3d.js.html +29 -30
- package/distrib/docs/symbols/src/src_base_board.js.html +5020 -4930
- package/distrib/docs/symbols/src/src_base_constants.js.html +1 -1
- package/distrib/docs/symbols/src/src_base_coordselement.js.html +1829 -1789
- package/distrib/docs/symbols/src/src_base_curve.js.html +783 -778
- package/distrib/docs/symbols/src/src_base_text.js.html +345 -358
- package/distrib/docs/symbols/src/src_element_checkbox.js.html +30 -30
- package/distrib/docs/symbols/src/src_element_slider.js.html +391 -377
- package/distrib/docs/symbols/src/src_math_numerics.js.html +1226 -1190
- package/distrib/docs/symbols/src/src_math_qdt.js.html +318 -194
- package/distrib/docs/symbols/src/src_options.js.html +7137 -7034
- package/distrib/docs/symbols/src/src_renderer_abstract.js.html +1168 -1167
- package/distrib/docs/symbols/src/src_renderer_canvas.js.html +1 -1
- package/distrib/docs/symbols/src/src_renderer_svg.js.html +489 -494
- package/distrib/docs/symbols/src/src_utils_env.js.html +127 -90
- package/distrib/docs.zip +0 -0
- package/distrib/geogebra.min.js +1 -1
- package/distrib/geonext.min.js +1 -1
- package/distrib/intergeo.min.js +1 -1
- package/distrib/jsxgraph.css +24 -22
- package/distrib/jsxgraph.zip +0 -0
- package/distrib/jsxgraphcore.js +2 -2
- package/distrib/jsxgraphcore.mjs +2 -2
- package/distrib/jsxgraphcore.mjs.map +1 -1
- package/distrib/jsxgraphsrc.js +707 -276
- package/distrib/jsxgraphsrc.mjs +707 -276
- package/distrib/jsxgraphsrc.mjs.map +1 -1
- package/distrib/sketch.min.js +1 -1
- package/package.json +1 -1
- package/src/3d/view3d.js +0 -1
- package/src/base/board.js +140 -50
- package/src/base/constants.js +1 -1
- package/src/base/coordselement.js +54 -14
- package/src/base/curve.js +6 -1
- package/src/base/text.js +13 -26
- package/src/element/checkbox.js +17 -17
- package/src/element/slider.js +16 -2
- package/src/math/heap.js +34 -4
- package/src/math/numerics.js +112 -76
- package/src/math/qdt.js +141 -17
- package/src/options.js +115 -12
- package/src/renderer/abstract.js +15 -14
- package/src/renderer/canvas.js +1 -1
- package/src/renderer/svg.js +0 -5
- package/src/utils/env.js +75 -38
|
@@ -1834,511 +1834,506 @@
|
|
|
1834
1834
|
<span class='line'>1827</span>
|
|
1835
1835
|
<span class='line'>1828</span> </span><span class="WHIT"> </span><span class="COMM">// documented in AbstractRenderer</span><span class="WHIT">
|
|
1836
1836
|
<span class='line'>1829</span> </span><span class="WHIT"> </span><span class="NAME">resize</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">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">
|
|
1837
|
-
<span class='line'>1830</span> </span><span class="WHIT"> </span><span class="
|
|
1838
|
-
<span class='line'>1831</span> </span><span class="WHIT"> </span><span class="
|
|
1839
|
-
<span class='line'>1832</span>
|
|
1840
|
-
<span class='line'>1833</span>
|
|
1841
|
-
<span class='line'>1834</span> </span><span class="WHIT">
|
|
1842
|
-
<span class='line'>1835</span> </span><span class="WHIT">
|
|
1843
|
-
<span class='line'>1836</span> </span><span class="WHIT"> </span><span class="
|
|
1844
|
-
<span class='line'>1837</span> </span><span class="WHIT">
|
|
1845
|
-
<span class='line'>1838</span>
|
|
1846
|
-
<span class='line'>1839</span> </span><span class="WHIT">
|
|
1847
|
-
<span class='line'>1840</span> </span><span class="WHIT">
|
|
1848
|
-
<span class='line'>1841</span> </span><span class="WHIT">
|
|
1849
|
-
<span class='line'>1842</span> </span><span class="WHIT">
|
|
1850
|
-
<span class='line'>1843</span> </span><span class="WHIT">
|
|
1851
|
-
<span class='line'>1844</span>
|
|
1852
|
-
<span class='line'>1845</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1853
|
-
<span class='line'>1846</span> </span><span class="WHIT"> </span><span class="NAME">this.
|
|
1854
|
-
<span class='line'>1847</span> </span><span class="WHIT"> </span><span class="NAME">node.setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"
|
|
1855
|
-
<span class='line'>1848</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1856
|
-
<span class='line'>1849</span>
|
|
1857
|
-
<span class='line'>1850</span>
|
|
1858
|
-
<span class='line'>1851</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1859
|
-
<span class='line'>1852</span> </span><span class="WHIT"> </span><span class="NAME">node
|
|
1860
|
-
<span class='line'>1853</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1861
|
-
<span class='line'>1854</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1862
|
-
<span class='line'>1855</span>
|
|
1863
|
-
<span class='line'>1856</span>
|
|
1864
|
-
<span class='line'>1857</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1865
|
-
<span class='line'>1858</span> </span><span class="WHIT"> </span><span class="NAME">this.
|
|
1866
|
-
<span class='line'>1859</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1867
|
-
<span class='line'>1860</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1868
|
-
<span class='line'>1861</span>
|
|
1869
|
-
<span class='line'>1862</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1870
|
-
<span class='line'>1863</span>
|
|
1871
|
-
<span class='line'>1864</span> </span><span class="WHIT"> </span><span class="NAME">node.setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"
|
|
1872
|
-
<span class='line'>1865</span> </span><span class="WHIT">
|
|
1873
|
-
<span class='line'>1866</span> </span><span class="WHIT">
|
|
1874
|
-
<span class='line'>1867</span>
|
|
1875
|
-
<span class='line'>1868</span>
|
|
1876
|
-
<span class='line'>1869</span> </span><span class="WHIT">
|
|
1877
|
-
<span class='line'>1870</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
1878
|
-
<span class='line'>1871</span> </span><span class="WHIT">
|
|
1879
|
-
<span class='line'>1872</span>
|
|
1880
|
-
<span class='line'>1873</span> </span><span class="WHIT">
|
|
1881
|
-
<span class='line'>1874</span> </span><span class="WHIT"> </span><span class="
|
|
1882
|
-
<span class='line'>1875</span>
|
|
1883
|
-
<span class='line'>1876</span> </span><span class="WHIT">
|
|
1884
|
-
<span class='line'>1877</span> </span><span class="WHIT">
|
|
1885
|
-
<span class='line'>1878</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
1886
|
-
<span class='line'>1879</span> </span><span class="WHIT">
|
|
1887
|
-
<span class='line'>1880</span>
|
|
1888
|
-
<span class='line'>1881</span> </span><span class="WHIT">
|
|
1889
|
-
<span class='line'>1882</span> </span><span class="WHIT"> </span><span class="
|
|
1890
|
-
<span class='line'>1883</span>
|
|
1891
|
-
<span class='line'>1884</span> </span><span class="WHIT">
|
|
1892
|
-
<span class='line'>1885</span> </span><span class="WHIT">
|
|
1893
|
-
<span class='line'>1886</span> </span><span class="WHIT"> </span><span class="
|
|
1894
|
-
<span class='line'>1887</span> </span><span class="WHIT">
|
|
1895
|
-
<span class='line'>1888</span>
|
|
1896
|
-
<span class='line'>1889</span>
|
|
1897
|
-
<span class='line'>1890</span> </span><span class="WHIT">
|
|
1898
|
-
<span class='line'>1891</span> </span><span class="WHIT">
|
|
1899
|
-
<span class='line'>1892</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC"
|
|
1900
|
-
<span class='line'>1893</span>
|
|
1901
|
-
<span class='line'>1894</span>
|
|
1902
|
-
<span class='line'>1895</span> </span><span class="WHIT">
|
|
1903
|
-
<span class='line'>1896</span> </span><span class="WHIT">
|
|
1904
|
-
<span class='line'>1897</span> </span><span class="WHIT">
|
|
1905
|
-
<span class='line'>1898</span>
|
|
1906
|
-
<span class='line'>1899</span> </span><span class="WHIT">
|
|
1907
|
-
<span class='line'>1900</span> </span><span class="WHIT"> </span><span class="
|
|
1908
|
-
<span class='line'>1901</span> </span><span class="WHIT"> </span><span class="STRN">"
|
|
1909
|
-
<span class='line'>1902</span> </span><span class="WHIT"> </span><span class="STRN">"
|
|
1910
|
-
<span class='line'>1903</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC"
|
|
1837
|
+
<span class='line'>1830</span> </span><span class="WHIT"> </span><span class="NAME">this.svgRoot.setAttribute</span><span class="PUNC">(</span><span class="STRN">"width"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parseFloat</span><span class="PUNC">(</span><span class="NAME">w</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1838
|
+
<span class='line'>1831</span> </span><span class="WHIT"> </span><span class="NAME">this.svgRoot.setAttribute</span><span class="PUNC">(</span><span class="STRN">"height"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parseFloat</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1839
|
+
<span class='line'>1832</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1840
|
+
<span class='line'>1833</span>
|
|
1841
|
+
<span class='line'>1834</span> </span><span class="WHIT"> </span><span class="COMM">// documented in JXG.AbstractRenderer</span><span class="WHIT">
|
|
1842
|
+
<span class='line'>1835</span> </span><span class="WHIT"> </span><span class="NAME">createTouchpoints</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">n</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1843
|
+
<span class='line'>1836</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">na1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">na2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">;</span><span class="WHIT">
|
|
1844
|
+
<span class='line'>1837</span> </span><span class="WHIT"> </span><span class="NAME">this.touchpoints</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1845
|
+
<span class='line'>1838</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">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">n</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1846
|
+
<span class='line'>1839</span> </span><span class="WHIT"> </span><span class="NAME">na1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"touchpoint1_"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
|
|
1847
|
+
<span class='line'>1840</span> </span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.createPrim</span><span class="PUNC">(</span><span class="STRN">"path"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">na1</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1848
|
+
<span class='line'>1841</span> </span><span class="WHIT"> </span><span class="NAME">this.appendChildPrim</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">19</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1849
|
+
<span class='line'>1842</span> </span><span class="WHIT"> </span><span class="NAME">node.setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"d"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"M 0 0"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1850
|
+
<span class='line'>1843</span> </span><span class="WHIT"> </span><span class="NAME">this.touchpoints.push</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1851
|
+
<span class='line'>1844</span>
|
|
1852
|
+
<span class='line'>1845</span> </span><span class="WHIT"> </span><span class="NAME">this.setPropertyPrim</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"stroked"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"true"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1853
|
+
<span class='line'>1846</span> </span><span class="WHIT"> </span><span class="NAME">this.setPropertyPrim</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"stroke-width"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"1px"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1854
|
+
<span class='line'>1847</span> </span><span class="WHIT"> </span><span class="NAME">node.setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"stroke"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"#000000"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1855
|
+
<span class='line'>1848</span> </span><span class="WHIT"> </span><span class="NAME">node.setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"stroke-opacity"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1.0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1856
|
+
<span class='line'>1849</span> </span><span class="WHIT"> </span><span class="NAME">node.setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"display"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1857
|
+
<span class='line'>1850</span>
|
|
1858
|
+
<span class='line'>1851</span> </span><span class="WHIT"> </span><span class="NAME">na2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"touchpoint2_"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
|
|
1859
|
+
<span class='line'>1852</span> </span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.createPrim</span><span class="PUNC">(</span><span class="STRN">"ellipse"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">na2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1860
|
+
<span class='line'>1853</span> </span><span class="WHIT"> </span><span class="NAME">this.appendChildPrim</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">19</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1861
|
+
<span class='line'>1854</span> </span><span class="WHIT"> </span><span class="NAME">this.updateEllipsePrim</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1862
|
+
<span class='line'>1855</span> </span><span class="WHIT"> </span><span class="NAME">this.touchpoints.push</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1863
|
+
<span class='line'>1856</span>
|
|
1864
|
+
<span class='line'>1857</span> </span><span class="WHIT"> </span><span class="NAME">this.setPropertyPrim</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"stroked"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"true"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1865
|
+
<span class='line'>1858</span> </span><span class="WHIT"> </span><span class="NAME">this.setPropertyPrim</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"stroke-width"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"1px"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1866
|
+
<span class='line'>1859</span> </span><span class="WHIT"> </span><span class="NAME">node.setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"stroke"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"#000000"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1867
|
+
<span class='line'>1860</span> </span><span class="WHIT"> </span><span class="NAME">node.setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"stroke-opacity"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1.0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1868
|
+
<span class='line'>1861</span> </span><span class="WHIT"> </span><span class="NAME">node.setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"fill"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"#ffffff"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1869
|
+
<span class='line'>1862</span> </span><span class="WHIT"> </span><span class="NAME">node.setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"fill-opacity"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0.0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1870
|
+
<span class='line'>1863</span>
|
|
1871
|
+
<span class='line'>1864</span> </span><span class="WHIT"> </span><span class="NAME">node.setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"display"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1872
|
+
<span class='line'>1865</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1873
|
+
<span class='line'>1866</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1874
|
+
<span class='line'>1867</span>
|
|
1875
|
+
<span class='line'>1868</span> </span><span class="WHIT"> </span><span class="COMM">// documented in JXG.AbstractRenderer</span><span class="WHIT">
|
|
1876
|
+
<span class='line'>1869</span> </span><span class="WHIT"> </span><span class="NAME">showTouchpoint</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">i</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1877
|
+
<span class='line'>1870</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.touchpoints</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">0</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">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">this.touchpoints.length</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1878
|
+
<span class='line'>1871</span> </span><span class="WHIT"> </span><span class="NAME">this.touchpoints</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">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"display"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"inline"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1879
|
+
<span class='line'>1872</span> </span><span class="WHIT"> </span><span class="NAME">this.touchpoints</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">i</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="NAME">setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"display"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"inline"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1880
|
+
<span class='line'>1873</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1881
|
+
<span class='line'>1874</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1882
|
+
<span class='line'>1875</span>
|
|
1883
|
+
<span class='line'>1876</span> </span><span class="WHIT"> </span><span class="COMM">// documented in JXG.AbstractRenderer</span><span class="WHIT">
|
|
1884
|
+
<span class='line'>1877</span> </span><span class="WHIT"> </span><span class="NAME">hideTouchpoint</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">i</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1885
|
+
<span class='line'>1878</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.touchpoints</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">0</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">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">this.touchpoints.length</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1886
|
+
<span class='line'>1879</span> </span><span class="WHIT"> </span><span class="NAME">this.touchpoints</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">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"display"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1887
|
+
<span class='line'>1880</span> </span><span class="WHIT"> </span><span class="NAME">this.touchpoints</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">i</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="NAME">setAttributeNS</span><span class="PUNC">(</span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"display"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1888
|
+
<span class='line'>1881</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1889
|
+
<span class='line'>1882</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1890
|
+
<span class='line'>1883</span>
|
|
1891
|
+
<span class='line'>1884</span> </span><span class="WHIT"> </span><span class="COMM">// documented in JXG.AbstractRenderer</span><span class="WHIT">
|
|
1892
|
+
<span class='line'>1885</span> </span><span class="WHIT"> </span><span class="NAME">updateTouchpoint</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">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1893
|
+
<span class='line'>1886</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">
|
|
1894
|
+
<span class='line'>1887</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">,</span><span class="WHIT">
|
|
1895
|
+
<span class='line'>1888</span> </span><span class="WHIT"> </span><span class="NAME">d</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">37</span><span class="PUNC">;</span><span class="WHIT">
|
|
1896
|
+
<span class='line'>1889</span>
|
|
1897
|
+
<span class='line'>1890</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.touchpoints</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">0</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">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">this.touchpoints.length</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1898
|
+
<span class='line'>1891</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">pos</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1899
|
+
<span class='line'>1892</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">pos</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1900
|
+
<span class='line'>1893</span>
|
|
1901
|
+
<span class='line'>1894</span> </span><span class="WHIT"> </span><span class="NAME">this.touchpoints</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">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">setAttributeNS</span><span class="PUNC">(</span><span class="WHIT">
|
|
1902
|
+
<span class='line'>1895</span> </span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
|
|
1903
|
+
<span class='line'>1896</span> </span><span class="WHIT"> </span><span class="STRN">"d"</span><span class="PUNC">,</span><span class="WHIT">
|
|
1904
|
+
<span class='line'>1897</span> </span><span class="WHIT"> </span><span class="STRN">"M "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1905
|
+
<span class='line'>1898</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">d</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1906
|
+
<span class='line'>1899</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1907
|
+
<span class='line'>1900</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1908
|
+
<span class='line'>1901</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1909
|
+
<span class='line'>1902</span> </span><span class="WHIT"> </span><span class="STRN">"L "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1910
|
+
<span class='line'>1903</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">d</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1911
1911
|
<span class='line'>1904</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1912
1912
|
<span class='line'>1905</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1913
1913
|
<span class='line'>1906</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1914
|
-
<span class='line'>1907</span> </span><span class="WHIT"> </span><span class="STRN">"
|
|
1915
|
-
<span class='line'>1908</span> </span><span class="WHIT"> </span><span class="
|
|
1914
|
+
<span class='line'>1907</span> </span><span class="WHIT"> </span><span class="STRN">"M "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1915
|
+
<span class='line'>1908</span> </span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1916
1916
|
<span class='line'>1909</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1917
|
-
<span class='line'>1910</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1917
|
+
<span class='line'>1910</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">d</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1918
1918
|
<span class='line'>1911</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1919
|
-
<span class='line'>1912</span> </span><span class="WHIT"> </span><span class="STRN">"
|
|
1919
|
+
<span class='line'>1912</span> </span><span class="WHIT"> </span><span class="STRN">"L "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1920
1920
|
<span class='line'>1913</span> </span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1921
1921
|
<span class='line'>1914</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
|
|
1922
|
-
<span class='line'>1915</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC"
|
|
1923
|
-
<span class='line'>1916</span> </span><span class="WHIT">
|
|
1924
|
-
<span class='line'>1917</span> </span><span class="WHIT">
|
|
1925
|
-
<span class='line'>1918</span> </span><span class="WHIT">
|
|
1926
|
-
<span class='line'>1919</span> </span><span class="WHIT">
|
|
1927
|
-
<span class='line'>1920</span>
|
|
1928
|
-
<span class='line'>1921</span> </span><span class="WHIT">
|
|
1929
|
-
<span class='line'>1922</span>
|
|
1930
|
-
<span class='line'>1923</span>
|
|
1931
|
-
<span class='line'>1924</span>
|
|
1932
|
-
<span class='line'>1925</span>
|
|
1933
|
-
<span class='line'>1926</span>
|
|
1934
|
-
<span class='line'>1927</span> *
|
|
1935
|
-
<span class='line'>1928</span>
|
|
1936
|
-
<span class='line'>1929</span>
|
|
1937
|
-
<span class='line'>1930</span>
|
|
1938
|
-
<span class='line'>1931</span>
|
|
1939
|
-
<span class='line'>1932</span>
|
|
1940
|
-
<span class='line'>1933</span>
|
|
1941
|
-
<span class='line'>1934</span> </span><span class="WHIT">
|
|
1942
|
-
<span class='line'>1935</span> </span><span class="WHIT">
|
|
1943
|
-
<span class='line'>1936</span> </span><span class="WHIT">
|
|
1944
|
-
<span class='line'>1937</span> </span><span class="WHIT">
|
|
1945
|
-
<span class='line'>1938</span> </span><span class="WHIT">
|
|
1946
|
-
<span class='line'>1939</span> </span><span class="WHIT">
|
|
1947
|
-
<span class='line'>1940</span> </span><span class="WHIT">
|
|
1948
|
-
<span class='line'>1941</span> </span><span class="WHIT">
|
|
1949
|
-
<span class='line'>1942</span> </span><span class="WHIT">
|
|
1950
|
-
<span class='line'>1943</span>
|
|
1951
|
-
<span class='line'>1944</span> </span><span class="WHIT">
|
|
1952
|
-
<span class='line'>1945</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
1953
|
-
<span class='line'>1946</span>
|
|
1954
|
-
<span class='line'>1947</span> </span><span class="WHIT">
|
|
1955
|
-
<span class='line'>1948</span>
|
|
1956
|
-
<span class='line'>1949</span> </span><span class="WHIT">
|
|
1957
|
-
<span class='line'>1950</span> </span><span class="WHIT">
|
|
1922
|
+
<span class='line'>1915</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">d</span><span class="PUNC">)</span><span class="WHIT">
|
|
1923
|
+
<span class='line'>1916</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1924
|
+
<span class='line'>1917</span> </span><span class="WHIT"> </span><span class="NAME">this.updateEllipsePrim</span><span class="PUNC">(</span><span class="NAME">this.touchpoints</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">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">25</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">25</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1925
|
+
<span class='line'>1918</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1926
|
+
<span class='line'>1919</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1927
|
+
<span class='line'>1920</span>
|
|
1928
|
+
<span class='line'>1921</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
1929
|
+
<span class='line'>1922</span> * Walk recursively through the DOM subtree of a node and collect all
|
|
1930
|
+
<span class='line'>1923</span> * value attributes together with the id of that node.
|
|
1931
|
+
<span class='line'>1924</span> * <b>Attention:</b> Only values of nodes having a valid id are taken.
|
|
1932
|
+
<span class='line'>1925</span> * @param {Node} node root node of DOM subtree that will be searched recursively.
|
|
1933
|
+
<span class='line'>1926</span> * @return {Array} Array with entries of the form [id, value]
|
|
1934
|
+
<span class='line'>1927</span> * @private
|
|
1935
|
+
<span class='line'>1928</span> */</span><span class="WHIT">
|
|
1936
|
+
<span class='line'>1929</span> </span><span class="WHIT"> </span><span class="NAME">_getValuesOfDOMElements</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">node</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1937
|
+
<span class='line'>1930</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">values</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
1938
|
+
<span class='line'>1931</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">node.nodeType</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1939
|
+
<span class='line'>1932</span> </span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">node.firstChild</span><span class="PUNC">;</span><span class="WHIT">
|
|
1940
|
+
<span class='line'>1933</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1941
|
+
<span class='line'>1934</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">node.id</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">node.value</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1942
|
+
<span class='line'>1935</span> </span><span class="WHIT"> </span><span class="NAME">values.push</span><span class="PUNC">(</span><span class="PUNC">[</span><span class="NAME">node.id</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">node.value</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1943
|
+
<span class='line'>1936</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1944
|
+
<span class='line'>1937</span> </span><span class="WHIT"> </span><span class="NAME">values</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">values.concat</span><span class="PUNC">(</span><span class="NAME">this._getValuesOfDOMElements</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1945
|
+
<span class='line'>1938</span> </span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">node.nextSibling</span><span class="PUNC">;</span><span class="WHIT">
|
|
1946
|
+
<span class='line'>1939</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1947
|
+
<span class='line'>1940</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1948
|
+
<span class='line'>1941</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">values</span><span class="PUNC">;</span><span class="WHIT">
|
|
1949
|
+
<span class='line'>1942</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1950
|
+
<span class='line'>1943</span>
|
|
1951
|
+
<span class='line'>1944</span> </span><span class="WHIT"> </span><span class="NAME">_getDataUri</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">url</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">callback</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1952
|
+
<span class='line'>1945</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">image</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Image</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1953
|
+
<span class='line'>1946</span>
|
|
1954
|
+
<span class='line'>1947</span> </span><span class="WHIT"> </span><span class="NAME">image.onload</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">
|
|
1955
|
+
<span class='line'>1948</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">"canvas"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1956
|
+
<span class='line'>1949</span> </span><span class="WHIT"> </span><span class="NAME">canvas.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.naturalWidth</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// or 'width' if you want a special/scaled size</span><span class="WHIT">
|
|
1957
|
+
<span class='line'>1950</span> </span><span class="WHIT"> </span><span class="NAME">canvas.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.naturalHeight</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">// or 'height' if you want a special/scaled size</span><span class="WHIT">
|
|
1958
1958
|
<span class='line'>1951</span>
|
|
1959
|
-
<span class='line'>1952</span> </span><span class="WHIT">
|
|
1960
|
-
<span class='line'>1953</span>
|
|
1961
|
-
<span class='line'>1954</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1962
|
-
<span class='line'>1955</span> </span><span class="WHIT"> </span><span class="NAME">canvas.
|
|
1963
|
-
<span class='line'>1956</span>
|
|
1964
|
-
<span class='line'>1957</span>
|
|
1965
|
-
<span class='line'>1958</span>
|
|
1966
|
-
<span class='line'>1959</span> </span><span class="WHIT">
|
|
1967
|
-
<span class='line'>1960</span>
|
|
1968
|
-
<span class='line'>1961</span> </span><span class="WHIT">
|
|
1969
|
-
<span class='line'>1962</span>
|
|
1970
|
-
<span class='line'>1963</span>
|
|
1971
|
-
<span class='line'>1964</span> </span><span class="WHIT">
|
|
1972
|
-
<span class='line'>1965</span>
|
|
1973
|
-
<span class='line'>1966</span> </span><span class="WHIT">
|
|
1974
|
-
<span class='line'>1967</span> </span><span class="WHIT">
|
|
1975
|
-
<span class='line'>1968</span>
|
|
1976
|
-
<span class='line'>1969</span> </span><span class="WHIT">
|
|
1977
|
-
<span class='line'>1970</span> </span><span class="WHIT">
|
|
1978
|
-
<span class='line'>1971</span> </span><span class="WHIT">
|
|
1979
|
-
<span class='line'>1972</span> </span><span class="WHIT">
|
|
1980
|
-
<span class='line'>1973</span> </span><span class="WHIT">
|
|
1981
|
-
<span class='line'>1974</span> </span><span class="WHIT">
|
|
1982
|
-
<span class='line'>1975</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
1983
|
-
<span class='line'>1976</span> </span><span class="WHIT"> </span><span class="
|
|
1984
|
-
<span class='line'>1977</span> </span><span class="WHIT"> </span><span class="
|
|
1985
|
-
<span class='line'>1978</span> </span><span class="WHIT">
|
|
1986
|
-
<span class='line'>1979</span>
|
|
1987
|
-
<span class='line'>1980</span> </span><span class="WHIT">
|
|
1988
|
-
<span class='line'>1981</span> </span><span class="WHIT">
|
|
1989
|
-
<span class='line'>1982</span> </span><span class="WHIT">
|
|
1990
|
-
<span class='line'>1983</span> </span><span class="WHIT">
|
|
1991
|
-
<span class='line'>1984</span>
|
|
1992
|
-
<span class='line'>1985</span> </span><span class="WHIT">
|
|
1993
|
-
<span class='line'>1986</span> </span><span class="WHIT">
|
|
1994
|
-
<span class='line'>1987</span> </span><span class="WHIT">
|
|
1995
|
-
<span class='line'>1988</span> </span><span class="WHIT">
|
|
1996
|
-
<span class='line'>1989</span> </span><span class="WHIT">
|
|
1997
|
-
<span class='line'>1990</span> </span><span class="WHIT">
|
|
1998
|
-
<span class='line'>1991</span>
|
|
1999
|
-
<span class='line'>1992</span> </span><span class="WHIT">
|
|
2000
|
-
<span class='line'>1993</span>
|
|
2001
|
-
<span class='line'>1994</span>
|
|
2002
|
-
<span class='line'>1995</span>
|
|
2003
|
-
<span class='line'>1996</span>
|
|
2004
|
-
<span class='line'>1997</span>
|
|
2005
|
-
<span class='line'>1998</span> *
|
|
2006
|
-
<span class='line'>1999</span> *
|
|
2007
|
-
<span class='line'>2000</span> *
|
|
2008
|
-
<span class='line'>2001</span> *
|
|
2009
|
-
<span class='line'>2002</span> *
|
|
2010
|
-
<span class='line'>2003</span> *
|
|
2011
|
-
<span class='line'>2004</span> *
|
|
2012
|
-
<span class='line'>2005</span> *
|
|
2013
|
-
<span class='line'>2006</span> *
|
|
2014
|
-
<span class='line'>2007</span> *
|
|
2015
|
-
<span class='line'>2008</span> *
|
|
2016
|
-
<span class='line'>2009</span> *
|
|
2017
|
-
<span class='line'>2010</span> * //
|
|
2018
|
-
<span class='line'>2011</span> *
|
|
2019
|
-
<span class='line'>2012</span> *
|
|
2020
|
-
<span class='line'>2013</span> *
|
|
2021
|
-
<span class='line'>2014</span> *
|
|
2022
|
-
<span class='line'>2015</span> *
|
|
2023
|
-
<span class='line'>2016</span> *
|
|
2024
|
-
<span class='line'>2017</span> *
|
|
2025
|
-
<span class='line'>2018</span> *
|
|
2026
|
-
<span class='line'>2019</span> *
|
|
2027
|
-
<span class='line'>2020</span> *
|
|
2028
|
-
<span class='line'>2021</span> *
|
|
2029
|
-
<span class='line'>2022</span> * (
|
|
2030
|
-
<span class='line'>2023</span> *
|
|
2031
|
-
<span class='line'>2024</span> *
|
|
2032
|
-
<span class='line'>2025</span> *
|
|
2033
|
-
<span class='line'>2026</span> *
|
|
2034
|
-
<span class='line'>2027</span> *
|
|
2035
|
-
<span class='line'>2028</span> * //
|
|
2036
|
-
<span class='line'>2029</span> *
|
|
2037
|
-
<span class='line'>2030</span> *
|
|
2038
|
-
<span class='line'>2031</span> *
|
|
2039
|
-
<span class='line'>2032</span> *
|
|
2040
|
-
<span class='line'>2033</span> *
|
|
2041
|
-
<span class='line'>2034</span> *
|
|
2042
|
-
<span class='line'>2035</span> *
|
|
2043
|
-
<span class='line'>2036</span>
|
|
2044
|
-
<span class='line'>2037</span>
|
|
2045
|
-
<span class='line'>2038</span>
|
|
2046
|
-
<span class='line'>2039</span>
|
|
2047
|
-
<span class='line'>2040</span>
|
|
2048
|
-
<span class='line'>2041</span>
|
|
2049
|
-
<span class='line'>2042</span>
|
|
2050
|
-
<span class='line'>2043</span> </span><span class="WHIT"> </span><span class="
|
|
2051
|
-
<span class='line'>2044</span> </span><span class="WHIT">
|
|
2052
|
-
<span class='line'>2045</span> </span><span class="WHIT">
|
|
2053
|
-
<span class='line'>2046</span> </span><span class="WHIT">
|
|
2054
|
-
<span class='line'>2047</span>
|
|
2055
|
-
<span class='line'>2048</span> </span><span class="WHIT"> </span><span class="
|
|
2056
|
-
<span class='line'>2049</span> </span><span class="WHIT">
|
|
2057
|
-
<span class='line'>2050</span> </span><span class="WHIT">
|
|
2058
|
-
<span class='line'>2051</span> </span><span class="WHIT">
|
|
2059
|
-
<span class='line'>2052</span> </span><span class="WHIT">
|
|
2060
|
-
<span class='line'>2053</span> </span><span class="WHIT">
|
|
2061
|
-
<span class='line'>2054</span> </span><span class="WHIT">
|
|
2062
|
-
<span class='line'>2055</span> </span><span class="WHIT"> </span><span class="
|
|
2063
|
-
<span class='line'>2056</span> </span><span class="WHIT">
|
|
2064
|
-
<span class='line'>2057</span> </span><span class="WHIT">
|
|
2065
|
-
<span class='line'>2058</span>
|
|
2066
|
-
<span class='line'>2059</span> </span><span class="WHIT">
|
|
2067
|
-
<span class='line'>2060</span>
|
|
2068
|
-
<span class='line'>2061</span> </span><span class="WHIT">
|
|
2069
|
-
<span class='line'>2062</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
2070
|
-
<span class='line'>2063</span>
|
|
2071
|
-
<span class='line'>2064</span>
|
|
2072
|
-
<span class='line'>2065</span>
|
|
2073
|
-
<span class='line'>2066</span> </span><span class="WHIT">
|
|
2074
|
-
<span class='line'>2067</span> </span><span class="WHIT">
|
|
2075
|
-
<span class='line'>2068</span> </span><span class="WHIT">
|
|
2076
|
-
<span class='line'>2069</span>
|
|
2077
|
-
<span class='line'>2070</span> </span><span class="WHIT">
|
|
2078
|
-
<span class='line'>2071</span> </span><span class="WHIT">
|
|
2079
|
-
<span class='line'>2072</span> </span><span class="WHIT">
|
|
2080
|
-
<span class='line'>2073</span> </span><span class="WHIT">
|
|
2081
|
-
<span class='line'>2074</span> </span><span class="WHIT"> </span><span class="
|
|
2082
|
-
<span class='line'>2075</span> </span><span class="WHIT">
|
|
2083
|
-
<span class='line'>2076</span>
|
|
2084
|
-
<span class='line'>2077</span> </span><span class="WHIT">
|
|
2085
|
-
<span class='line'>2078</span> </span><span class="WHIT">
|
|
2086
|
-
<span class='line'>2079</span> </span><span class="WHIT">
|
|
2087
|
-
<span class='line'>2080</span> </span><span class="WHIT"> </span><span class="
|
|
1959
|
+
<span class='line'>1952</span> </span><span class="WHIT"> </span><span class="NAME">canvas.getContext</span><span class="PUNC">(</span><span class="STRN">"2d"</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">drawImage</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1960
|
+
<span class='line'>1953</span>
|
|
1961
|
+
<span class='line'>1954</span> </span><span class="WHIT"> </span><span class="NAME">callback</span><span class="PUNC">(</span><span class="NAME">canvas.toDataURL</span><span class="PUNC">(</span><span class="STRN">"image/png"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1962
|
+
<span class='line'>1955</span> </span><span class="WHIT"> </span><span class="NAME">canvas.remove</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1963
|
+
<span class='line'>1956</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
1964
|
+
<span class='line'>1957</span>
|
|
1965
|
+
<span class='line'>1958</span> </span><span class="WHIT"> </span><span class="NAME">image.src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">url</span><span class="PUNC">;</span><span class="WHIT">
|
|
1966
|
+
<span class='line'>1959</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1967
|
+
<span class='line'>1960</span>
|
|
1968
|
+
<span class='line'>1961</span> </span><span class="WHIT"> </span><span class="NAME">_getImgDataURL</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">svgRoot</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1969
|
+
<span class='line'>1962</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">images</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">len</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ctx</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ur</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
|
|
1970
|
+
<span class='line'>1963</span>
|
|
1971
|
+
<span class='line'>1964</span> </span><span class="WHIT"> </span><span class="NAME">images</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">svgRoot.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">"image"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1972
|
+
<span class='line'>1965</span> </span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">images.length</span><span class="PUNC">;</span><span class="WHIT">
|
|
1973
|
+
<span class='line'>1966</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">len</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">
|
|
1974
|
+
<span class='line'>1967</span> </span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">"canvas"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1975
|
+
<span class='line'>1968</span> </span><span class="WHIT"> </span><span class="COMM">//img = new Image();</span><span class="WHIT">
|
|
1976
|
+
<span class='line'>1969</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">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">len</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">
|
|
1977
|
+
<span class='line'>1970</span> </span><span class="WHIT"> </span><span class="NAME">images</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">setAttribute</span><span class="PUNC">(</span><span class="STRN">"crossorigin"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"anonymous"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1978
|
+
<span class='line'>1971</span> </span><span class="WHIT"> </span><span class="COMM">//img.src = images[i].href;</span><span class="WHIT">
|
|
1979
|
+
<span class='line'>1972</span> </span><span class="WHIT"> </span><span class="COMM">//img.onload = function() {</span><span class="WHIT">
|
|
1980
|
+
<span class='line'>1973</span> </span><span class="WHIT"> </span><span class="COMM">// img.crossOrigin = "anonymous";</span><span class="WHIT">
|
|
1981
|
+
<span class='line'>1974</span> </span><span class="WHIT"> </span><span class="NAME">ctx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">canvas.getContext</span><span class="PUNC">(</span><span class="STRN">"2d"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1982
|
+
<span class='line'>1975</span> </span><span class="WHIT"> </span><span class="NAME">canvas.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">images</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">getAttribute</span><span class="PUNC">(</span><span class="STRN">"width"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1983
|
+
<span class='line'>1976</span> </span><span class="WHIT"> </span><span class="NAME">canvas.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">images</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">getAttribute</span><span class="PUNC">(</span><span class="STRN">"height"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1984
|
+
<span class='line'>1977</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1985
|
+
<span class='line'>1978</span> </span><span class="WHIT"> </span><span class="NAME">ctx.drawImage</span><span class="PUNC">(</span><span class="NAME">images</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</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">canvas.width</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">canvas.height</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1986
|
+
<span class='line'>1979</span>
|
|
1987
|
+
<span class='line'>1980</span> </span><span class="WHIT"> </span><span class="COMM">// If the image is not png, the format must be specified here</span><span class="WHIT">
|
|
1988
|
+
<span class='line'>1981</span> </span><span class="WHIT"> </span><span class="NAME">ur</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">canvas.toDataURL</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1989
|
+
<span class='line'>1982</span> </span><span class="WHIT"> </span><span class="NAME">images</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">setAttribute</span><span class="PUNC">(</span><span class="STRN">"xlink:href"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ur</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1990
|
+
<span class='line'>1983</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">err</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
1991
|
+
<span class='line'>1984</span> </span><span class="WHIT"> </span><span class="NAME">console.log</span><span class="PUNC">(</span><span class="STRN">"CORS problem! Image can not be used"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">err</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
1992
|
+
<span class='line'>1985</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1993
|
+
<span class='line'>1986</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1994
|
+
<span class='line'>1987</span> </span><span class="WHIT"> </span><span class="COMM">//canvas.remove();</span><span class="WHIT">
|
|
1995
|
+
<span class='line'>1988</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
1996
|
+
<span class='line'>1989</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
|
|
1997
|
+
<span class='line'>1990</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
1998
|
+
<span class='line'>1991</span>
|
|
1999
|
+
<span class='line'>1992</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
2000
|
+
<span class='line'>1993</span> * Return a data URI of the SVG code representing the construction.
|
|
2001
|
+
<span class='line'>1994</span> * The SVG code of the construction is base64 encoded. The return string starts
|
|
2002
|
+
<span class='line'>1995</span> * with "data:image/svg+xml;base64,...".
|
|
2003
|
+
<span class='line'>1996</span> *
|
|
2004
|
+
<span class='line'>1997</span> * @param {Boolean} ignoreTexts If true, the foreignObject tag is set to display=none.
|
|
2005
|
+
<span class='line'>1998</span> * This is necessary for older versions of Safari. Default: false
|
|
2006
|
+
<span class='line'>1999</span> * @returns {String} data URI string
|
|
2007
|
+
<span class='line'>2000</span> *
|
|
2008
|
+
<span class='line'>2001</span> * @example
|
|
2009
|
+
<span class='line'>2002</span> * var A = board.create('point', [2, 2]);
|
|
2010
|
+
<span class='line'>2003</span> *
|
|
2011
|
+
<span class='line'>2004</span> * var txt = board.renderer.dumpToDataURI(false);
|
|
2012
|
+
<span class='line'>2005</span> * // txt consists of a string of the form
|
|
2013
|
+
<span class='line'>2006</span> * // data:image/svg+xml;base64,PHN2Zy. base64 encoded SVG..+PC9zdmc+
|
|
2014
|
+
<span class='line'>2007</span> * // Behind the comma, there is the base64 encoded SVG code
|
|
2015
|
+
<span class='line'>2008</span> * // which is decoded with atob().
|
|
2016
|
+
<span class='line'>2009</span> * // The call of decodeURIComponent(escape(...)) is necessary
|
|
2017
|
+
<span class='line'>2010</span> * // to handle unicode strings correctly.
|
|
2018
|
+
<span class='line'>2011</span> * var ar = txt.split(',');
|
|
2019
|
+
<span class='line'>2012</span> * document.getElementById('output').value = decodeURIComponent(escape(atob(ar[1])));
|
|
2020
|
+
<span class='line'>2013</span> *
|
|
2021
|
+
<span class='line'>2014</span> * </pre><div id="JXG1bad4bec-6d08-4ce0-9b7f-d817e8dd762d" class="jxgbox" style="width: 300px; height: 300px;"></div>
|
|
2022
|
+
<span class='line'>2015</span> * <textarea id="output2023" rows="5" cols="50"></textarea>
|
|
2023
|
+
<span class='line'>2016</span> * <script type="text/javascript">
|
|
2024
|
+
<span class='line'>2017</span> * (function() {
|
|
2025
|
+
<span class='line'>2018</span> * var board = JXG.JSXGraph.initBoard('JXG1bad4bec-6d08-4ce0-9b7f-d817e8dd762d',
|
|
2026
|
+
<span class='line'>2019</span> * {boundingbox: [-8, 8, 8,-8], axis: true, showcopyright: false, shownavigation: false});
|
|
2027
|
+
<span class='line'>2020</span> * var A = board.create('point', [2, 2]);
|
|
2028
|
+
<span class='line'>2021</span> *
|
|
2029
|
+
<span class='line'>2022</span> * var txt = board.renderer.dumpToDataURI(false);
|
|
2030
|
+
<span class='line'>2023</span> * // txt consists of a string of the form
|
|
2031
|
+
<span class='line'>2024</span> * // data:image/svg+xml;base64,PHN2Zy. base64 encoded SVG..+PC9zdmc+
|
|
2032
|
+
<span class='line'>2025</span> * // Behind the comma, there is the base64 encoded SVG code
|
|
2033
|
+
<span class='line'>2026</span> * // which is decoded with atob().
|
|
2034
|
+
<span class='line'>2027</span> * // The call of decodeURIComponent(escape(...)) is necessary
|
|
2035
|
+
<span class='line'>2028</span> * // to handle unicode strings correctly.
|
|
2036
|
+
<span class='line'>2029</span> * var ar = txt.split(',');
|
|
2037
|
+
<span class='line'>2030</span> * document.getElementById('output2023').value = decodeURIComponent(escape(atob(ar[1])));
|
|
2038
|
+
<span class='line'>2031</span> *
|
|
2039
|
+
<span class='line'>2032</span> * })();
|
|
2040
|
+
<span class='line'>2033</span> *
|
|
2041
|
+
<span class='line'>2034</span> * </script><pre>
|
|
2042
|
+
<span class='line'>2035</span> *
|
|
2043
|
+
<span class='line'>2036</span> */</span><span class="WHIT">
|
|
2044
|
+
<span class='line'>2037</span> </span><span class="WHIT"> </span><span class="NAME">dumpToDataURI</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">ignoreTexts</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2045
|
+
<span class='line'>2038</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">svgRoot</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.svgRoot</span><span class="PUNC">,</span><span class="WHIT">
|
|
2046
|
+
<span class='line'>2039</span> </span><span class="WHIT"> </span><span class="NAME">btoa</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">window.btoa</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">Base64.encode</span><span class="PUNC">,</span><span class="WHIT">
|
|
2047
|
+
<span class='line'>2040</span> </span><span class="WHIT"> </span><span class="NAME">svg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">len</span><span class="PUNC">,</span><span class="WHIT">
|
|
2048
|
+
<span class='line'>2041</span> </span><span class="WHIT"> </span><span class="NAME">values</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
2049
|
+
<span class='line'>2042</span>
|
|
2050
|
+
<span class='line'>2043</span> </span><span class="WHIT"> </span><span class="COMM">// Move all HTML tags (beside the SVG root) of the container</span><span class="WHIT">
|
|
2051
|
+
<span class='line'>2044</span> </span><span class="WHIT"> </span><span class="COMM">// to the foreignObject element inside of the svgRoot node</span><span class="WHIT">
|
|
2052
|
+
<span class='line'>2045</span> </span><span class="WHIT"> </span><span class="COMM">// Problem:</span><span class="WHIT">
|
|
2053
|
+
<span class='line'>2046</span> </span><span class="WHIT"> </span><span class="COMM">// input values are not copied. This can be verified by looking at an innerHTML output</span><span class="WHIT">
|
|
2054
|
+
<span class='line'>2047</span> </span><span class="WHIT"> </span><span class="COMM">// of an input element. Therefore, we do it "by hand".</span><span class="WHIT">
|
|
2055
|
+
<span class='line'>2048</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.container.hasChildNodes</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">Type.exists</span><span class="PUNC">(</span><span class="NAME">this.foreignObjLayer</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2056
|
+
<span class='line'>2049</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">ignoreTexts</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2057
|
+
<span class='line'>2050</span> </span><span class="WHIT"> </span><span class="NAME">this.foreignObjLayer.setAttribute</span><span class="PUNC">(</span><span class="STRN">"display"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"inline"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2058
|
+
<span class='line'>2051</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgRoot.nextSibling</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2059
|
+
<span class='line'>2052</span> </span><span class="WHIT"> </span><span class="COMM">// Copy all value attributes</span><span class="WHIT">
|
|
2060
|
+
<span class='line'>2053</span> </span><span class="WHIT"> </span><span class="NAME">values</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">values.concat</span><span class="PUNC">(</span><span class="NAME">this._getValuesOfDOMElements</span><span class="PUNC">(</span><span class="NAME">svgRoot.nextSibling</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2061
|
+
<span class='line'>2054</span> </span><span class="WHIT"> </span><span class="NAME">this.foreignObjLayer.appendChild</span><span class="PUNC">(</span><span class="NAME">svgRoot.nextSibling</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2062
|
+
<span class='line'>2055</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2063
|
+
<span class='line'>2056</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2064
|
+
<span class='line'>2057</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2065
|
+
<span class='line'>2058</span>
|
|
2066
|
+
<span class='line'>2059</span> </span><span class="WHIT"> </span><span class="NAME">this._getImgDataURL</span><span class="PUNC">(</span><span class="NAME">svgRoot</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2067
|
+
<span class='line'>2060</span>
|
|
2068
|
+
<span class='line'>2061</span> </span><span class="WHIT"> </span><span class="COMM">// Convert the SVG graphic into a string containing SVG code</span><span class="WHIT">
|
|
2069
|
+
<span class='line'>2062</span> </span><span class="WHIT"> </span><span class="NAME">svgRoot.setAttribute</span><span class="PUNC">(</span><span class="STRN">"xmlns"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"http://www.w3.org/2000/svg"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2070
|
+
<span class='line'>2063</span> </span><span class="WHIT"> </span><span class="NAME">svg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">XMLSerializer</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">serializeToString</span><span class="PUNC">(</span><span class="NAME">svgRoot</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2071
|
+
<span class='line'>2064</span>
|
|
2072
|
+
<span class='line'>2065</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">ignoreTexts</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"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2073
|
+
<span class='line'>2066</span> </span><span class="WHIT"> </span><span class="COMM">// Handle SVG texts</span><span class="WHIT">
|
|
2074
|
+
<span class='line'>2067</span> </span><span class="WHIT"> </span><span class="COMM">// Insert all value attributes back into the svg string</span><span class="WHIT">
|
|
2075
|
+
<span class='line'>2068</span> </span><span class="WHIT"> </span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">values.length</span><span class="PUNC">;</span><span class="WHIT">
|
|
2076
|
+
<span class='line'>2069</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">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">len</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">
|
|
2077
|
+
<span class='line'>2070</span> </span><span class="WHIT"> </span><span class="NAME">svg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">svg.replace</span><span class="PUNC">(</span><span class="WHIT">
|
|
2078
|
+
<span class='line'>2071</span> </span><span class="WHIT"> </span><span class="STRN">'id="'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">values</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'"'</span><span class="PUNC">,</span><span class="WHIT">
|
|
2079
|
+
<span class='line'>2072</span> </span><span class="WHIT"> </span><span class="STRN">'id="'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">values</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'" value="'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">values</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</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"> </span><span class="STRN">'"'</span><span class="WHIT">
|
|
2080
|
+
<span class='line'>2073</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2081
|
+
<span class='line'>2074</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2082
|
+
<span class='line'>2075</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2083
|
+
<span class='line'>2076</span>
|
|
2084
|
+
<span class='line'>2077</span> </span><span class="WHIT"> </span><span class="COMM">// if (false) {</span><span class="WHIT">
|
|
2085
|
+
<span class='line'>2078</span> </span><span class="WHIT"> </span><span class="COMM">// // Debug: use example svg image</span><span class="WHIT">
|
|
2086
|
+
<span class='line'>2079</span> </span><span class="WHIT"> </span><span class="COMM">// svg = '<svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="220" height="220"><rect width="66" height="30" x="21" y="32" stroke="#204a87" stroke-width="2" fill="none" /></svg>';</span><span class="WHIT">
|
|
2087
|
+
<span class='line'>2080</span> </span><span class="WHIT"> </span><span class="COMM">// }</span><span class="WHIT">
|
|
2088
2088
|
<span class='line'>2081</span>
|
|
2089
|
-
<span class='line'>2082</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
2090
|
-
<span class='line'>2083</span> </span><span class="WHIT"> </span><span class="
|
|
2091
|
-
<span class='line'>2084</span> </span><span class="WHIT">
|
|
2092
|
-
<span class='line'>2085</span> </span><span class="WHIT"> </span><span class="
|
|
2089
|
+
<span class='line'>2082</span> </span><span class="WHIT"> </span><span class="COMM">// In IE we have to remove the namespace again.</span><span class="WHIT">
|
|
2090
|
+
<span class='line'>2083</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">svg.match</span><span class="PUNC">(</span><span class="REGX">/xmlns="http:\/\/www.w3.org\/2000\/svg"/g</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2091
|
+
<span class='line'>2084</span> </span><span class="WHIT"> </span><span class="NAME">svg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">svg.replace</span><span class="PUNC">(</span><span class="REGX">/xmlns="http:\/\/www.w3.org\/2000\/svg"/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2092
|
+
<span class='line'>2085</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2093
2093
|
<span class='line'>2086</span>
|
|
2094
|
-
<span class='line'>2087</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
2095
|
-
<span class='line'>2088</span> </span><span class="WHIT"> </span><span class="
|
|
2096
|
-
<span class='line'>2089</span> </span><span class="WHIT">
|
|
2097
|
-
<span class='line'>2090</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
2094
|
+
<span class='line'>2087</span> </span><span class="WHIT"> </span><span class="COMM">// Safari fails if the svg string contains a " "</span><span class="WHIT">
|
|
2095
|
+
<span class='line'>2088</span> </span><span class="WHIT"> </span><span class="COMM">// Obsolete with Safari 12+</span><span class="WHIT">
|
|
2096
|
+
<span class='line'>2089</span> </span><span class="WHIT"> </span><span class="NAME">svg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">svg.replace</span><span class="PUNC">(</span><span class="REGX">/ /g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">" "</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2097
|
+
<span class='line'>2090</span> </span><span class="WHIT"> </span><span class="NAME">svg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">svg.replace</span><span class="PUNC">(</span><span class="REGX">/url\("(.*)"\)/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"url($1)"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2098
2098
|
<span class='line'>2091</span>
|
|
2099
|
-
<span class='line'>2092</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
2100
|
-
<span class='line'>2093</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
2101
|
-
<span class='line'>2094</span> </span><span class="WHIT"> </span><span class="
|
|
2102
|
-
<span class='line'>2095</span> </span><span class="WHIT">
|
|
2103
|
-
<span class='line'>2096</span>
|
|
2104
|
-
<span class='line'>2097</span> </span><span class="WHIT">
|
|
2105
|
-
<span class='line'>2098</span> </span><span class="WHIT">
|
|
2106
|
-
<span class='line'>2099</span> </span><span class="WHIT">
|
|
2107
|
-
<span class='line'>2100</span> </span><span class="WHIT">
|
|
2108
|
-
<span class='line'>2101</span>
|
|
2109
|
-
<span class='line'>2102</span> </span><span class="WHIT">
|
|
2110
|
-
<span class='line'>2103</span> </span><span class="WHIT">
|
|
2111
|
-
<span class='line'>2104</span>
|
|
2112
|
-
<span class='line'>2105</span> </span><span class="WHIT">
|
|
2113
|
-
<span class='line'>2106</span>
|
|
2114
|
-
<span class='line'>2107</span>
|
|
2115
|
-
<span class='line'>2108</span>
|
|
2116
|
-
<span class='line'>2109</span>
|
|
2117
|
-
<span class='line'>2110</span>
|
|
2118
|
-
<span class='line'>2111</span> *
|
|
2119
|
-
<span class='line'>2112</span> *
|
|
2120
|
-
<span class='line'>2113</span> *
|
|
2121
|
-
<span class='line'>2114</span> *
|
|
2122
|
-
<span class='line'>2115</span> *
|
|
2123
|
-
<span class='line'>2116</span> *
|
|
2124
|
-
<span class='line'>2117</span> *
|
|
2125
|
-
<span class='line'>2118</span> *
|
|
2126
|
-
<span class='line'>2119</span> *
|
|
2127
|
-
<span class='line'>2120</span> *
|
|
2128
|
-
<span class='line'>2121</span> *
|
|
2129
|
-
<span class='line'>2122</span> * @
|
|
2130
|
-
<span class='line'>2123</span> *
|
|
2131
|
-
<span class='line'>2124</span> * @
|
|
2132
|
-
<span class='line'>2125</span> *
|
|
2133
|
-
<span class='line'>2126</span> *
|
|
2134
|
-
<span class='line'>2127</span> * @
|
|
2135
|
-
<span class='line'>2128</span> *
|
|
2136
|
-
<span class='line'>2129</span> *
|
|
2137
|
-
<span class='line'>2130</span> *
|
|
2138
|
-
<span class='line'>2131</span>
|
|
2139
|
-
<span class='line'>2132</span>
|
|
2140
|
-
<span class='line'>2133</span>
|
|
2141
|
-
<span class='line'>2134</span>
|
|
2142
|
-
<span class='line'>2135</span>
|
|
2143
|
-
<span class='line'>2136</span>
|
|
2144
|
-
<span class='line'>2137</span> </span><span class="WHIT">
|
|
2145
|
-
<span class='line'>2138</span> </span><span class="WHIT"> </span><span class="
|
|
2146
|
-
<span class='line'>2139</span>
|
|
2147
|
-
<span class='line'>2140</span> </span><span class="WHIT">
|
|
2148
|
-
<span class='line'>2141</span>
|
|
2149
|
-
<span class='line'>2142</span> </span><span class="WHIT"> </span><span class="
|
|
2150
|
-
<span class='line'>2143</span> </span><span class="WHIT"> </span><span class="
|
|
2099
|
+
<span class='line'>2092</span> </span><span class="WHIT"> </span><span class="COMM">// Move all HTML tags back from</span><span class="WHIT">
|
|
2100
|
+
<span class='line'>2093</span> </span><span class="WHIT"> </span><span class="COMM">// the foreignObject element to the container</span><span class="WHIT">
|
|
2101
|
+
<span class='line'>2094</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.exists</span><span class="PUNC">(</span><span class="NAME">this.foreignObjLayer</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.foreignObjLayer.hasChildNodes</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2102
|
+
<span class='line'>2095</span> </span><span class="WHIT"> </span><span class="COMM">// Restore all HTML elements</span><span class="WHIT">
|
|
2103
|
+
<span class='line'>2096</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.foreignObjLayer.firstChild</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2104
|
+
<span class='line'>2097</span> </span><span class="WHIT"> </span><span class="NAME">this.container.appendChild</span><span class="PUNC">(</span><span class="NAME">this.foreignObjLayer.firstChild</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2105
|
+
<span class='line'>2098</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2106
|
+
<span class='line'>2099</span> </span><span class="WHIT"> </span><span class="NAME">this.foreignObjLayer.setAttribute</span><span class="PUNC">(</span><span class="STRN">"display"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2107
|
+
<span class='line'>2100</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2108
|
+
<span class='line'>2101</span>
|
|
2109
|
+
<span class='line'>2102</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"data:image/svg+xml;base64,"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">btoa</span><span class="PUNC">(</span><span class="NAME">unescape</span><span class="PUNC">(</span><span class="NAME">encodeURIComponent</span><span class="PUNC">(</span><span class="NAME">svg</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2110
|
+
<span class='line'>2103</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
2111
|
+
<span class='line'>2104</span>
|
|
2112
|
+
<span class='line'>2105</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
2113
|
+
<span class='line'>2106</span> * Convert the SVG construction into an HTML canvas image.
|
|
2114
|
+
<span class='line'>2107</span> * This works for all SVG supporting browsers. Implemented as Promise.
|
|
2115
|
+
<span class='line'>2108</span> * <p>
|
|
2116
|
+
<span class='line'>2109</span> * Might fail if any text element or foreign object element contains SVG. This
|
|
2117
|
+
<span class='line'>2110</span> * is the case e.g. for the default fullscreen symbol.
|
|
2118
|
+
<span class='line'>2111</span> * <p>
|
|
2119
|
+
<span class='line'>2112</span> * For IE, it is realized as function.
|
|
2120
|
+
<span class='line'>2113</span> * It works from version 9, with the exception that HTML texts
|
|
2121
|
+
<span class='line'>2114</span> * are ignored on IE. The drawing is done with a delay of
|
|
2122
|
+
<span class='line'>2115</span> * 200 ms. Otherwise there would be problems with IE.
|
|
2123
|
+
<span class='line'>2116</span> *
|
|
2124
|
+
<span class='line'>2117</span> * @param {String} canvasId Id of an HTML canvas element
|
|
2125
|
+
<span class='line'>2118</span> * @param {Number} w Width in pixel of the dumped image, i.e. of the canvas tag.
|
|
2126
|
+
<span class='line'>2119</span> * @param {Number} h Height in pixel of the dumped image, i.e. of the canvas tag.
|
|
2127
|
+
<span class='line'>2120</span> * @param {Boolean} ignoreTexts If true, the foreignObject tag is taken out from the SVG root.
|
|
2128
|
+
<span class='line'>2121</span> * This is necessary for older versions of Safari. Default: false
|
|
2129
|
+
<span class='line'>2122</span> * @returns {Promise} Promise object
|
|
2130
|
+
<span class='line'>2123</span> *
|
|
2131
|
+
<span class='line'>2124</span> * @example
|
|
2132
|
+
<span class='line'>2125</span> * board.renderer.dumpToCanvas('canvas').then(function() { console.log('done'); });
|
|
2133
|
+
<span class='line'>2126</span> *
|
|
2134
|
+
<span class='line'>2127</span> * @example
|
|
2135
|
+
<span class='line'>2128</span> * // IE 11 example:
|
|
2136
|
+
<span class='line'>2129</span> * board.renderer.dumpToCanvas('canvas');
|
|
2137
|
+
<span class='line'>2130</span> * setTimeout(function() { console.log('done'); }, 400);
|
|
2138
|
+
<span class='line'>2131</span> */</span><span class="WHIT">
|
|
2139
|
+
<span class='line'>2132</span> </span><span class="WHIT"> </span><span class="NAME">dumpToCanvas</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">canvasId</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="NAME">ignoreTexts</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2140
|
+
<span class='line'>2133</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">svg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tmpImg</span><span class="PUNC">,</span><span class="WHIT">
|
|
2141
|
+
<span class='line'>2134</span> </span><span class="WHIT"> </span><span class="NAME">cv</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ctx</span><span class="PUNC">,</span><span class="WHIT">
|
|
2142
|
+
<span class='line'>2135</span> </span><span class="WHIT"> </span><span class="NAME">doc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.container.ownerDocument</span><span class="PUNC">;</span><span class="WHIT">
|
|
2143
|
+
<span class='line'>2136</span>
|
|
2144
|
+
<span class='line'>2137</span> </span><span class="WHIT"> </span><span class="COMM">// Prepare the canvas element</span><span class="WHIT">
|
|
2145
|
+
<span class='line'>2138</span> </span><span class="WHIT"> </span><span class="NAME">cv</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">doc.getElementById</span><span class="PUNC">(</span><span class="NAME">canvasId</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2146
|
+
<span class='line'>2139</span>
|
|
2147
|
+
<span class='line'>2140</span> </span><span class="WHIT"> </span><span class="COMM">// Clear the canvas</span><span class="WHIT">
|
|
2148
|
+
<span class='line'>2141</span> </span><span class="WHIT"> </span><span class="COMM">/* eslint-disable no-self-assign */</span><span class="WHIT">
|
|
2149
|
+
<span class='line'>2142</span> </span><span class="WHIT"> </span><span class="NAME">cv.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">cv.width</span><span class="PUNC">;</span><span class="WHIT">
|
|
2150
|
+
<span class='line'>2143</span> </span><span class="WHIT"> </span><span class="COMM">/* eslint-enable no-self-assign */</span><span class="WHIT">
|
|
2151
2151
|
<span class='line'>2144</span>
|
|
2152
|
-
<span class='line'>2145</span> </span><span class="WHIT"> </span><span class="
|
|
2153
|
-
<span class='line'>2146</span> </span><span class="WHIT"> </span><span class="
|
|
2154
|
-
<span class='line'>2147</span> </span><span class="WHIT">
|
|
2155
|
-
<span class='line'>2148</span> </span><span class="WHIT">
|
|
2156
|
-
<span class='line'>2149</span>
|
|
2157
|
-
<span class='line'>2150</span> </span><span class="WHIT">
|
|
2158
|
-
<span class='line'>2151</span> </span><span class="WHIT">
|
|
2159
|
-
<span class='line'>2152</span> </span><span class="WHIT"> </span><span class="
|
|
2160
|
-
<span class='line'>2153</span> </span><span class="WHIT"> </span><span class="NAME">cv.
|
|
2161
|
-
<span class='line'>2154</span> </span><span class="WHIT"> </span><span class="
|
|
2162
|
-
<span class='line'>2155</span> </span><span class="WHIT">
|
|
2163
|
-
<span class='line'>2156</span>
|
|
2164
|
-
<span class='line'>2157</span> </span><span class="WHIT">
|
|
2165
|
-
<span class='line'>2158</span> </span><span class="WHIT">
|
|
2166
|
-
<span class='line'>2159</span> </span><span class="WHIT">
|
|
2167
|
-
<span class='line'>2160</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
2152
|
+
<span class='line'>2145</span> </span><span class="WHIT"> </span><span class="NAME">ctx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">cv.getContext</span><span class="PUNC">(</span><span class="STRN">"2d"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2153
|
+
<span class='line'>2146</span> </span><span class="WHIT"> </span><span class="KEYW">if</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">undefined</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">h</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2154
|
+
<span class='line'>2147</span> </span><span class="WHIT"> </span><span class="NAME">cv.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseFloat</span><span class="PUNC">(</span><span class="NAME">w</span><span class="PUNC">)</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">
|
|
2155
|
+
<span class='line'>2148</span> </span><span class="WHIT"> </span><span class="NAME">cv.style.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseFloat</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</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">
|
|
2156
|
+
<span class='line'>2149</span> </span><span class="WHIT"> </span><span class="COMM">// Scale twice the CSS size to make the image crisp</span><span class="WHIT">
|
|
2157
|
+
<span class='line'>2150</span> </span><span class="WHIT"> </span><span class="COMM">// cv.setAttribute('width', 2 * parseFloat(wOrg));</span><span class="WHIT">
|
|
2158
|
+
<span class='line'>2151</span> </span><span class="WHIT"> </span><span class="COMM">// cv.setAttribute('height', 2 * parseFloat(hOrg));</span><span class="WHIT">
|
|
2159
|
+
<span class='line'>2152</span> </span><span class="WHIT"> </span><span class="COMM">// ctx.scale(2 * wOrg / w, 2 * hOrg / h);</span><span class="WHIT">
|
|
2160
|
+
<span class='line'>2153</span> </span><span class="WHIT"> </span><span class="NAME">cv.setAttribute</span><span class="PUNC">(</span><span class="STRN">"width"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parseFloat</span><span class="PUNC">(</span><span class="NAME">w</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2161
|
+
<span class='line'>2154</span> </span><span class="WHIT"> </span><span class="NAME">cv.setAttribute</span><span class="PUNC">(</span><span class="STRN">"height"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">parseFloat</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2162
|
+
<span class='line'>2155</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2163
|
+
<span class='line'>2156</span>
|
|
2164
|
+
<span class='line'>2157</span> </span><span class="WHIT"> </span><span class="COMM">// Display the SVG string as data-uri in an HTML img.</span><span class="WHIT">
|
|
2165
|
+
<span class='line'>2158</span> </span><span class="WHIT"> </span><span class="NAME">tmpImg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Image</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2166
|
+
<span class='line'>2159</span> </span><span class="WHIT"> </span><span class="NAME">svg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dumpToDataURI</span><span class="PUNC">(</span><span class="NAME">ignoreTexts</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2167
|
+
<span class='line'>2160</span> </span><span class="WHIT"> </span><span class="NAME">tmpImg.src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">svg</span><span class="PUNC">;</span><span class="WHIT">
|
|
2168
2168
|
<span class='line'>2161</span>
|
|
2169
|
-
<span class='line'>2162</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
2170
|
-
<span class='line'>2163</span> </span><span class="WHIT"> </span><span class="
|
|
2171
|
-
<span class='line'>2164</span> </span><span class="WHIT">
|
|
2172
|
-
<span class='line'>2165</span> </span><span class="WHIT">
|
|
2173
|
-
<span class='line'>2166</span>
|
|
2174
|
-
<span class='line'>2167</span> </span><span class="WHIT">
|
|
2175
|
-
<span class='line'>2168</span> </span><span class="WHIT">
|
|
2176
|
-
<span class='line'>2169</span> </span><span class="WHIT">
|
|
2177
|
-
<span class='line'>2170</span> </span><span class="WHIT">
|
|
2178
|
-
<span class='line'>2171</span> </span><span class="WHIT">
|
|
2179
|
-
<span class='line'>2172</span> </span><span class="WHIT">
|
|
2180
|
-
<span class='line'>2173</span> </span><span class="WHIT">
|
|
2181
|
-
<span class='line'>2174</span> </span><span class="WHIT">
|
|
2182
|
-
<span class='line'>2175</span> </span><span class="WHIT">
|
|
2183
|
-
<span class='line'>2176</span> </span><span class="WHIT">
|
|
2184
|
-
<span class='line'>2177</span>
|
|
2185
|
-
<span class='line'>2178</span> </span><span class="WHIT">
|
|
2186
|
-
<span class='line'>2179</span> </span><span class="WHIT"> </span><span class="
|
|
2187
|
-
<span class='line'>2180</span> </span><span class="WHIT">
|
|
2188
|
-
<span class='line'>2181</span> </span><span class="WHIT">
|
|
2189
|
-
<span class='line'>2182</span>
|
|
2190
|
-
<span class='line'>2183</span> </span><span class="WHIT">
|
|
2191
|
-
<span class='line'>2184</span> </span><span class="WHIT"> </span><span class="KEYW">
|
|
2192
|
-
<span class='line'>2185</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2193
|
-
<span class='line'>2186</span> </span><span class="WHIT">
|
|
2194
|
-
<span class='line'>2187</span> </span><span class="WHIT">
|
|
2195
|
-
<span class='line'>2188</span> </span><span class="WHIT">
|
|
2196
|
-
<span class='line'>2189</span>
|
|
2197
|
-
<span class='line'>2190</span> </span><span class="WHIT">
|
|
2198
|
-
<span class='line'>2191</span>
|
|
2199
|
-
<span class='line'>2192</span>
|
|
2200
|
-
<span class='line'>2193</span>
|
|
2201
|
-
<span class='line'>2194</span>
|
|
2202
|
-
<span class='line'>2195</span>
|
|
2203
|
-
<span class='line'>2196</span> *
|
|
2204
|
-
<span class='line'>2197</span> *
|
|
2205
|
-
<span class='line'>2198</span> *
|
|
2206
|
-
<span class='line'>2199</span> *
|
|
2207
|
-
<span class='line'>2200</span> * <
|
|
2208
|
-
<span class='line'>2201</span> * <
|
|
2209
|
-
<span class='line'>2202</span> *
|
|
2210
|
-
<span class='line'>2203</span> *
|
|
2211
|
-
<span class='line'>2204</span> *
|
|
2212
|
-
<span class='line'>2205</span> *
|
|
2213
|
-
<span class='line'>2206</span> *
|
|
2214
|
-
<span class='line'>2207</span> *
|
|
2215
|
-
<span class='line'>2208</span> *
|
|
2216
|
-
<span class='line'>2209</span> * @
|
|
2217
|
-
<span class='line'>2210</span>
|
|
2218
|
-
<span class='line'>2211</span>
|
|
2219
|
-
<span class='line'>2212</span>
|
|
2220
|
-
<span class='line'>2213</span>
|
|
2221
|
-
<span class='line'>2214</span>
|
|
2222
|
-
<span class='line'>2215</span>
|
|
2223
|
-
<span class='line'>2216</span> </span><span class="WHIT">
|
|
2224
|
-
<span class='line'>2217</span> </span><span class="WHIT">
|
|
2225
|
-
<span class='line'>2218</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2226
|
-
<span class='line'>2219</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2227
|
-
<span class='line'>2220</span> </span><span class="WHIT"> </span><span class="
|
|
2228
|
-
<span class='line'>2221</span> </span><span class="WHIT"> </span><span class="
|
|
2229
|
-
<span class='line'>2222</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2230
|
-
<span class='line'>2223</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2231
|
-
<span class='line'>2224</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2232
|
-
<span class='line'>2225</span>
|
|
2233
|
-
<span class='line'>2226</span> </span><span class="WHIT">
|
|
2234
|
-
<span class='line'>2227</span> </span><span class="WHIT"> </span><span class="
|
|
2235
|
-
<span class='line'>2228</span> </span><span class="WHIT">
|
|
2236
|
-
<span class='line'>2229</span>
|
|
2237
|
-
<span class='line'>2230</span>
|
|
2238
|
-
<span class='line'>2231</span> </span><span class="WHIT"> </span><span class="
|
|
2239
|
-
<span class='line'>2232</span>
|
|
2240
|
-
<span class='line'>2233</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
2241
|
-
<span class='line'>2234</span>
|
|
2242
|
-
<span class='line'>2235</span> </span><span class="WHIT">
|
|
2243
|
-
<span class='line'>2236</span> </span><span class="WHIT">
|
|
2244
|
-
<span class='line'>2237</span>
|
|
2245
|
-
<span class='line'>2238</span> </span><span class="WHIT"> </span><span class="
|
|
2246
|
-
<span class='line'>2239</span> </span><span class="WHIT"> </span><span class="NAME">newImg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">
|
|
2247
|
-
<span class='line'>2240</span> </span><span class="WHIT"> </span><span class="NAME">img</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="
|
|
2248
|
-
<span class='line'>2241</span> </span><span class="WHIT">
|
|
2249
|
-
<span class='line'>2242</span> </span><span class="WHIT">
|
|
2250
|
-
<span class='line'>2243</span>
|
|
2251
|
-
<span class='line'>2244</span> </span><span class="WHIT">
|
|
2252
|
-
<span class='line'>2245</span> </span><span class="WHIT">
|
|
2253
|
-
<span class='line'>2246</span> </span><span class="WHIT">
|
|
2254
|
-
<span class='line'>2247</span> </span><span class="WHIT">
|
|
2255
|
-
<span class='line'>2248</span>
|
|
2256
|
-
<span class='line'>2249</span> </span><span class="WHIT">
|
|
2257
|
-
<span class='line'>2250</span> </span><span class="WHIT">
|
|
2258
|
-
<span class='line'>2251</span>
|
|
2259
|
-
<span class='line'>2252</span> </span><span class="WHIT"> </span><span class="
|
|
2260
|
-
<span class='line'>2253</span> </span><span class="WHIT"> </span><span class="NAME">node.style.
|
|
2261
|
-
<span class='line'>2254</span> </span><span class="WHIT"> </span><span class="NAME">node.style.
|
|
2262
|
-
<span class='line'>2255</span> </span><span class="WHIT"> </span><span class="NAME">node.style.
|
|
2263
|
-
<span class='line'>2256</span>
|
|
2264
|
-
<span class='line'>2257</span>
|
|
2265
|
-
<span class='line'>2258</span> </span><span class="WHIT">
|
|
2266
|
-
<span class='line'>2259</span> </span><span class="WHIT"> </span><span class="
|
|
2267
|
-
<span class='line'>2260</span> </span><span class="WHIT"> </span><span class="
|
|
2268
|
-
<span class='line'>2261</span> </span><span class="WHIT">
|
|
2269
|
-
<span class='line'>2262</span>
|
|
2270
|
-
<span class='line'>2263</span> </span><span class="WHIT">
|
|
2271
|
-
<span class='line'>2264</span> </span><span class="WHIT"> </span><span class="
|
|
2272
|
-
<span class='line'>2265</span> </span><span class="WHIT"> </span><span class="
|
|
2273
|
-
<span class='line'>2266</span> </span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">
|
|
2274
|
-
<span class='line'>2267</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2275
|
-
<span class='line'>2268</span> </span><span class="WHIT"> </span><span class="NAME">canvas.
|
|
2276
|
-
<span class='line'>2269</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2277
|
-
<span class='line'>2270</span> </span><span class="WHIT">
|
|
2278
|
-
<span class='line'>2271</span> </span><span class="WHIT"> </span><span class="
|
|
2279
|
-
<span class='line'>2272</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2280
|
-
<span class='line'>2273</span> </span><span class="WHIT"> </span><span class="
|
|
2281
|
-
<span class='line'>2274</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2282
|
-
<span class='line'>2275</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2283
|
-
<span class='line'>2276</span>
|
|
2284
|
-
<span class='line'>2277</span> </span><span class="WHIT">
|
|
2285
|
-
<span class='line'>2278</span> </span><span class="WHIT"> </span><span class="COMM">//
|
|
2286
|
-
<span class='line'>2279</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2287
|
-
<span class='line'>2280</span> </span><span class="WHIT">
|
|
2288
|
-
<span class='line'>2281</span>
|
|
2289
|
-
<span class='line'>2282</span> </span><span class="WHIT">
|
|
2290
|
-
<span class='line'>2283</span> </span><span class="WHIT"> </span><span class="
|
|
2291
|
-
<span class='line'>2284</span> </span><span class="WHIT">
|
|
2292
|
-
<span class='line'>2285</span> </span><span class="WHIT"> </span><span class="
|
|
2293
|
-
<span class='line'>2286</span>
|
|
2294
|
-
<span class='line'>2287</span> </span><span class="WHIT"> </span><span class="
|
|
2295
|
-
<span class='line'>2288</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2296
|
-
<span class='line'>2289</span> </span><span class="WHIT">
|
|
2297
|
-
<span class='line'>2290</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
2298
|
-
<span class='line'>2291</span>
|
|
2299
|
-
<span class='line'>2292</span>
|
|
2300
|
-
<span class='line'>2293</span> </span><span class="WHIT">
|
|
2301
|
-
<span class='line'>2294</span> </span><span class="WHIT">
|
|
2302
|
-
<span class='line'>2295</span> </span><span class="WHIT">
|
|
2303
|
-
<span class='line'>2296</span> </span><span class="WHIT">
|
|
2304
|
-
<span class='line'>2297</span>
|
|
2305
|
-
<span class='line'>2298</span> </span><span class="WHIT">
|
|
2306
|
-
<span class='line'>2299</span> </span><span class="WHIT"> </span><span class="
|
|
2307
|
-
<span class='line'>2300</span>
|
|
2308
|
-
<span class='line'>2301</span> </span><span class="WHIT">
|
|
2309
|
-
<span class='line'>2302</span> </span><span class="WHIT"> </span><span class="
|
|
2310
|
-
<span class='line'>2303</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2311
|
-
<span class='line'>2304</span>
|
|
2312
|
-
<span class='line'>2305</span>
|
|
2313
|
-
<span class='line'>2306</span> </span><span class="WHIT">
|
|
2314
|
-
<span class='line'>2307</span> </span><span class="WHIT">
|
|
2315
|
-
<span class='line'>2308</span> </span><span class="WHIT"> </span><span class="
|
|
2316
|
-
<span class='line'>2309</span>
|
|
2317
|
-
<span class='line'>2310</span>
|
|
2318
|
-
<span class='line'>2311</span> </span><span class="WHIT">
|
|
2319
|
-
<span class='line'>2312</span> </span><span class="WHIT">
|
|
2320
|
-
<span class='line'>2313</span> </span><span class="WHIT"> </span><span class="PUNC">
|
|
2321
|
-
<span class='line'>2314</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC"
|
|
2322
|
-
<span class='line'>2315</span>
|
|
2323
|
-
<span class='line'>2316</span> </span><span class="WHIT">
|
|
2324
|
-
<span class='line'>2317</span> </span><span class="WHIT">
|
|
2325
|
-
<span class='line'>2318</span> </span><span class="WHIT">
|
|
2326
|
-
<span class='line'>2319</span>
|
|
2327
|
-
<span class='line'>2320</span> </span><span class="WHIT">
|
|
2328
|
-
<span class='line'>2321</span> </span><span class="WHIT">
|
|
2329
|
-
<span class='line'>2322</span> </span><span class="WHIT"> </span><span class="NAME">
|
|
2330
|
-
<span class='line'>2323</span> </span><span class="WHIT">
|
|
2331
|
-
<span class='line'>2324</span>
|
|
2332
|
-
<span class='line'>2325</span>
|
|
2333
|
-
<span class='line'>2326</span> </span><span class="WHIT"> </span><span class="KEYW">
|
|
2334
|
-
<span class='line'>2327</span> </span><span class="WHIT">
|
|
2335
|
-
<span class='line'>2328</span> </span><span class="WHIT">
|
|
2336
|
-
<span class='line'>2329</span> </span><span class="
|
|
2169
|
+
<span class='line'>2162</span> </span><span class="WHIT"> </span><span class="COMM">// Finally, draw the HTML img in the canvas.</span><span class="WHIT">
|
|
2170
|
+
<span class='line'>2163</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="PUNC">(</span><span class="STRN">"Promise"</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">window</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2171
|
+
<span class='line'>2164</span> </span><span class="WHIT"> </span><span class="NAME">tmpImg.onload</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">
|
|
2172
|
+
<span class='line'>2165</span> </span><span class="WHIT"> </span><span class="COMM">// IE needs a pause...</span><span class="WHIT">
|
|
2173
|
+
<span class='line'>2166</span> </span><span class="WHIT"> </span><span class="COMM">// Seems to be broken</span><span class="WHIT">
|
|
2174
|
+
<span class='line'>2167</span> </span><span class="WHIT"> </span><span class="NAME">window.setTimeout</span><span class="PUNC">(</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">
|
|
2175
|
+
<span class='line'>2168</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2176
|
+
<span class='line'>2169</span> </span><span class="WHIT"> </span><span class="NAME">ctx.drawImage</span><span class="PUNC">(</span><span class="NAME">tmpImg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">w</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">h</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2177
|
+
<span class='line'>2170</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">err</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2178
|
+
<span class='line'>2171</span> </span><span class="WHIT"> </span><span class="NAME">console.log</span><span class="PUNC">(</span><span class="STRN">"screenshots not longer supported on IE"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2179
|
+
<span class='line'>2172</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2180
|
+
<span class='line'>2173</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">200</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2181
|
+
<span class='line'>2174</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
2182
|
+
<span class='line'>2175</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">
|
|
2183
|
+
<span class='line'>2176</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2184
|
+
<span class='line'>2177</span>
|
|
2185
|
+
<span class='line'>2178</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Promise</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">resolve</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">reject</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2186
|
+
<span class='line'>2179</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2187
|
+
<span class='line'>2180</span> </span><span class="WHIT"> </span><span class="NAME">tmpImg.onload</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">
|
|
2188
|
+
<span class='line'>2181</span> </span><span class="WHIT"> </span><span class="NAME">ctx.drawImage</span><span class="PUNC">(</span><span class="NAME">tmpImg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">w</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">h</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2189
|
+
<span class='line'>2182</span> </span><span class="WHIT"> </span><span class="NAME">resolve</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2190
|
+
<span class='line'>2183</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
2191
|
+
<span class='line'>2184</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">
|
|
2192
|
+
<span class='line'>2185</span> </span><span class="WHIT"> </span><span class="NAME">reject</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2193
|
+
<span class='line'>2186</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2194
|
+
<span class='line'>2187</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2195
|
+
<span class='line'>2188</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
2196
|
+
<span class='line'>2189</span>
|
|
2197
|
+
<span class='line'>2190</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
2198
|
+
<span class='line'>2191</span> * Display SVG image in html img-tag which enables
|
|
2199
|
+
<span class='line'>2192</span> * easy download for the user.
|
|
2200
|
+
<span class='line'>2193</span> *
|
|
2201
|
+
<span class='line'>2194</span> * Support:
|
|
2202
|
+
<span class='line'>2195</span> * <ul>
|
|
2203
|
+
<span class='line'>2196</span> * <li> IE: No
|
|
2204
|
+
<span class='line'>2197</span> * <li> Edge: full
|
|
2205
|
+
<span class='line'>2198</span> * <li> Firefox: full
|
|
2206
|
+
<span class='line'>2199</span> * <li> Chrome: full
|
|
2207
|
+
<span class='line'>2200</span> * <li> Safari: full (No text support in versions prior to 12).
|
|
2208
|
+
<span class='line'>2201</span> * </ul>
|
|
2209
|
+
<span class='line'>2202</span> *
|
|
2210
|
+
<span class='line'>2203</span> * @param {JXG.Board} board Link to the board.
|
|
2211
|
+
<span class='line'>2204</span> * @param {String} imgId Optional id of an img object. If given and different from the empty string,
|
|
2212
|
+
<span class='line'>2205</span> * the screenshot is copied to this img object. The width and height will be set to the values of the
|
|
2213
|
+
<span class='line'>2206</span> * JSXGraph container.
|
|
2214
|
+
<span class='line'>2207</span> * @param {Boolean} ignoreTexts If set to true, the foreignObject is taken out of the
|
|
2215
|
+
<span class='line'>2208</span> * SVGRoot and texts are not displayed. This is mandatory for Safari. Default: false
|
|
2216
|
+
<span class='line'>2209</span> * @return {Object} the svg renderer object
|
|
2217
|
+
<span class='line'>2210</span> */</span><span class="WHIT">
|
|
2218
|
+
<span class='line'>2211</span> </span><span class="WHIT"> </span><span class="NAME">screenshot</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">imgId</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">ignoreTexts</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2219
|
+
<span class='line'>2212</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT">
|
|
2220
|
+
<span class='line'>2213</span> </span><span class="WHIT"> </span><span class="NAME">doc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.container.ownerDocument</span><span class="PUNC">,</span><span class="WHIT">
|
|
2221
|
+
<span class='line'>2214</span> </span><span class="WHIT"> </span><span class="NAME">parent</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.container.parentNode</span><span class="PUNC">,</span><span class="WHIT">
|
|
2222
|
+
<span class='line'>2215</span> </span><span class="WHIT"> </span><span class="COMM">// cPos,</span><span class="WHIT">
|
|
2223
|
+
<span class='line'>2216</span> </span><span class="WHIT"> </span><span class="COMM">// cssTxt,</span><span class="WHIT">
|
|
2224
|
+
<span class='line'>2217</span> </span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">id</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">img</span><span class="PUNC">,</span><span class="WHIT">
|
|
2225
|
+
<span class='line'>2218</span> </span><span class="WHIT"> </span><span class="NAME">button</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">buttonText</span><span class="PUNC">,</span><span class="WHIT">
|
|
2226
|
+
<span class='line'>2219</span> </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">
|
|
2227
|
+
<span class='line'>2220</span> </span><span class="WHIT"> </span><span class="NAME">bas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">board.attr.screenshot</span><span class="PUNC">,</span><span class="WHIT">
|
|
2228
|
+
<span class='line'>2221</span> </span><span class="WHIT"> </span><span class="NAME">navbar</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">navbarDisplay</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">insert</span><span class="PUNC">,</span><span class="WHIT">
|
|
2229
|
+
<span class='line'>2222</span> </span><span class="WHIT"> </span><span class="NAME">newImg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
|
|
2230
|
+
<span class='line'>2223</span> </span><span class="WHIT"> </span><span class="NAME">_copyCanvasToImg</span><span class="PUNC">,</span><span class="WHIT">
|
|
2231
|
+
<span class='line'>2224</span> </span><span class="WHIT"> </span><span class="NAME">isDebug</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
|
|
2232
|
+
<span class='line'>2225</span>
|
|
2233
|
+
<span class='line'>2226</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"no"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2234
|
+
<span class='line'>2227</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">
|
|
2235
|
+
<span class='line'>2228</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2236
|
+
<span class='line'>2229</span>
|
|
2237
|
+
<span class='line'>2230</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">bas.scale</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">this.container.getBoundingClientRect</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">width</span><span class="PUNC">;</span><span class="WHIT">
|
|
2238
|
+
<span class='line'>2231</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">bas.scale</span><span class="WHIT"> </span><span class="PUNC">*</span><span class="WHIT"> </span><span class="NAME">this.container.getBoundingClientRect</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">;</span><span class="WHIT">
|
|
2239
|
+
<span class='line'>2232</span>
|
|
2240
|
+
<span class='line'>2233</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">imgId</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">imgId</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2241
|
+
<span class='line'>2234</span> </span><span class="WHIT"> </span><span class="NAME">newImg</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">
|
|
2242
|
+
<span class='line'>2235</span> </span><span class="WHIT"> </span><span class="NAME">img</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Image</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">//doc.createElement('img');</span><span class="WHIT">
|
|
2243
|
+
<span class='line'>2236</span> </span><span class="WHIT"> </span><span class="NAME">img.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">w</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
2244
|
+
<span class='line'>2237</span> </span><span class="WHIT"> </span><span class="NAME">img.style.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">h</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
2245
|
+
<span class='line'>2238</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">
|
|
2246
|
+
<span class='line'>2239</span> </span><span class="WHIT"> </span><span class="NAME">newImg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
|
|
2247
|
+
<span class='line'>2240</span> </span><span class="WHIT"> </span><span class="NAME">img</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">doc.getElementById</span><span class="PUNC">(</span><span class="NAME">imgId</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2248
|
+
<span class='line'>2241</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2249
|
+
<span class='line'>2242</span> </span><span class="WHIT"> </span><span class="COMM">// img.crossOrigin = 'anonymous';</span><span class="WHIT">
|
|
2250
|
+
<span class='line'>2243</span>
|
|
2251
|
+
<span class='line'>2244</span> </span><span class="WHIT"> </span><span class="COMM">// Create div which contains canvas element and close button</span><span class="WHIT">
|
|
2252
|
+
<span class='line'>2245</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">newImg</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2253
|
+
<span class='line'>2246</span> </span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">doc.createElement</span><span class="PUNC">(</span><span class="STRN">"div"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2254
|
+
<span class='line'>2247</span> </span><span class="WHIT"> </span><span class="NAME">node.style.cssText</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">bas.css</span><span class="PUNC">;</span><span class="WHIT">
|
|
2255
|
+
<span class='line'>2248</span> </span><span class="WHIT"> </span><span class="NAME">node.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">w</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
2256
|
+
<span class='line'>2249</span> </span><span class="WHIT"> </span><span class="NAME">node.style.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">h</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
2257
|
+
<span class='line'>2250</span> </span><span class="WHIT"> </span><span class="NAME">node.style.zIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.container.style.zIndex</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">120</span><span class="PUNC">;</span><span class="WHIT">
|
|
2258
|
+
<span class='line'>2251</span>
|
|
2259
|
+
<span class='line'>2252</span> </span><span class="WHIT"> </span><span class="COMM">// Try to position the div exactly over the JSXGraph board</span><span class="WHIT">
|
|
2260
|
+
<span class='line'>2253</span> </span><span class="WHIT"> </span><span class="NAME">node.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
|
|
2261
|
+
<span class='line'>2254</span> </span><span class="WHIT"> </span><span class="NAME">node.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.container.offsetTop</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">
|
|
2262
|
+
<span class='line'>2255</span> </span><span class="WHIT"> </span><span class="NAME">node.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.container.offsetLeft</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">
|
|
2263
|
+
<span class='line'>2256</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2264
|
+
<span class='line'>2257</span>
|
|
2265
|
+
<span class='line'>2258</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">isDebug</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2266
|
+
<span class='line'>2259</span> </span><span class="WHIT"> </span><span class="COMM">// Create canvas element and add it to the DOM</span><span class="WHIT">
|
|
2267
|
+
<span class='line'>2260</span> </span><span class="WHIT"> </span><span class="COMM">// It will be removed after the image has been stored.</span><span class="WHIT">
|
|
2268
|
+
<span class='line'>2261</span> </span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">doc.createElement</span><span class="PUNC">(</span><span class="STRN">"canvas"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2269
|
+
<span class='line'>2262</span> </span><span class="WHIT"> </span><span class="NAME">id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Math.random</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">toString</span><span class="PUNC">(</span><span class="NUMB">36</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">substr</span><span class="PUNC">(</span><span class="NUMB">2</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">5</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2270
|
+
<span class='line'>2263</span> </span><span class="WHIT"> </span><span class="NAME">canvas.setAttribute</span><span class="PUNC">(</span><span class="STRN">"id"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">id</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2271
|
+
<span class='line'>2264</span> </span><span class="WHIT"> </span><span class="NAME">canvas.setAttribute</span><span class="PUNC">(</span><span class="STRN">"width"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">w</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2272
|
+
<span class='line'>2265</span> </span><span class="WHIT"> </span><span class="NAME">canvas.setAttribute</span><span class="PUNC">(</span><span class="STRN">"height"</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">
|
|
2273
|
+
<span class='line'>2266</span> </span><span class="WHIT"> </span><span class="NAME">canvas.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">w</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
2274
|
+
<span class='line'>2267</span> </span><span class="WHIT"> </span><span class="NAME">canvas.style.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">w</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
2275
|
+
<span class='line'>2268</span> </span><span class="WHIT"> </span><span class="NAME">canvas.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
|
|
2276
|
+
<span class='line'>2269</span> </span><span class="WHIT"> </span><span class="NAME">parent.appendChild</span><span class="PUNC">(</span><span class="NAME">canvas</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2277
|
+
<span class='line'>2270</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">
|
|
2278
|
+
<span class='line'>2271</span> </span><span class="WHIT"> </span><span class="COMM">// Debug: use canvas element 'jxgbox_canvas' from jsxdev/dump.html</span><span class="WHIT">
|
|
2279
|
+
<span class='line'>2272</span> </span><span class="WHIT"> </span><span class="NAME">id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"jxgbox_canvas"</span><span class="PUNC">;</span><span class="WHIT">
|
|
2280
|
+
<span class='line'>2273</span> </span><span class="WHIT"> </span><span class="COMM">// canvas = document.getElementById(id);</span><span class="WHIT">
|
|
2281
|
+
<span class='line'>2274</span> </span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">doc.getElementById</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2282
|
+
<span class='line'>2275</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2283
|
+
<span class='line'>2276</span>
|
|
2284
|
+
<span class='line'>2277</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">newImg</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2285
|
+
<span class='line'>2278</span> </span><span class="WHIT"> </span><span class="COMM">// Create close button</span><span class="WHIT">
|
|
2286
|
+
<span class='line'>2279</span> </span><span class="WHIT"> </span><span class="NAME">button</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">doc.createElement</span><span class="PUNC">(</span><span class="STRN">"span"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2287
|
+
<span class='line'>2280</span> </span><span class="WHIT"> </span><span class="NAME">buttonText</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">doc.createTextNode</span><span class="PUNC">(</span><span class="STRN">"\u2716"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2288
|
+
<span class='line'>2281</span> </span><span class="WHIT"> </span><span class="NAME">button.style.cssText</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">bas.cssButton</span><span class="PUNC">;</span><span class="WHIT">
|
|
2289
|
+
<span class='line'>2282</span> </span><span class="WHIT"> </span><span class="NAME">button.appendChild</span><span class="PUNC">(</span><span class="NAME">buttonText</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2290
|
+
<span class='line'>2283</span> </span><span class="WHIT"> </span><span class="NAME">button.onclick</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">
|
|
2291
|
+
<span class='line'>2284</span> </span><span class="WHIT"> </span><span class="NAME">node.parentNode.removeChild</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2292
|
+
<span class='line'>2285</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
2293
|
+
<span class='line'>2286</span>
|
|
2294
|
+
<span class='line'>2287</span> </span><span class="WHIT"> </span><span class="COMM">// Add all nodes</span><span class="WHIT">
|
|
2295
|
+
<span class='line'>2288</span> </span><span class="WHIT"> </span><span class="NAME">node.appendChild</span><span class="PUNC">(</span><span class="NAME">img</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2296
|
+
<span class='line'>2289</span> </span><span class="WHIT"> </span><span class="NAME">node.appendChild</span><span class="PUNC">(</span><span class="NAME">button</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2297
|
+
<span class='line'>2290</span> </span><span class="WHIT"> </span><span class="NAME">parent.insertBefore</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.container.nextSibling</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2298
|
+
<span class='line'>2291</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2299
|
+
<span class='line'>2292</span>
|
|
2300
|
+
<span class='line'>2293</span> </span><span class="WHIT"> </span><span class="COMM">// Hide navigation bar in board</span><span class="WHIT">
|
|
2301
|
+
<span class='line'>2294</span> </span><span class="WHIT"> </span><span class="NAME">navbar</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">doc.getElementById</span><span class="PUNC">(</span><span class="NAME">this.uniqName</span><span class="PUNC">(</span><span class="STRN">'navigationbar'</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2302
|
+
<span class='line'>2295</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.exists</span><span class="PUNC">(</span><span class="NAME">navbar</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2303
|
+
<span class='line'>2296</span> </span><span class="WHIT"> </span><span class="NAME">navbarDisplay</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">navbar.style.display</span><span class="PUNC">;</span><span class="WHIT">
|
|
2304
|
+
<span class='line'>2297</span> </span><span class="WHIT"> </span><span class="NAME">navbar.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
|
|
2305
|
+
<span class='line'>2298</span> </span><span class="WHIT"> </span><span class="NAME">insert</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.removeToInsertLater</span><span class="PUNC">(</span><span class="NAME">navbar</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2306
|
+
<span class='line'>2299</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2307
|
+
<span class='line'>2300</span>
|
|
2308
|
+
<span class='line'>2301</span> </span><span class="WHIT"> </span><span class="NAME">_copyCanvasToImg</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">
|
|
2309
|
+
<span class='line'>2302</span> </span><span class="WHIT"> </span><span class="COMM">// Show image in img tag</span><span class="WHIT">
|
|
2310
|
+
<span class='line'>2303</span> </span><span class="WHIT"> </span><span class="NAME">img.src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">canvas.toDataURL</span><span class="PUNC">(</span><span class="STRN">"image/png"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2311
|
+
<span class='line'>2304</span>
|
|
2312
|
+
<span class='line'>2305</span> </span><span class="WHIT"> </span><span class="COMM">// Remove canvas node</span><span class="WHIT">
|
|
2313
|
+
<span class='line'>2306</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">isDebug</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2314
|
+
<span class='line'>2307</span> </span><span class="WHIT"> </span><span class="NAME">parent.removeChild</span><span class="PUNC">(</span><span class="NAME">canvas</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2315
|
+
<span class='line'>2308</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2316
|
+
<span class='line'>2309</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
2317
|
+
<span class='line'>2310</span>
|
|
2318
|
+
<span class='line'>2311</span> </span><span class="WHIT"> </span><span class="COMM">// Create screenshot in image element</span><span class="WHIT">
|
|
2319
|
+
<span class='line'>2312</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="STRN">"Promise"</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">window</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2320
|
+
<span class='line'>2313</span> </span><span class="WHIT"> </span><span class="NAME">this.dumpToCanvas</span><span class="PUNC">(</span><span class="NAME">id</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="NAME">ignoreTexts</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">then</span><span class="PUNC">(</span><span class="NAME">_copyCanvasToImg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2321
|
+
<span class='line'>2314</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">
|
|
2322
|
+
<span class='line'>2315</span> </span><span class="WHIT"> </span><span class="COMM">// IE</span><span class="WHIT">
|
|
2323
|
+
<span class='line'>2316</span> </span><span class="WHIT"> </span><span class="NAME">this.dumpToCanvas</span><span class="PUNC">(</span><span class="NAME">id</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="NAME">ignoreTexts</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2324
|
+
<span class='line'>2317</span> </span><span class="WHIT"> </span><span class="NAME">window.setTimeout</span><span class="PUNC">(</span><span class="NAME">_copyCanvasToImg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">200</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2325
|
+
<span class='line'>2318</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2326
|
+
<span class='line'>2319</span>
|
|
2327
|
+
<span class='line'>2320</span> </span><span class="WHIT"> </span><span class="COMM">// Reinsert navigation bar in board</span><span class="WHIT">
|
|
2328
|
+
<span class='line'>2321</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Type.exists</span><span class="PUNC">(</span><span class="NAME">navbar</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
2329
|
+
<span class='line'>2322</span> </span><span class="WHIT"> </span><span class="NAME">navbar.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">navbarDisplay</span><span class="PUNC">;</span><span class="WHIT">
|
|
2330
|
+
<span class='line'>2323</span> </span><span class="WHIT"> </span><span class="NAME">insert</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2331
|
+
<span class='line'>2324</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2332
|
+
<span class='line'>2325</span>
|
|
2333
|
+
<span class='line'>2326</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">
|
|
2334
|
+
<span class='line'>2327</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2335
|
+
<span class='line'>2328</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2336
|
+
<span class='line'>2329</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2337
2337
|
<span class='line'>2330</span>
|
|
2338
|
-
<span class='line'>2331</span> </span><span class="WHIT">
|
|
2339
|
-
<span class='line'>2332</span> </span
|
|
2340
|
-
<span class='line'>2333</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
2341
|
-
<span class='line'>2334</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
2342
|
-
<span class='line'>2335</span>
|
|
2343
|
-
<span class='line'>2336</span> </span><span class="NAME">export</span><span class="WHIT"> </span><span class="KEYW">default</span><span class="WHIT"> </span><span class="NAME">JXG.SVGRenderer</span><span class="PUNC">;</span><span class="WHIT">
|
|
2344
|
-
<span class='line'>2337</span> </span></pre></body></html>
|
|
2338
|
+
<span class='line'>2331</span> </span><span class="NAME">export</span><span class="WHIT"> </span><span class="KEYW">default</span><span class="WHIT"> </span><span class="NAME">JXG.SVGRenderer</span><span class="PUNC">;</span><span class="WHIT">
|
|
2339
|
+
<span class='line'>2332</span> </span></pre></body></html>
|