Skip to content

Commit

Permalink
New stuff for css3please2
Browse files Browse the repository at this point in the history
  • Loading branch information
mikeescobedo committed Sep 30, 2010
1 parent 40e79e5 commit b9e46a0
Show file tree
Hide file tree
Showing 5 changed files with 793 additions and 32 deletions.
78 changes: 78 additions & 0 deletions javascript/jquery-mousewheel-3.0.4.js
@@ -0,0 +1,78 @@
/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
* Licensed under the MIT License (LICENSE.txt).
*
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
* Thanks to: Seamus Leahy for adding deltaX and deltaY
*
* Version: 3.0.4
*
* Requires: 1.2.2+
*/

(function($) {

var types = ['DOMMouseScroll', 'mousewheel'];

$.event.special.mousewheel = {
setup: function() {
if ( this.addEventListener ) {
for ( var i=types.length; i; ) {
this.addEventListener( types[--i], handler, false );
}
} else {
this.onmousewheel = handler;
}
},

teardown: function() {
if ( this.removeEventListener ) {
for ( var i=types.length; i; ) {
this.removeEventListener( types[--i], handler, false );
}
} else {
this.onmousewheel = null;
}
}
};

$.fn.extend({
mousewheel: function(fn) {
return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
},

unmousewheel: function(fn) {
return this.unbind("mousewheel", fn);
}
});


function handler(event) {
var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
event = $.event.fix(orgEvent);
event.type = "mousewheel";

// Old school scrollwheel delta
if ( event.wheelDelta ) { delta = event.wheelDelta/120; }
if ( event.detail ) { delta = -event.detail/3; }

// New school multidimensional scroll (touchpads) deltas
deltaY = delta;

// Gecko
if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
deltaY = 0;
deltaX = -1*delta;
}

// Webkit
if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }

// Add event and delta to the front of the arguments
args.unshift(event, delta, deltaX, deltaY);

return $.event.handle.apply(this, args);
}

})(jQuery);
211 changes: 211 additions & 0 deletions test_math.html
@@ -0,0 +1,211 @@
<!DOCTYPE HTML>

<html>

<head>
<meta charset="UTF-8" />

<title>Cross-Browser CSS3 Rule Generator</title>

<script src="test_math.js" type="text/javascript"></script>
<script type="text/javascript">

/* ---- cssMath Firebug tests ---- */

console.log(
'Testing round: function (n, l)', '\n',
'Number rounded by Length', '\n',
'cssMath.round(3.1417534)', 'returns: ', cssMath.round(3.1417534), '\n',
'cssMath.round(3.1417534, 2)', 'returns: ', cssMath.round(3.1417534, 2), '\n'
);

console.log(
'Testing xy2rs: function (x, y)', '\n',
'X and Y coordinates to rotation and strength', '\n',
'cssMath.xy2rs(4, 4)', 'returns: ', cssMath.xy2rs(4, 4), '\n',
'cssMath.xy2rs(10, 15)', 'returns: ', cssMath.xy2rs(10, 15), '\n'
);

console.log(
'Testing rs2xy: function (r, s)', '\n',
'Rotation and Strength to x and y coordinates', '\n',
'cssMath.rs2xy(135, 5.657)', 'returns: ', cssMath.rs2xy(135, 5.657), '\n',
'cssMath.rs2xy(146.31, 18.028)', 'returns: ', cssMath.rs2xy(146.31, 18.028), '\n'
);

console.log(
'Testing r2d: function (r)', '\n',
'Rotation to degree', '\n',
'cssMath.r2d(3)', 'returns: ', cssMath.r2d(3), '\n',
'cssMath.r2d(3.5)', 'returns: ', cssMath.r2d(3.5), '\n'
);

console.log(
'Testing d2r: function (d)', '\n',
'Degree to rotation', '\n',
'cssMath.d2r(270)', 'returns: ', cssMath.d2r(270), '\n',
'cssMath.d2r(315)', 'returns: ', cssMath.d2r(315), '\n'
);

console.log(
'Testing lh2sh: function (lh)', '\n',
'Long Hexadecimals compressed to short hexadecimals', '\n',
'cssMath.lh2sh(\'FF33FF\')', 'returns: ', cssMath.lh2sh('FF33FF'), '\n',
'cssMath.lh2sh(\'#FF33FF\')', 'returns: ', cssMath.lh2sh('#FF33FF'), '\n',
'cssMath.lh2sh(\'#F3F\')', 'returns: ', cssMath.lh2sh('#F3F'), '\n'
);

console.log(
'Testing sh2lh: function (sh)', '\n',
'Short Hexadecimals expanded to long hexadecimals', '\n',
'cssMath.sh2lh(\'F3F\')', 'returns: ', cssMath.sh2lh('F3F'), '\n',
'cssMath.lh2sh(\'#F3F\')', 'returns: ', cssMath.sh2lh('#F3F'), '\n',
'cssMath.lh2sh(\'#FF33FF\')', 'returns: ', cssMath.sh2lh('#FF33FF'), '\n'
);

