rlm@46: /* rlm@46: JSON Richdraw Abstraction Layer rlm@46: rlm@46: --------------------- rlm@46: Also, rlm@46: rlm@46: JSON Rich Draw Format rlm@46: rlm@46: --------------------- rlm@46: rlm@46: rlm@46: What data is not stored (yet) rlm@46: -Transforms rlm@46: rlm@46: */ rlm@46: rlm@46: rlm@46: rlm@46: function canvas(richdraw,format){ rlm@46: var rawshapes = richdraw.getshapes() rlm@46: var newshapes = []; rlm@46: for(var i = 0; i < rawshapes.length; i++){ rlm@46: newshapes.push(richdraw.renderer.info(rawshapes[i])); rlm@46: } rlm@46: return newshapes; rlm@46: } rlm@46: rlm@46: rlm@46: var fullscreen=false; rlm@46: function load(code,draw) rlm@46: { rlm@46: rlm@46: var noattachlistener=false; rlm@46: var renderdoc=false; rlm@46: var renderinfo=false rlm@46: for(var i = 0; i < code.length; i++) rlm@46: { rlm@46: var rendering=true; rlm@46: rlm@46: if(code[i].type == "info") rlm@46: { rlm@46: rendering=false; rlm@46: renderinfo=true; rlm@46: if(code[i].loop!=null) rlm@46: { rlm@46: timerNext=code[i].loop; rlm@46: }else{ rlm@46: timerNext=0; rlm@46: } rlm@46: } rlm@46: rlm@46: if(code[i].type == "doc") rlm@46: { rlm@46: rendering=false; rlm@46: renderdoc=true; rlm@46: if(fullscreen==false) rlm@46: { rlm@46: draw.renderer.view( rlm@46: code[i].left, rlm@46: code[i].top, rlm@46: code[i].width, rlm@46: code[i].height, rlm@46: code[i].viewBox, rlm@46: (code[i].bgcolor!=null)?code[i].fillColor:"" rlm@46: ); rlm@46: } rlm@46: else rlm@46: { rlm@46: draw.renderer.view( rlm@46: 0, rlm@46: 0, rlm@46: screenW, rlm@46: screenH, rlm@46: code[i].viewBox, rlm@46: '' rlm@46: ); rlm@46: } rlm@46: } rlm@46: rlm@46: if( rendering==true) rlm@46: { rlm@46: var co = draw.renderer.create(code[i].type, rlm@46: (code[i].fillColor!=null)?code[i].fillColor:"", rlm@46: (code[i].lineColor)?code[i].lineColor:"", rlm@46: (code[i].fillOpac)?code[i].fillOpac:"", rlm@46: (code[i].lineOpac)?code[i].lineOpac:"", rlm@46: (code[i].lineWidth)?code[i].lineWidth:"", rlm@46: (code[i].left)?code[i].left:"", rlm@46: (code[i].top)?code[i].top:"", rlm@46: (code[i].width)?code[i].width:"", rlm@46: (code[i].height)?code[i].height:"", rlm@46: (code[i].text)?code[i].text:'', rlm@46: (code[i].textSize)?code[i].textSize:"", rlm@46: (code[i].textFamily)?code[i].textFamily:'Arial', rlm@46: (code[i].href)?code[i].href:'', rlm@46: (code[i].points)?code[i].points:'', rlm@46: (code[i].transform)?code[i].transform:'', rlm@46: (code[i].parent)?code[i].parent:''); rlm@46: rlm@46: co.id = ""+code[i].id; rlm@46: if (!noattachlistener) rlm@46: { rlm@46: Ext.get(co).on("mousedown", draw.onHit, draw); rlm@46: rlm@46: /* rlm@46: co.addEventListener("click", function(event) { myfunction(this.id,draw,event); }, false); rlm@46: co.addEventListener("mouseover", function(event) {myOverFunction(this.id,draw,event); }, false); rlm@46: co.addEventListener("mouseout", function(event) {myOutFunction(this.id,draw,event); }, false); rlm@46: co.addEventListener("mouseup", function(event) {myUpFunction(this.id,draw,event); }, false); rlm@46: co.addEventListener("mousedown", function(event) {myDownFunction(this.id,draw,event); }, false); rlm@46: co.addEventListener("mousemove", function(event) {myMoveFunction(this.id,draw,event); }, false); rlm@46: co.addEventListener("dblclick", function(event) {myDblclickFunction(this.id,draw,event); }, false); rlm@46: */ rlm@46: } rlm@46: } rlm@46: } rlm@46: if(renderdoc == false) rlm@46: { rlm@46: if(fullscreen==false) rlm@46: { rlm@46: draw.renderer.view(0,0,canvasWidth,canvasHeight,'0 0 700 400',''); rlm@46: } rlm@46: else rlm@46: { rlm@46: draw.renderer.view(0,0,screenW,screenH,'0 0 700 400',''); rlm@46: } rlm@46: } rlm@46: if(renderinfo == false) rlm@46: { rlm@46: } rlm@46: } rlm@46: rlm@46: rlm@46: rlm@46: rlm@46: rlm@46: rlm@46: rlm@46: rlm@46: rlm@46: function load03(code,richdraw){ rlm@46: rlm@46: //var co =richdraw.renderer.create('group', '', '', 1, '', '', 0, 0, '', '', '', '', '', '', '', '',''); rlm@46: //co.id = 'frame'+frameNum; rlm@46: // var co ={}; rlm@46: var renderdoc=false; rlm@46: var renderinfo=false rlm@46: for(var i = 0; i < code.length; i++){ rlm@46: // code[i].parent='frame'+frameNum; rlm@46: var rendering=true; rlm@46: if(code[i].type == "info") rlm@46: { rlm@46: rendering=false; rlm@46: renderinfo=true; rlm@46: if(code[i].loop!=null) rlm@46: { rlm@46: timerNext=code[i].loop; rlm@46: }else{ rlm@46: timerNext=0; rlm@46: } rlm@46: } rlm@46: if(code[i].type == "doc") rlm@46: { rlm@46: rendering=false; rlm@46: renderdoc=true; rlm@46: if(fullscreen==false){ rlm@46: richdraw.renderer.view( rlm@46: code[i].left, rlm@46: code[i].top, rlm@46: code[i].width, rlm@46: code[i].height, rlm@46: code[i].viewBox rlm@46: ); rlm@46: }else{ rlm@46: richdraw.renderer.view( rlm@46: 0, rlm@46: 0, rlm@46: scr_w, rlm@46: scr_h, rlm@46: code[i].viewBox rlm@46: ); rlm@46: rlm@46: rlm@46: } rlm@46: /*richdraw.renderer.view((code[i].left)?code[i].left:NaN, rlm@46: (code[i].top)?code[i].top:NaN, rlm@46: (code[i].width)?code[i].width:NaN, rlm@46: (code[i].height)?code[i].height:NaN, rlm@46: (code[i].viewBox)?code[i].viewBox:'' rlm@46: */ rlm@46: rlm@46: } rlm@46: rlm@46: if( rendering==true) rlm@46: { rlm@46: var co = richdraw.renderer.create(code[i].type, rlm@46: (code[i].fillColor!=null)?code[i].fillColor:"", rlm@46: (code[i].lineColor)?code[i].lineColor:"", rlm@46: (code[i].fillOpac)?code[i].fillOpac:"", rlm@46: (code[i].lineOpac)?code[i].lineOpac:"", rlm@46: (code[i].lineWidth)?code[i].lineWidth:"", rlm@46: (code[i].left)?code[i].left:"", rlm@46: (code[i].top)?code[i].top:"", rlm@46: (code[i].width)?code[i].width:"", rlm@46: (code[i].height)?code[i].height:"", rlm@46: (code[i].text)?code[i].text:'', rlm@46: (code[i].textSize)?code[i].textSize:"", rlm@46: (code[i].textFamily)?code[i].textFamily:'Arial', rlm@46: (code[i].href)?code[i].href:'', rlm@46: (code[i].points)?code[i].points:'', rlm@46: (code[i].transform)?code[i].transform:'', rlm@46: (code[i].parent)?code[i].parent:''); rlm@46: //(code[i].filter)?code[i].filter:''); rlm@46: if(code[i].id==null){ rlm@46: var nid='shape:' + createUUID(); rlm@46: co.id = nid; rlm@46: }else{ rlm@46: co.id = code[i].id; rlm@46: } rlm@46: rlm@46: //var cad=code[i].points; rlm@46: //co.id = ""+code[i].id; rlm@46: //co.addEventListener("click", function(event) { myfunction(this.id); }, false); rlm@46: //co.addEventListener("mouseover", function(event) {myOverFunction(this.id); }, false); rlm@46: //co.addEventListener("mouseout", function(event) {myOutFunction(this.id); }, false); rlm@46: rlm@46: rlm@46: } rlm@46: Ext.get(co).on("mousedown", richdraw.onHit, richdraw); rlm@46: rlm@46: } rlm@46: if(renderdoc == false) rlm@46: { rlm@46: if(fullscreen==false){ rlm@46: richdraw.renderer.view(0,0,canvasWidth,canvasHeight,'0 0 700 400'); rlm@46: }else{ rlm@46: richdraw.renderer.view(0,0,scr_w,scr_h,'0 0 700 400'); rlm@46: } rlm@46: //richdraw.renderer.view(0,0,document.getElementById("richdraw").style.width,document.getElementById("richdraw").style.height,zoominit); rlm@46: rlm@46: } rlm@46: rlm@46: if(renderinfo == false){ rlm@46: rlm@46: } rlm@46: rlm@46: } rlm@46: rlm@46: function load01(code,richdraw){ rlm@46: rlm@46: for(var i = 0; i < code.length; i++){ rlm@46: rlm@46: rlm@46: var co = richdraw.renderer.create(code[i].type, //Shape rlm@46: (code[i].fillColor)?code[i].fillColor:"red", rlm@46: (code[i].lineColor)?code[i].lineColor:"black", rlm@46: (code[i].fillOpac)?code[i].fillOpac:1, rlm@46: (code[i].lineOpac)?code[i].lineOpac:1, rlm@46: (code[i].lineWidth)?code[i].lineWidth:1, rlm@46: (code[i].left)?code[i].left:100, rlm@46: (code[i].top)?code[i].top:100, rlm@46: (code[i].width)?code[i].width:100, rlm@46: (code[i].height)?code[i].height:100, rlm@46: (code[i].text)?code[i].text:'', rlm@46: (code[i].textSize)?code[i].textSize:19, rlm@46: (code[i].textFamily)?code[i].textFamily:'Arial', rlm@46: (code[i].href)?code[i].href:'', rlm@46: (code[i].points)?code[i].points:'', rlm@46: (code[i].transform)?code[i].transform:'', rlm@46: (code[i].parent)?code[i].parent:''); rlm@46: rlm@46: rlm@46: rlm@46: co.id = "shape:"+code[i].id; rlm@46: rlm@46: /* rlm@46: HACKS! HACKS!! NOT GOOD!!! rlm@46: */ rlm@46: if(code[i].type=="polyline"){ rlm@46: rlm@46: //richdraw.renderer.editShape(co,code[i].points) rlm@46: }else if(code[i].type=="path"){ rlm@46: rlm@46: // richdraw.renderer.editShape(co,code[i].d) rlm@46: }else if(code[i].type == "text"){ rlm@46: //-- rlm@46: //richdraw.renderer.editShape(co,code[i].text,null); rlm@46: //richdraw.renderer.editShape(co,code[i].text) rlm@46: } rlm@46: rlm@46: /* rlm@46: End Evil Hacks rlm@46: */ rlm@46: rlm@46: rlm@46: //Event.observe(co, "mousedown", richdraw.onHitListener); rlm@46: rlm@46: Ext.get(co).on("mousedown", richdraw.onHit, richdraw); rlm@46: } rlm@46: rlm@46: rlm@46: //create = function(shape, fillColor, lineColor, lineWidth, left, top, width, height) rlm@46: } rlm@46: rlm@46: