1 /* 2 Copyright 2008-2011, 3 Matthias Ehmann, 4 Michael Gerhaeuser, 5 Carsten Miller, 6 Bianca Valentin, 7 Alfred Wassermann, 8 Peter Wilfahrt 9 10 This file is part of JSXGraph. 11 12 JSXGraph is free software: you can redistribute it and/or modify 13 it under the terms of the GNU Lesser General Public License as published by 14 the Free Software Foundation, either version 3 of the License, or 15 (at your option) any later version. 16 17 JSXGraph is distributed in the hope that it will be useful, 18 but WITHOUT ANY WARRANTY; without even the implied warranty of 19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 GNU Lesser General Public License for more details. 21 22 You should have received a copy of the GNU Lesser General Public License 23 along with JSXGraph. If not, see <http://www.gnu.org/licenses/>. 24 25 */ 26 27 /** 28 * JSXGraph namespace. Holds all classes, objects, functions and variables belonging to JSXGraph 29 * to reduce the risc of interfering with other JavaScript code. 30 * @namespace 31 */ 32 var JXG = {}; 33 34 (function(){ // Hide the initialization in an anonymous function 35 var i, s, n, arr; 36 37 // Minified-Modus: ja, nein 38 JXG.useMinify = false; 39 40 JXG.countDrawings = 0; 41 JXG.countTime = 0; 42 JXG.require = function(libraryName) { 43 document.write('<script type="text/javascript" src="' + libraryName + '"><\/script>'); 44 }; 45 /* 46 Not longer used: IntergeoReader, GeonextReader, Angle, Intersection 47 */ 48 if (!JXG.useMinify) { 49 JXG.baseFiles ='JXG,Math,MathNumerics,MathStatistics,MathSymbolic,MathGeometry,MathPoly,Complex,AbstractRenderer,FileReader,GeonextParser,Board,Options,jsxgraph,GeometryElement,Coords,Point,Line,Group,Circle,Conic,Polygon,Curve,Arc,Sector,Composition,Text,Image,Slider,Chart,Transformation,Turtle,RGBColor,Wrappers,Ticks,Util,Pstricks,Server,DataSource,JessieCode,Dump'; 50 } else { 51 JXG.baseFiles = 'jxg'; 52 } 53 JXG.rendererFiles = []; 54 if (JXG.useMinify) { 55 JXG.rendererFiles['svg'] = 'SVGRendererMinify'; 56 JXG.rendererFiles['vml'] = 'VMLRendererMinify'; 57 } else { 58 JXG.rendererFiles['svg'] = 'SVGRenderer'; 59 JXG.rendererFiles['vml'] = 'VMLRenderer'; 60 } 61 JXG.rendererFiles['canvas'] = 'CanvasRenderer'; 62 //JXG.rendererFiles['silverlight'] = 'Silverlight,createSilverlight,SilverlightRenderer'; 63 JXG.requirePath = ''; 64 65 for (i=0;i<document.getElementsByTagName("script").length;i++) { 66 s = document.getElementsByTagName("script")[i]; 67 if (s.src && s.src.match(/loadjsxgraph\.js(\?.*)?$/)) { 68 JXG.requirePath = s.src.replace(/loadjsxgraph\.js(\?.*)?$/,''); 69 arr = JXG.baseFiles.split(','); 70 for (n=0;n<arr.length;n++) { 71 (function(include) { JXG.require(JXG.requirePath+include+'.js');})(arr[n]); 72 } 73 } 74 } 75 76 JXG.baseFiles = null; 77 JXG.serverBase = JXG.requirePath + 'server/'; 78 })(); 79