console.log(
'Testing c2h: function (c)', '\n',
'Channel to hexadecimal', '\n',
'cssMath.c2h(255)', 'returns: ', cssMath.c2h(255), '\n',
'cssMath.c2h(0)', 'returns: ', cssMath.c2h(0), '\n'
);

console.log(
'Testing h2c: function (c)', '\n',
'Hexadecimal to channel', '\n',
'cssMath.h2c(\'FF\')', 'returns: ', cssMath.h2c('FF'), '\n',
'cssMath.h2c(\'00\')', 'returns: ', cssMath.h2c('00'), '\n'
);

console.log(
'Testing c2a: function (c)', '\n',
'Channels to array', '\n',
'cssMath.c2a(\'255, 0, 255\')', 'returns: ', cssMath.c2a('255, 0, 255'), '\n',
'cssMath.c2a(\'255,0,255\')', 'returns: ', cssMath.c2a('255,0,255'), '\n',
'cssMath.c2a(\'(255,0,255)\')', 'returns: ', cssMath.c2a('(255,0,255)'), '\n',
'cssMath.c2a(\'rgb(255,0,255)\')', 'returns: ', cssMath.c2a('rgb(255,0,255)'), '\n',
'cssMath.c2a(\'rgb ( 255 , 0 , 255 )\')', 'returns: ', cssMath.c2a('rgb ( 255 , 0 , 255 )'), '\n'
);

console.log(
'Testing h2a: function (c)', '\n',
'Hexadecimals to array', '\n',
'cssMath.h2a(\'FF00FF\')', 'returns: ', cssMath.h2a('FF00FF'), '\n',
'cssMath.h2a(\'#FF00FF\')', 'returns: ', cssMath.h2a('#FF00FF'), '\n',
'cssMath.h2a(\'#F0F\')', 'returns: ', cssMath.h2a('#F0F'), '\n',
'cssMath.h2a(\'F0F\')', 'returns: ', cssMath.h2a('F0F'), '\n'
);

console.log(
'Testing c2h2: function (c)', '\n',
'Channels to hexadecimals', '\n',
'cssMath.c2h2(\'255, 0, 255\')', 'returns: ', cssMath.c2h2('255, 0, 255'), '\n',
'cssMath.c2h2(\'255,0,255\')', 'returns: ', cssMath.c2h2('255,0,255'), '\n',
'cssMath.c2h2(\'(255,0,255)\')', 'returns: ', cssMath.c2h2('(255,0,255)'), '\n',
'cssMath.c2h2(\'rgb(255,0,255)\')', 'returns: ', cssMath.c2h2('rgb(255,0,255)'), '\n',
'cssMath.c2h2(\'rgb ( 255 , 0 , 255 )\')', 'returns: ', cssMath.c2h2('rgb ( 255 , 0 , 255 )'), '\n'
);

console.log(
'Testing h2c2: function (h)', '\n',
'Hexadecimals to channels', '\n',
'cssMath.h2c2(\'FF00FF\')', 'returns: ', cssMath.h2c2('FF00FF'), '\n',
'cssMath.h2c2(\'#FF00FF\')', 'returns: ', cssMath.h2c2('#FF00FF'), '\n',
'cssMath.h2c2(\'#F0F\')', 'returns: ', cssMath.h2c2('#F0F'), '\n',
'cssMath.h2c2(\'F0F\')', 'returns: ', cssMath.h2c2('F0F'), '\n'
);

console.log(
'Testing cf: function (c)', '\n',
'Channels proper formatting', '\n',
'cssMath.cf(\'255, 0, 255\')', 'returns: ', cssMath.cf('255, 0, 255'), '\n',
'cssMath.cf(\'255,0,255\')', 'returns: ', cssMath.cf('255,0,255'), '\n',
'cssMath.cf(\'(255,0,255)\')', 'returns: ', cssMath.cf('(255,0,255)'), '\n',
'cssMath.cf(\'rgb(255,0,255)\')', 'returns: ', cssMath.cf('rgb(255,0,255)'), '\n',
'cssMath.cf(\'rgb ( 255 , 0 , 255 )\')', 'returns: ', cssMath.cf('rgb ( 255 , 0 , 255 )'), '\n',
'cssMath.cf(\'255, 0, 255, 204\')', 'returns: ', cssMath.cf('255, 0, 255, 204'), '\n',
'cssMath.cf(\'255,0,255,204\')', 'returns: ', cssMath.cf('255,0,255,204'), '\n',
'cssMath.cf(\'(255,0,255,204)\')', 'returns: ', cssMath.cf('(255,0,255,204)'), '\n',
'cssMath.cf(\'rgb(255,0,255,204)\')', 'returns: ', cssMath.cf('rgb(255,0,255,204)'), '\n',
'cssMath.cf(\'rgb ( 255 , 0 , 255 , 204)\')', 'returns: ', cssMath.cf('rgb ( 255 , 0 , 255 , 204)'), '\n'
);

