define("dojox/gfx/renderer", ["./_base","dojo/_base/lang", "dojo/_base/sniff", "dojo/_base/window", "dojo/_base/config"], function(g, lang, has, win, config){ //>> noBuildResolver var currentRenderer = null; return { // summary: // This module is an AMD loader plugin that loads the appropriate graphics renderer // implementation based on detected environment and current configuration settings. load: function(id, require, load){ // tags: // private if(currentRenderer && id != "force"){ load(currentRenderer); return; } var renderer = config.forceGfxRenderer, renderers = !renderer && (lang.isString(config.gfxRenderer) ? config.gfxRenderer : "svg,vml,canvas,silverlight").split(","), silverlightObject, silverlightFlag; while(!renderer && renderers.length){ switch(renderers.shift()){ case "svg": // the next test is from https://github.com/phiggins42/has.js if("SVGAngle" in win.global){ renderer = "svg"; } break; case "vml": if(has("ie")){ renderer = "vml"; } break; case "silverlight": try{ if(has("ie")){ silverlightObject = new ActiveXObject("AgControl.AgControl"); if(silverlightObject && silverlightObject.IsVersionSupported("1.0")){ silverlightFlag = true; } }else{ if(navigator.plugins["Silverlight Plug-In"]){ silverlightFlag = true; } } }catch(e){ silverlightFlag = false; }finally{ silverlightObject = null; } if(silverlightFlag){ renderer = "silverlight"; } break; case "canvas": if(win.global.CanvasRenderingContext2D){ renderer = "canvas"; } break; } } if (renderer === 'canvas' && config.canvasEvents !== false) { renderer = "canvasWithEvents"; } if(config.isDebug){ console.log("gfx renderer = " + renderer); } function loadRenderer(){ require(["dojox/gfx/" + renderer], function(module){ g.renderer = renderer; // memorize the renderer module currentRenderer = module; // now load it load(module); }); } if(renderer == "svg" && typeof window.svgweb != "undefined"){ window.svgweb.addOnLoad(loadRenderer); }else{ loadRenderer(); } } }; });