summaryrefslogtreecommitdiff
path: root/js/dojo-1.7.2/dojox/gfx/renderer.js
diff options
context:
space:
mode:
authorTristan Zur <tzur@web.web.ccwn.org>2014-03-27 22:27:47 +0100
committerTristan Zur <tzur@web.web.ccwn.org>2014-03-27 22:27:47 +0100
commitb62676ca5d3d6f6ba3f019ea3f99722e165a98d8 (patch)
tree86722cb80f07d4569f90088eeaea2fc2f6e2ef94 /js/dojo-1.7.2/dojox/gfx/renderer.js
Initial commit of intern.ccwn.org contentsHEADmaster
Diffstat (limited to 'js/dojo-1.7.2/dojox/gfx/renderer.js')
-rw-r--r--js/dojo-1.7.2/dojox/gfx/renderer.js90
1 files changed, 90 insertions, 0 deletions
diff --git a/js/dojo-1.7.2/dojox/gfx/renderer.js b/js/dojo-1.7.2/dojox/gfx/renderer.js
new file mode 100644
index 0000000..3fbde3a
--- /dev/null
+++ b/js/dojo-1.7.2/dojox/gfx/renderer.js
@@ -0,0 +1,90 @@
+//>>built
+define("dojox/gfx/renderer", ["./_base","dojo/_base/lang", "dojo/_base/sniff", "dojo/_base/window", "dojo/_base/config"],
+ function(g, lang, has, win, config){
+ //>> noBuildResolver
+/*=====
+ dojox.gfx.renderer = {
+ // summary:
+ // This module is an AMD loader plugin that loads the appropriate graphics renderer
+ // implementation based on detected environment and current configuration settings.
+ };
+ =====*/
+ var currentRenderer = null;
+ return {
+ load: function(id, require, load){
+ 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();
+ }
+ }
+ };
+});