96/25.4 = 3.779 // update the viewbox / width / height if svg is embedded in html with zoom fit all var realx0 = x0; var realy0 = y0; var realvboxW = vboxW; var realvboxH = vboxH; var realsvgW = svgW; var realsvgH = svgH; if ((typeof(top) == "undefined") || (typeof(top.svgctl1) != "undefined")) // embedded in html { // get window size in pxl svgW = window.innerWidth; svgH = window.innerHeight; // calculate real viewbox realsvgW = svgW; realsvgH = svgH; if((svgW / svgH) > (vboxW / vboxH)) { realvboxW = (vboxH * svgW) / svgH; realvboxH = vboxH; realx0 = x0 - (realvboxW - vboxW)/2 ; } else { realvboxH = (vboxW * svgH) / svgW; realvboxW = vboxW; realy0 = y0 - (realvboxH - vboxH)/2 ; } } // get user zoom/pan var newScale = root.currentScale; var translation = root.currentTranslate; // transform pxl to user unit var xPos = (((evt.clientX+10- translation.x)/newScale) * realvboxW)/realsvgW + realx0 ; var yPos = (((evt.clientY+5- translation.y)/newScale) * realvboxH)/ realsvgH + realy0 ; var scaleForWidth = ( (1 / newScale) * realvboxH) / realsvgH; } function ShowPaper() { var svgDocument = getDocument(); var paper = svgDocument.getElementById("paperID"); if(paper) { paper.setAttribute("transform","scale(1)"); paper.setAttribute("opacity","1"); paper.setAttribute("visibility","visible"); } var svg = svgDocument.getRootElement(); if(svg) { svg.setAttribute("width","307.000mm"); svg.setAttribute("height","177.000mm"); svg.setAttribute("viewBox","-5.000000 -5.000000 307.000000 177.000000"); } } ]]>