0byt3m1n1
Path:
/
data
/
applications
/
aps
/
tikiwiki
/
3.2.0-5
/
standard
/
htdocs
/
lib
/
mootools
/
src
/
Effects
/
[
Home
]
File: Fx.CSS.js
/* Script: Fx.CSS.js Css parsing class for effects. Required by <Fx.Style>, <Fx.Styles>, <Fx.Elements>. No documentation needed, as its used internally. License: MIT-style license. */ Fx.CSS = { select: function(property, to){ if (property.test(/color/i)) return this.Color; var type = $type(to); if ((type == 'array') || (type == 'string' && to.contains(' '))) return this.Multi; return this.Single; }, parse: function(el, property, fromTo){ if (!fromTo.push) fromTo = [fromTo]; var from = fromTo[0], to = fromTo[1]; if (!$chk(to)){ to = from; from = el.getStyle(property); } var css = this.select(property, to); return {'from': css.parse(from), 'to': css.parse(to), 'css': css}; } }; Fx.CSS.Single = { parse: function(value){ return parseFloat(value); }, getNow: function(from, to, fx){ return fx.compute(from, to); }, getValue: function(value, unit, property){ if (unit == 'px' && property != 'opacity') value = Math.round(value); return value + unit; } }; Fx.CSS.Multi = { parse: function(value){ return value.push ? value : value.split(' ').map(function(v){ return parseFloat(v); }); }, getNow: function(from, to, fx){ var now = []; for (var i = 0; i < from.length; i++) now[i] = fx.compute(from[i], to[i]); return now; }, getValue: function(value, unit, property){ if (unit == 'px' && property != 'opacity') value = value.map(Math.round); return value.join(unit + ' ') + unit; } }; Fx.CSS.Color = { parse: function(value){ return value.push ? value : value.hexToRgb(true); }, getNow: function(from, to, fx){ var now = []; for (var i = 0; i < from.length; i++) now[i] = Math.round(fx.compute(from[i], to[i])); return now; }, getValue: function(value){ return 'rgb(' + value.join(',') + ')'; } };