/home/techb158/pneusparfait.com/js
NameSizeModeActions
acme-challenge/-0755rm
bezierCanvas.js108620644editdlrm
countdown.js23750644editdlrm
jquery.js00644editdlrm
modernizr.js00644editdlrm
notifyMe.js31720644editdlrm
Edit: /home/techb158/pneusparfait.com/js/bezierCanvas.js (10862B)
/* bezierCanvas.js v1.1.0 Copyright (c)2014 Sergey Serafimovich */ (function ( $ ) { "use strict"; $.fn.bezierCanvas = function( options ) { // Detect retina var retina = window.devicePixelRatio > 1; var pxlRatio = (retina) ? 2 : 1; if (navigator.userAgent.match(/iPad/i) != null || navigator.userAgent.match(/iPhone/i) != null) { pxlRatio = 1.5 } var i = 1; var objects = []; var styles = []; // These are the defaults var settings = $.extend({ maxStyles: 10, maxLines: 100, strokeWidth: 0.5, lineSpacing: 1, spacingVariation: 0, colorBase: {r: 100,g: 100,b: 100}, colorVariation: {r: 100,g: 100,b: 100}, globalSpeed: 300, globalAlpha: 0.5, delayVariation: 0.3, speedLinear: false, coordinates: [], loop: false, moveCenterX: 0, moveCenterY: 0, spacingMode: 'add' }, options ); var canvas = this[0]; var context = canvas.getContext("2d"); // Set canvas style size canvas.style.height = $(window).height()+'px'; canvas.style.width = $(window).width()+'px'; // Set canvas size canvas.width = $(window).width()*pxlRatio; canvas.height = $(window).height()*pxlRatio; // Save clear context context.save(); // Handle window resize $(window).on("resize", function(){ context.restore(); canvas.style.height = $(window).height()+'px'; canvas.style.width = $(window).width()+'px'; canvas.width = $(window).width()*pxlRatio; canvas.height = $(window).height()*pxlRatio; context.translate(canvas.width/2+settings.moveCenterX, canvas.height/2+settings.moveCenterY); }); // Set center context.translate(canvas.width/2+settings.moveCenterX, canvas.height/2+settings.moveCenterY); // Generate styles for(var c=0; c 0) ? Math.ceil(plusminus) : Math.floor(plusminus); var m2 = (plusminus2 > 0) ? Math.ceil(plusminus2) : Math.floor(plusminus2); settings.coordinates.push({ x1: m*canvas.width/2, y1: m2*canvas.height/3, x2: Math.random()*canvas.width-canvas.width/2, y2: Math.random()*canvas.height-canvas.height/2, x3: Math.random()*canvas.width-canvas.width/2, y3: Math.random()*canvas.height-canvas.height/2, x4: -m*canvas.width/2, y4: -m2*canvas.height/3, kx1: 15, ky1: 15*Math.random(), kx2: 15, ky2: 15 }); } var methods = { // Add pseudorandom points addPoints: function() { var p = settings.coordinates[settings.coordinates.length-1]; var plusminus2 = 0.7-Math.random(); var m = (p.x4 < 0) ? -1 : 1; var m2 = (p.y4 < 0) ? -1 : 1; var m3 = (plusminus2 > 0) ? Math.ceil(plusminus2) : Math.floor(plusminus2); settings.coordinates.push({ x1: p.x4, y1: p.y4, x2: p.x4+(p.x4-p.x3), y2: p.y4+(p.y4-p.y3), x3: Math.random()*canvas.width - canvas.width/2, y3: Math.random()*canvas.height - canvas.height/2, x4: -m*(canvas.width/4 + Math.round(Math.random()-0.2)*canvas.height/4), y4: -m2*m3*(canvas.height/4+Math.round(Math.random()-0.2)*canvas.height/4), kx1: p.kx2, ky1: p.ky2, kx2: 15-30*Math.random(), ky2: 15-30*Math.random() }); }, // Calculate segment points (De Casteljau's algorithm) segmentPoints: function (u0, u1, t0, t1, xP1, yP1, xP2, yP2, xP3, yP3, xP4, yP4) { return { x1: u0*u0*u0*xP1 + (t0*u0*u0 + u0*t0*u0 + u0*u0*t0)*xP2 + (t0*t0*u0 + u0*t0*t0 + t0*u0*t0)*xP3 + t0*t0*t0*xP4, x2: u0*u0*u1*xP1 + (t0*u0*u1 + u0*t0*u1 + u0*u0*t1)*xP2 + (t0*t0*u1 + u0*t0*t1 + t0*u0*t1)*xP3 + t0*t0*t1*xP4, x3: u0*u1*u1*xP1 + (t0*u1*u1 + u0*t1*u1 + u0*u1*t1)*xP2 + (t0*t1*u1 + u0*t1*t1 + t0*u1*t1)*xP3 + t0*t1*t1*xP4, x4: u1*u1*u1*xP1 + (t1*u1*u1 + u1*t1*u1 + u1*u1*t1)*xP2 + (t1*t1*u1 + u1*t1*t1 + t1*u1*t1)*xP3 + t1*t1*t1*xP4, y1: u0*u0*u0*yP1 + (t0*u0*u0 + u0*t0*u0 + u0*u0*t0)*yP2 + (t0*t0*u0 + u0*t0*t0 + t0*u0*t0)*yP3 + t0*t0*t0*yP4, y2: u0*u0*u1*yP1 + (t0*u0*u1 + u0*t0*u1 + u0*u0*t1)*yP2 + (t0*t0*u1 + u0*t0*t1 + t0*u0*t1)*yP3 + t0*t0*t1*yP4, y3: u0*u1*u1*yP1 + (t0*u1*u1 + u0*t1*u1 + u0*u1*t1)*yP2 + (t0*t1*u1 + u0*t1*t1 + t0*u1*t1)*yP3 + t0*t1*t1*yP4, y4: u1*u1*u1*yP1 + (t1*u1*u1 + u1*t1*u1 + u1*u1*t1)*yP2 + (t1*t1*u1 + u1*t1*t1 + t1*u1*t1)*yP3 + t1*t1*t1*yP4 } } } var time = new Date().getTime(); // Render loop function draw() { window.requestAnimationFrame(draw, this); var now = new Date().getTime(), dt = now - (time || now); // time = now; context.clearRect(-canvas.width/2-settings.moveCenterX, -canvas.height/2-settings.moveCenterY,canvas.width,canvas.height); // Group by colours for(var c=0; c= 1) { // If looped, then max value is loop end l = l+1; if(settings.loop) cl = l % (settings.coordinates.length-1); else cl = l; // If there is no new coordinates and not looped let's add some if(settings.coordinates.length <= l && !settings.loop) { methods.addPoints(); } // Time interval var tt0 = Math.max(gt0-l, 0); var tt1 = Math.max(gt1-l, 0); var uu0 = 1.0 - Math.min(tt0, 1); var uu1 = 1.0 - Math.min(tt1, 1); // Calculate coordinates for curve segment if(settings.spacingMode == "multiply") { var pp = methods.segmentPoints(uu0, uu1, Math.min(tt0, 1), Math.min(tt1, 1), settings.coordinates[cl].x1*o.pos, settings.coordinates[cl].y1*o.pos, settings.coordinates[cl].x2*o.pos, settings.coordinates[cl].y2*o.pos, settings.coordinates[cl].x3*o.pos, settings.coordinates[cl].y3*o.pos, settings.coordinates[cl].x4*o.pos, settings.coordinates[cl].y4*o.pos ); } else { var pp = methods.segmentPoints(uu0, uu1, Math.min(tt0, 1), Math.min(tt1, 1), settings.coordinates[cl].x1+o.pos*settings.coordinates[cl].kx1, settings.coordinates[cl].y1+o.pos*settings.coordinates[cl].ky1, settings.coordinates[cl].x2+o.pos*settings.coordinates[cl].kx1, settings.coordinates[cl].y2+o.pos*settings.coordinates[cl].ky1, settings.coordinates[cl].x3+o.pos*settings.coordinates[cl].kx2, settings.coordinates[cl].y3+o.pos*settings.coordinates[cl].ky2, settings.coordinates[cl].x4+o.pos*settings.coordinates[cl].kx2, settings.coordinates[cl].y4+o.pos*settings.coordinates[cl].ky2 ); } // Draw context.moveTo(pp.x1, pp.y1); context.bezierCurveTo( pp.x2, pp.y2, pp.x3, pp.y3, pp.x4, pp.y4 ); } } // Stroke context.stroke(); } // i++; }; draw(); return this; }; }( jQuery )); /** * Provides requestAnimationFrame in a cross browser way. * @author paulirish / http://paulirish.com/ */ if ( !window.requestAnimationFrame ) { window.requestAnimationFrame = ( function() { return window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function( /* function FrameRequestCallback */ callback, /* DOMElement Element */ element ) { window.setTimeout( callback, 1000 / 60 ); }; } )(); }