-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathCee.min.js
14 lines (13 loc) · 11.5 KB
/
Cee.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
* Cee.js v0.3.0
*
* https://github.com/roblarsen/CeeJS
*
* Copyright 2014, Rob Larsen
*
* MIT license http://roblarsen.github.io/CeeJS/MIT-license.txt
*
* build: 1420043916991
*
*/
!function(a){"use strict";var b=a.document,c=function(){var a=function(b,c){return new a.prototype._init(b,c)};return a.prototype={_init:function(a,c){c=c||{};var d,e;if(b.getElementById(a)?d=b.getElementById(a):(d=b.createElement("canvas"),d.width=c.width||d.width,d.height=c.height||d.height,d.id=a),"canvas"!==d.nodeName.toLowerCase()){var f=b.createElement("canvas");throw f.width=d.offsetHeight,f.height=d.offsetWidth,f.id="bigc",d.appendChild(f),e=b.getElementById("bigc"),"The provided ID wasn't a canvas element. A canvas elementwith id 'bigc' created as a child of the supplied node."}var g=0,h=0,i=null;e=d.getContext("2d"),e.fillStyle=c.fillStyle||e.fillStyle,e.font=c.font||e.font,e.globalAlpha=c.globalAlpha||e.globalAlpha,e.globalCompositeOperation=c.globalCompositeOperation||e.globalCompositeOperation,e.lineCap=c.lineCap||e.lineCap,e.lineJoin=c.lineJoin||e.lineJoin,e.lineWidth=c.lineWidth||e.lineWidth,e.miterLimit=c.miterLimit||e.miterLimit,e.shadowBlur=c.shadowBlur||e.shadowBlur,e.shadowColor=c.shadowColor||e.shadowColor,e.shadowOffsetX=c.shadodOffsetX||e.shadowOffsetX,e.shadowOffsetY=c.shadowOffsetY||e.shadowOffsetY,e.strokeStyle=c.strokeStyle||e.strokeStyle,e.textAlign=c.textAlign||e.textAlign,e.textBaseline=c.textBaseline||e.textBaseline;var j=function(a,b){return void 0!==a&&void 0!==b&&"number"==typeof a&&"number"==typeof b?(g=a,h=b,{x:g,y:h}):{x:g,y:h}},k=function(a,b){return void 0!==a&&"number"==typeof a?a:b},l=function(a,b,c,d,f,g){var h=d%(2*Math.PI),i=f%(2*Math.PI);g&&(h=f%(2*Math.PI),i=d%(2*Math.PI));var k=R.getArcCircleExtremes(a,b,c,h,i),l=a+c*Math.cos(h),m=b+c*Math.sin(h),n=a+c*Math.cos(i),o=b+c*Math.sin(i),q=[l,n].concat(k[0]),r=[m,o].concat(k[1]);return e.arc(a,b,c,d,f,g||!1),j(a,b),p({x1:Math.max.apply(this,q),y1:Math.max.apply(this,r),x2:Math.min.apply(this,q),y2:Math.min.apply(this,r)}),this},m=function(a,b,c,f,g){var h=j().x,i=j().y,k=(b-i)/(a-h);1/0===k&&(k=b-i);var l=i-k*h,m=k*d.width-k*a+b,n=(f-b)/(c-a);1/0===n&&(n=f-b),l=b-n*a,m=n*d.width-n*c+f;var o,q,r,s,t,u,v=Math.atan((k-n)/(1+k*n)),w=g/Math.tan(v/2),x=Math.abs(Math.sqrt(w*w/(1+k*k))),y=Math.abs(x*k);o=a>h?a-x:a+x,q=b>i?b-y:b+y,x=Math.abs(Math.sqrt(w*w/(1+n*n))),y=Math.abs(x*n),r=c>a?a+x:a-x,s=f>b?b+y:b-y;var z=-1/k;x=Math.sqrt(g*g/(1+z*z)),y=x*z,t=a>o&&a>r?o-x:o+x,u=b>q&&b>s?q-y:q+y;var A=Math.atan2(q-u,o-t),B=Math.atan2(s-u,r-t);if((0>A&&B>0||A>0&&0>B)&&(A+=Math.PI,B+=Math.PI),A>B){var C=A;A=B,B=C}var D=R.getArcCircleExtremes(t,u,g,A,B),E=[h,o,r].concat(D[0]),F=[i,q,s].concat(D[1]);return e.moveTo(h,i),e.arcTo(a,b,c,f,g),j(r,s),p({x1:Math.max.apply(this,E),y1:Math.max.apply(this,F),x2:Math.min.apply(this,E),y2:Math.min.apply(this,F)}),this},n=function(){return e.beginPath(),this},o=function(a,b,c,d,f,g){return e.bezierCurveTo(a,b,c,d,f,g),j(f,g),this},p=function(a){var b,c,d,e;if(void 0===a)return i;if(void 0!==a.x1&&void 0!==a.y1&&void 0!==a.x2&&void 0!==a.y2)b=Math.abs(a.y2-a.y1),c=Math.abs(a.x2-a.x1),d=a.x1<a.x2?a.x1:a.x2,e=a.y1<a.y2?a.y1:a.y2;else if(void 0!==a.x&&void 0!==a.y&&void 0!==a.w&&void 0!==a.h)b=a.h,c=a.w,d=a.x,e=a.y;else if(void 0!==a.cx&&void 0!==a.cy&&void 0!==a.r)b=c=2*a.r,d=a.cx-a.r,e=a.cy-a.r;else{if(void 0===a.x||void 0===a.y)return i;var f=j();p({x1:a.x,y1:a.y,x2:f.x,y2:f.y})}var g={x:d,y:e},h={x:d+c/2,y:e},k={x:d+c,y:e},l={x:d+c,y:e+b/2},m={x:d+c,y:e+b},n={x:d+c/2,y:e+b},o={x:d,y:e+b},q={x:d,y:e+b/2};return i={tl:g,t:h,tr:k,r:l,br:m,b:n,bl:o,l:q}},q=function(){return p()},r=function(a){a=a||{};var b=k(a.x,g),c=k(a.y,h),d=a.radius||10,f=a.fillStyle||!1,i=a.strokeStyle||!1;return U(b,c),n(),l(b,c,d,0,2*Math.PI),f&&(e.fillStyle=f,e.fill()),i&&(e.strokeStyle=i,ub()),u(),p({cx:b,cy:c,r:d}),this},s=function(a){a=a||{};var b=k(a.x,g),c=k(a.y,h),d=a.width||0,f=a.height||0;return e.clearRect(b,c,d,f),p({x:b,y:c,w:d,h:f}),this},t=function(){return e.clip(),this},u=function(){return e.closePath(),this},v=function(){return void 0!==arguments[0].data?e.createImageData(arguments[0]):e.createImageData(arguments[0],arguments[1])},w=function(a,b,c,d){return e.createLinearGradient(a,b,c,d)},x=function(a,b){return e.createPattern(a,b)},y=function(a,b,c,d,f,g){return e.createRadialGradient(a,b,c,d,f,g)},z=function(a,b,c){if(null==a.nodeName){var d=new Image;d.src=a,a=d}return a.onload=function(){e.drawImage(a,b,c)},b=k(b,g),c=k(c,h),j(b,c),this},A=function(){return e.fill(),this},B=function(a){a=a||{};var b=k(a.x,g),c=k(a.y,h),d=a.radius||10,f=a.fillStyle||e.fillStyle;return r({x:b,y:c,radius:d,fillStyle:f,strokeStyle:!1}),this},C=function(a,b,c,d){return e.fillRect(a,b,c,d),j(a,b),p({x:a,y:b,w:c,h:d}),this},D=function(a){return void 0!==a?(e.fillStyle=a,this):e.fillStyle},E=function(a,b,c,d){return void 0===d?e.fillText(a,b,c):e.fillText(a,b,c,d),j(b,c),this},F=function(a){return void 0!==a?(e.font=a,this):e.font},G=function(a,b,c,d){return j(a,b),e.getImageData(a,b,c,d)},H=function(a,b){var c=e.getImageData(0,0,d.width,d.height),f=4*b*c.width+4*a;return{r:c.data[f],g:c.data[f+1],b:c.data[f+2],a:c.data[f+3]}},I=function(a,b,c){for(var f=e.getImageData(0,0,d.width,d.height),g=f.data.length,h=0,i=0;g>i;i+=4)f.data[i]===a&&f.data[i+1]===b&&f.data[i+2]===c&&h++;return h},J=function(a){return void 0!==a?(e.globalAlpha=a,this):e.globalAlpha},K=function(a){return void 0!==a?(e.globalCompositeOperation=a,this):e.globalCompositeOperation},L=function(a,b){return e.isPointInPath(a,b)},M=function(a){a=a||{};var b=k(a.x,g),c=k(a.y,h),d=a.distance||0,f=a.angle%360||0,i=R.radians(f),l=Math.sin(i)*d,m=Math.cos(i)*d,n=b+m,o=c+l;return e.moveTo(b,c),e.lineTo(n,o),j(n,o),p({x1:b,y1:c,x2:n,y2:o}),this},N=function(a){return void 0!==a?(e.lineCap=a,this):e.lineCap},O=function(a){return void 0!==a?(e.lineJoin=a,this):e.lineJoin},P=function(a,b){return e.lineTo(a,b),p({x:a,y:b}),j(a,b),this},Q=function(a){return void 0!==a?(e.lineWidth=a,this):e.lineWidth},R={cosec:function(a){return 1/Math.sin(a)},sec:function(a){return 1/Math.cos(a)},radians:function(a){return a*(Math.PI/180)},degrees:function(a){return a*(180/Math.PI)},goldenRatio:1.61803399,getArcCircleExtremes:function(a,b,c,d,e){var f=d+2*Math.PI<=e||e+2*Math.PI<=d,g=a-c,h=a+c,i=b+c,j=b-c,k=[],l=[];return(f||R.isAngleBetween(d,e,0*Math.PI))&&(k.push(h),l.push(b)),(f||R.isAngleBetween(d,e,.5*Math.PI))&&(k.push(a),l.push(i)),(f||R.isAngleBetween(d,e,1*Math.PI))&&(k.push(g),l.push(b)),(f||R.isAngleBetween(d,e,1.5*Math.PI))&&(k.push(a),l.push(j)),[k,l]},isAngleBetween:function(a,b,c){return a=(a+2*Math.PI)%(2*Math.PI),b=(b+2*Math.PI)%(2*Math.PI),b>=a?c>=a&&b>=c?!0:!1:a>=b?a>=c&&c>=b?!1:!0:void 0}},S=function(a){return e.measureText(a)},T=function(a){return void 0!==a?(e.miterLimit=a,this):e.miterLimit},U=function(a,b){return e.moveTo(a,b),j(a,b),this},V=function(a,b,c,d,f,g,h){return j(b,c),e.putImageData(a,b,c,d||0,f||0,g||a.width,h||a.height),this},W=function(a,b,c,d){return j(c,d),e.quadraticCurveTo(a,b,c,d),this},X=function(a,b,c,d){var e=2/3,f=g+(a-g)*e,i=h+(b-h)*e,k=f+(c-g)*(1-e),l=i+(d-h)*(1-e);return o(f,i,k,l,c,d),j(c,d),this},Y=function(){return"#"+Math.floor(16777215*Math.random()).toString(16)},Z=function(){return e.strokeStyle=Y(),this},$=function(){return e.fillStyle=Y(),this},_=function(a,b,c,d){return j(a,b),e.rect(a,b,c,d),p({x:a,y:b,w:c,h:d}),this},ab=function(a){a=a||{};var b,c,d,f;if(void 0!==a.x1&&void 0!==a.y1&&void 0!==a.x2&&void 0!==a.y2)b=k(a.x1,g),c=k(a.y1,h),d=Math.abs(b-a.x2),f=Math.abs(c-a.y2);else{if(void 0===a.x||void 0===a.y||void 0===a.width||void 0===a.height)return this;b=k(a.x,g),c=k(a.y,h),d=k(a.width,0),f=k(a.height,0)}var i=a.fillStyle||!1,j=a.lineWidth||!1;return j&&(e.lineWidth=j),i?(e.fillStyle=i,C(b,c,d,f)):sb(b,c,d,f),p({x:b,y:c,w:d,h:f}),this},bb=function(){return e.clearRect(0,0,d.width,d.height),j(0,0),this},cb=function(){return e.restore(),this},db=function(a){return e.rotate(a),this},eb=function(a){a=a||{};var b=k(a.x,g),c=k(a.y,h),d=a.radius||10,f=a.fillStyle||!1,i=a.strokeStyle||!1,l=a.height||10,m=a.width||10;return n(),U(b,c+d),P(b,c+l-d),W(b,c+l,b+d,c+l),P(b+m-d,c+l),W(b+m,c+l,b+m,c+l-d),P(b+m,c+d),W(b+m,c,b+m-d,c),P(b+d,c),W(b,c,b,c+d),f&&(e.fillStyle=f,A()),i&&(e.strokeStyle=i,ub()),u(),j(b,c),p({x:b,y:c,w:m,h:l}),this},fb=function(a){a=a||{};var b=k(a.x,g),c=k(a.y,h),d=a.radius||10,f=a.fillStyle||e.fillStyle,i=a.height||10,j=a.width||10;return eb({x:b,y:c,radius:d,fillStyle:f,strokeStyle:!1,height:i,width:j}),p({x:a.x,y:a.y,w:a.width,h:a.height}),this},gb=function(a){a=a||{};var b=k(a.x,g),c=k(a.y,h),d=a.radius||10,f=a.strokeStyle||e.strokeStyle,i=a.height||10,j=a.width||10;return eb({x:b,y:c,radius:d,fillStyle:!1,strokeStyle:f,height:i,width:j}),p({x:a.x,y:a.y,w:a.width,h:a.height}),this},hb=function(){return e.save(),this},ib=function(a,b){return e.scale(a,b),this},jb=function(a,b,c,d,f,g){return e.setTransform(a,b,c,d,f,g),this},kb=function(a){return void 0!==a?(e.shadowBlur=a,this):e.shadowBlur},lb=function(a){return void 0!==a?(e.shadowColor=a,this):e.shadowColor},mb=function(a){return void 0!==a?(e.shadowOffsetX=a,this):e.shadowOffsetX},nb=function(a){return void 0!==a?(e.shadowOffsetY=a,this):e.shadowOffsetY},ob=function(a,b){return void 0!==a?(e.shadowOffsetX=a,e.shadowOffsetY=void 0!==b?b:a,this):{x:e.shadowOffsetX,y:e.shadowOffsetY}},pb=function(a){if(a.points>2){var b,c,d,f,g,h,i=a.fillStyle||!1,j=a.strokeStyle||!1;for(b=2*Math.PI/a.points,c=b/2,d=a.angle/180*Math.PI,e.moveTo(a.x+Math.cos(d)*a.outerRadius,a.y-Math.sin(d)*a.outerRadius),n(),f=1;f<=a.points;f++)g=a.x+Math.cos(d+b*f-c)*a.innerRadius,h=a.y-Math.sin(d+b*f-c)*a.innerRadius,e.lineTo(g,h),g=a.x+Math.cos(d+b*f)*a.outerRadius,h=a.y-Math.sin(d+b*f)*a.outerRadius,e.lineTo(g,h);return j&&(e.strokeStyle=j,e.stroke()),i&&(e.fillStyle=i,e.fill()),u(),p({cx:a.x,cy:a.y,r:Math.max(a.outerRadius,a.innerRadius)}),this}throw"star error: Not enough points to make a star."},qb=function(a){a=a||{};var b=k(a.x,g),c=k(a.y,h),d=a.radius||10,f=a.strokeStyle||e.strokeStyle;return r({x:b,y:c,radius:d,fillStyle:!1,strokeStyle:f}),this},rb=function(a){return void 0!==a?(e.strokeStyle=a,this):e.strokeStyle},sb=function(a,b,c,d){return j(a,b),e.strokeRect(a,b,c,d),p({x:a,y:b,w:c,h:d}),this},tb=function(a,b,c,d){return j(b,c),e.strokeText(a,b,c,d),this},ub=function(){return e.stroke(),this},vb=function(a){return void 0!==a?(e.textAlign=a,this):e.textAlign},wb=function(a){return void 0!==a?(e.textBaseline=a,this):e.textBaseline},xb=function(a,b,c,d,f,g){return j(f,g),e.transform(a,b,c,d,f,g),this},yb=function(a,b){return j(a,b),e.translate(a,b),this};return{arc:l,arcTo:m,beginPath:n,bezierCurveTo:o,boundingBox:q,circle:r,clearRect:s,clip:t,closePath:u,context:e,container:d,createImageData:v,createLinearGradient:w,createPattern:x,createRadialGradient:y,drawImage:z,fill:A,fillCircle:B,fillRect:C,fillStyle:D,fillText:E,font:F,currentPos:j,getImageData:G,getPixelColor:H,getPixelsByColor:I,globalAlpha:J,globalCompositeOperation:K,isPointInPath:L,line:M,lineCap:N,lineJoin:O,lineTo:P,lineWidth:Q,math:R,miterLimit:T,measureText:S,moveTo:U,putImageData:V,quadraticCurveTo:W,quadraticCurveToFixed:X,randomStroke:Z,randomHex:Y,randomFill:$,rect:_,rectangle:ab,reset:bb,restore:cb,rotate:db,roundedRectangle:eb,strokeRoundedRectangle:gb,fillRoundedRectangle:fb,save:hb,scale:ib,setTransform:jb,shadowBlur:kb,shadowColor:lb,shadowOffset:ob,shadowOffsetX:mb,shadowOffsetY:nb,star:pb,stroke:ub,strokeCircle:qb,strokeStyle:rb,strokeText:tb,strokeRect:sb,textAlign:vb,textBaseline:wb,transform:xb,translate:yb,width:d.width,height:d.height}}},a.prototype._init.prototype=a.prototype,a}();"function"==typeof define&&define.amd?define(function(){return c}):a.Cee=c}(window);