root/galaxy-central/static/scripts/packed/excanvas.js @ 2

リビジョン 2, 9.2 KB (コミッタ: hatakeyama, 14 年 前)

import galaxy-central

行番号 
1if(!window.CanvasRenderingContext2D){(function(){var n;var p={init:function(j){var E=j||document;E.createElement("canvas");if(/MSIE/.test(navigator.userAgent)&&!window.opera){var i=this;C();E.attachEvent("onreadystatechange",function(){i.init_(E)})}},init_:function(G){var F=G.createStyleSheet();F.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}canvas object{width:100%;height:100%;border:0;background:transparen;margin:0}";var E=G.getElementsByTagName("canvas");for(var j=0;j<E.length;j++){if(!E[j].getContext){this.initElement(E[j])}}},initElement:function(j){j.getContext=function(){if(this.context_){return this.context_}return this.context_=new u(this)};var i=j.attributes;if(i.width&&i.width.specified){j.style.width=i.width.nodeValue+"px"}else{j.width=j.clientWidth}if(i.height&&i.height.specified){j.style.height=i.height.nodeValue+"px"}else{j.height=j.clientHeight}j.innerHTML=c();j.attachEvent("onpropertychange",D);return j}};function D(j){var i=j.srcElement;switch(j.propertyName){case"width":i.style.width=i.attributes.width.nodeValue+"px";i.getContext().clearRect();break;case"height":i.style.height=i.attributes.height.nodeValue+"px";i.getContext().clearRect();break}}p.init();function C(){document.write('<script type=text/xaml><Canvas x:Name="root" xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="300" Height="150" Background="Transparent"> </Canvas><\/script>');var i=document.scripts;var j=i[i.length-1];n=j.uniqueID;j.id=n}function c(i){return'<object type="application/x-silverlight" ><param name="windowless" value="true"><param name="background" value="transparent"><param name="source" value="#'+n+'"></object>'}function h(){try{new ActiveXObject("AgControl.AgControl");return true}catch(i){return false}}var k=[];for(var z=0;z<16;z++){for(var y=0;y<16;y++){k[z*16+y]=z.toString(16)+y.toString(16)}}function v(){return[[1,0,0],[0,1,0],[0,0,1]]}function m(F,E){var j=v();for(var i=0;i<3;i++){for(var I=0;I<3;I++){var G=0;for(var H=0;H<3;H++){G+=F[i][H]*E[H][I]}j[i][I]=G}}return j}function l(i){s(i,f(i),i.m_)}function s(j,G,i){var F=G.renderTransform;var E;if(!F){F=r(j,"<MatrixTransform/>");E=r(j,"<Matrix/>");F.matrix=E;G.renderTransform=F}else{E=F.matrix}E.m11=i[0][0];E.m12=i[0][1];E.m21=i[1][0];E.m22=i[1][1];E.offsetX=i[2][0];E.offsetY=i[2][1]}function x(j,i){i.fillStyle=j.fillStyle;i.lineCap=j.lineCap;i.lineJoin=j.lineJoin;i.lineWidth=j.lineWidth;i.miterLimit=j.miterLimit;i.shadowBlur=j.shadowBlur;i.shadowColor=j.shadowColor;i.shadowOffsetX=j.shadowOffsetX;i.shadowOffsetY=j.shadowOffsetY;i.strokeStyle=j.strokeStyle;i.globalAlpha=j.globalAlpha;i.arcScaleX_=j.arcScaleX_;i.arcScaleY_=j.arcScaleY_}function t(i){var F=/rgba\(([^)]+)\)/gi.exec(i);if(F){var E=F[1].split(",");return"#"+k[Math.floor(Number(E[3])*255)]+k[Number(E[0])]+k[Number(E[1])]+k[Number(E[2])]}var j=/rgb\(([^)]+)\)/gi.exec(i);if(j){var E=j[1].split(",");return"#FF"+k[Number(E[0])]+k[Number(E[1])]+k[Number(E[2])]}return i}function w(i){switch(i){case"butt":return"flat";case"round":return"round";case"square":default:return"square"}}function f(i){return i.canvas.firstChild.content.findName("root")}function r(i,E,F){if(F){E=E.replace(/\%(\d+)/g,function(H,G){return F[Number(G)-1]})}try{return i.canvas.firstChild.content.createFromXaml(E)}catch(j){throw Error("Could not create XAML from: "+E)}}function e(i,F,G){var E=i.lastCanvas_||r(i,"<Canvas/>");var j=r(i,F,G);E.children.add(j);s(i,E,i.m_);if(!i.lastCanvas_){f(i).children.add(E);i.lastCanvas_=E}return j}function a(i,j){if(j instanceof A){return j.createBrush_(i)}else{if(j instanceof o){throw Error("Not implemented")}else{return r(i,'<SolidColorBrush Color="%1"/>',[t(j)])}}}function u(i){this.m_=v();this.lastCanvas_=null;this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=10;this.globalAlpha=1;this.canvas=i}var q=u.prototype;q.clearRect=function(){var i=f(this);i.children.clear();this.currentPath_=[];this.lastCanvas_=null};q.beginPath=function(){this.currentPath_=[]};q.moveTo=function(j,i){this.currentPath_.push("M"+j+","+i)};q.lineTo=function(j,i){if(this.currentPath_.length==0){return}this.currentPath_.push("L"+j+","+i)};q.bezierCurveTo=function(E,i,H,G,F,j){if(this.currentPath_.length==0){return}this.currentPath_.push("C"+E+","+i+" "+H+","+G+" "+F+" "+j)};q.quadraticCurveTo=function(F,E,j,i){if(this.currentPath_.length==0){return}this.currentPath_.push("Q"+F+","+E+" "+j+","+i)};q.arcTo=function(E,G,j,F,i){if(this.currentPath_.length==0){return}};q.arc=function(J,G,I,F,j,E){var i=Math.abs(F-j);if(F==j){return}var P=J+I*Math.cos(j);var O=G+I*Math.sin(j);if(i>=2*Math.PI){this.arc(J,G,I,F,F+Math.PI,E);this.arc(J,G,I,F+Math.PI,F+2*Math.PI,E);this.moveTo(P,O);return}var K=J+I*Math.cos(F);var H=G+I*Math.sin(F);var N=i*180/Math.PI;var L=E?0:1;var M=N>=180==Boolean(E)?0:1;if(this.currentPath_.length!=0){this.lineTo(K,H)}else{this.moveTo(K,H)}this.currentPath_.push("A"+I+","+I+" "+N+" "+M+" "+L+" "+P+","+O)};q.rect=function(E,j,i,F){this.moveTo(E,j);this.lineTo(E+i,j);this.lineTo(E+i,j+F);this.lineTo(E,j+F);this.closePath()};q.strokeRect=function(E,j,i,F){this.beginPath();this.moveTo(E,j);this.lineTo(E+i,j);this.lineTo(E+i,j+F);this.lineTo(E,j+F);this.closePath();this.stroke();this.currentPath_=[]};q.fillRect=function(E,j,i,F){this.beginPath();this.moveTo(E,j);this.lineTo(E+i,j);this.lineTo(E+i,j+F);this.lineTo(E,j+F);this.closePath();this.fill();this.currentPath_=[]};q.createLinearGradient=function(j,F,i,E){return new d(j,F,i,E)};q.createRadialGradient=function(F,H,E,j,G,i){return new g(F,H,E,j,G,i)};q.drawImage=function(E,M){var P,O,i,I,K,J,L,H;if(arguments.length==3){P=arguments[1];O=arguments[2]}else{if(arguments.length==5){P=arguments[1];O=arguments[2];i=arguments[3];I=arguments[4]}else{if(arguments.length==9){K=arguments[1];J=arguments[2];L=arguments[3];H=arguments[4];P=arguments[5];O=arguments[6];i=arguments[7];I=arguments[8]}else{throw Error("Invalid number of arguments")}}}var G;if(arguments.length==9){G=e(this,'<Image Source="%1"/>',[E.src]);var F=r(this,'<RectangleGeometry Rect="%1,%2,%3,%4"/>',[K,J,L,H]);G.clip=F;var j=v();j[2][0]=-K;j[2][1]=-J;var N=v();N[0][0]=i/L;N[1][1]=I/H;j=m(j,N);j[2][0]+=P;j[2][1]+=O;s(this,G,j)}else{G=e(this,'<Image Source="%1" Canvas.Left="%2" Canvas.Top="%3"/>',[E.src,P,O]);if(i!=undefined||I!=undefined){G.width=i;G.height=I;G.stretch="fill"}}};q.stroke=function(){if(this.currentPath_.length==0){return}var i=e(this,'<Path Data="%1"/>',[this.currentPath_.join(" ")]);i.stroke=a(this,this.strokeStyle);i.opacity=this.globalAlpha;i.strokeThickness=this.lineWidth;i.strokeMiterLimit=this.miterLimit;i.strokeLineJoin=this.lineJoin;i.strokeEndLineCap=i.strokeStartLineCap=w(this.lineCap)};q.fill=function(){if(this.currentPath_.length==0){return}var i=e(this,'<Path Data="%1"/>',[this.currentPath_.join(" ")]);i.data.fillRule="NonZero";i.fill=a(this,this.fillStyle)};q.closePath=function(){this.currentPath_.push("z")};function B(j,i){j.m_=i;j.lastCanvas_=null}q.save=function(){var i={};x(this,i);this.aStack_.push(i);this.mStack_.push(this.m_);B(this,m(v(),this.m_))};q.restore=function(){x(this.aStack_.pop(),this);B(this,this.mStack_.pop())};q.translate=function(E,j){var i=[[1,0,0],[0,1,0],[E,j,1]];B(this,m(i,this.m_))};q.rotate=function(j){var F=Math.cos(j);var E=Math.sin(j);var i=[[F,E,0],[-E,F,0],[0,0,1]];B(this,m(i,this.m_))};q.scale=function(E,j){var i=[[E,0,0],[0,j,0],[0,0,1]];B(this,m(i,this.m_))};q.transform=function(G,F,I,H,j,i){var E=[[G,F,0],[I,H,0],[j,i,1]];B(this,m(E,this.m_))};q.setTransform=function(F,E,H,G,j,i){B(this,[[F,E,0],[H,G,0],[j,i,1],])};q.clip=function(){};q.createPattern=function(){return new o};function A(){this.colors_=[]}A.prototype.addColorStop=function(j,i){i=t(i);this.colors_.push({offset:j,color:i})};A.prototype.createStops_=function(E,G,j){var I=G.gradientStops;for(var H=0,J;J=j[H];H++){var F=t(J.color);I.add(r(E,'<GradientStop Color="%1" Offset="%2"/>',[F,J.offset]))}};function d(j,F,i,E){A.call(this);this.x0_=j;this.y0_=F;this.x1_=i;this.y1_=E}d.prototype=new A;d.prototype.createBrush_=function(i){var j=r(i,'<LinearGradientBrush MappingMode="Absolute" StartPoint="%1,%2" EndPoint="%3,%4"/>',[this.x0_,this.y0_,this.x1_,this.y1_]);this.createStops_(i,j,this.colors_);return j};function b(i){return isNaN(i)||!isFinite(i)}function g(G,I,F,E,H,i){if(F<0||i<0||b(G)||b(I)||b(E)||b(H)){var j=Error("DOMException.INDEX_SIZE_ERR");j.code=1;throw j}A.call(this);this.x0_=G;this.y0_=I;this.r0_=F;this.x1_=E;this.y1_=H;this.r1_=i}g.prototype=new A;A.prototype.createBrush_=function(F){if(this.x0_==this.x1_&&this.y0_==this.y1_&&this.r0_==this.r1_){return null}var j=Math.max(this.r0_,this.r1_);var I=Math.min(this.r0_,this.r1_);var G=r(F,'<RadialGradientBrush MappingMode="Absolute" GradientOrigin="%1,%2" Center="%3,%4" RadiusX="%5" RadiusY="%5"/>',[this.x0_,this.y0_,this.x1_,this.y1_,j]);var E=this.colors_.concat();if(this.r1_<this.r0_){E.reverse();for(var H=0,J;J=E[H];H++){J.offset=1-J.offset}}E.sort(function(K,i){return K.offset-i.offset});if(I>0){for(var H=0,J;J=E[H];H++){J.offset=I/j+(j-I)/j*J.offset}}this.createStops_(F,G,E);return G};function o(){}G_vmlCanvasManager=p;CanvasRenderingContext2D=u;CanvasGradient=A;CanvasPattern=o})()};
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。