console.log(
'Testing hf: function (h)', '\n',
'Hexadecimals proper formatting', '\n',
'cssMath.hf(\'FF00FF\')', 'returns: ', cssMath.hf('FF00FF'), '\n',
'cssMath.hf(\'#FF00FF\')', 'returns: ', cssMath.hf('#FF00FF'), '\n',
'cssMath.hf(\'#F0F\')', 'returns: ', cssMath.hf('#F0F'), '\n',
'cssMath.hf(\'F0F\')', 'returns: ', cssMath.hf('F0F'), '\n',
'cssMath.hf(\'CCFF00FF\')', 'returns: ', cssMath.hf('CCFF00FF'), '\n',
'cssMath.hf(\'CF0F\')', 'returns: ', cssMath.hf('CF0F'), '\n'
);

console.log(
'Testing cm: function (c, m)', '\n',
'Channel Move', '\n',
'cssMath.cm(254, 1)', 'returns: ', cssMath.cm(254, 1), '\n',
'cssMath.cm(253, 2)', 'returns: ', cssMath.cm(253, 2), '\n',
'cssMath.cm(255, -51)', 'returns: ', cssMath.cm(255, -51), '\n'
);

console.log(
'Testing hm: function (h, m)', '\n',
'Hexadecimal Move', '\n',
'cssMath.hm(\'FE\', 1)', 'returns: ', cssMath.hm('FE', 1), '\n',
'cssMath.hm(\'FD\', 2)', 'returns: ', cssMath.hm('FD', 2), '\n',
'cssMath.hm(\'FF\', -51)', 'returns: ', cssMath.hm('FF', -51), '\n'
);

console.log(
'Testing cm2: function (c, m)', '\n',
'Channels Move', '\n',
'cssMath.cm2(\'254, 254, 254\', 1)', 'returns: ', cssMath.cm2('254, 254, 254', 1), '\n',
'cssMath.cm2(\'253, 253, 253\', 2)', 'returns: ', cssMath.cm2('253, 253, 253', 2), '\n',
'cssMath.cm2(\'255, 255, 255\', -51)', 'returns: ', cssMath.cm2('255, 255, 255', -51), '\n'
);

console.log(
'Testing hm2: function (h, m)', '\n',
'Hexadecimals Move', '\n',
'cssMath.hm2(\'FEFEFE\', 1)', 'returns: ', cssMath.hm2('FEFEFE', 1), '\n',
'cssMath.hm2(\'FDFDFD\', 2)', 'returns: ', cssMath.hm2('FDFDFD', 2), '\n',
'cssMath.hm2(\'FFFFFF\', -51)', 'returns: ', cssMath.hm2('FFFFFF', -51), '\n'
);

console.log(
'Testing s2sh: function (s)', '\n',
'String to short hexadecimal', '\n',
'cssMath.s2sh(\'255, 255, 255\', 1)', 'returns: ', cssMath.s2sh('255, 255, 255'), '\n'
);

console.log(
'Testing s2lh: function (s)', '\n',
'String to long hexadecimal', '\n',
'cssMath.s2lh(\'255, 51, 255\', 1)', 'returns: ', cssMath.s2lh('255, 51, 255'), '\n',
'cssMath.s2lh(\'255, 51, 255, 204\', 1)', 'returns: ', cssMath.s2lh('255, 51, 255, 204'), '\n',
'cssMath.s2lh(\'rgb (255, 51, 255, 204)\', 1)', 'returns: ', cssMath.s2lh('rgb (255, 51, 255, 204)'), '\n',
'cssMath.s2lh(\'rgba (255, 51, 255)\', 1)', 'returns: ', cssMath.s2lh('rgba (255, 51, 255)'), '\n'
);

console.log(
'Testing s2c: function (s)', '\n',
'String to channels', '\n',
'cssMath.s2c(\'FF33FF\', 1)', 'returns: ', cssMath.s2c('FF33FF'), '\n',
'cssMath.s2c(\'#FF33FF\', 1)', 'returns: ', cssMath.s2c('#FF33FF'), '\n',
'cssMath.s2c(\'CCFF33FF\', 1)', 'returns: ', cssMath.s2c('CCFF33FF'), '\n',
'cssMath.s2c(\'#CCFF33FF\', 1)', 'returns: ', cssMath.s2c('#CCFF33FF'), '\n'
);

console.log(
'Testing s2xm: function (s)', '\n',
'String to channels, hexadecimals, or units Moved', '\n',
'cssMath.s2xm(\'FFFEFF\', 1)', 'returns: ', cssMath.s2xm('FFFEFF', 1), '\n'
);

</script>
</head>

<body></body>

</html>

0 comments on commit b9e46a0

Please sign in to comment.