Section 1
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
public static function getObjectLength(_arg1:Object):uint{
var _local2:uint;
var _local3:String;
_local2 = 0;
for (_local3 in _arg1) {
_local2++;
};
return (_local2);
}
public static function numberToG(_arg1:Number):Number{
return (((_arg1 & 0xFF00) >> 8));
}
public static function numberToB(_arg1:Number):Number{
return ((_arg1 & 0xFF));
}
public static function numberToR(_arg1:Number):Number{
return (((_arg1 & 0xFF0000) >> 16));
}
public static function concatObjects(... _args):Object{
var _local2:Object;
var _local3:Object;
var _local4:int;
var _local5:String;
_local2 = {};
_local4 = 0;
while (_local4 < _args.length) {
_local3 = _args[_local4];
for (_local5 in _local3) {
if (_local3[_local5] == null){
delete _local2[_local5];
} else {
_local2[_local5] = _local3[_local5];
};
};
_local4++;
};
return (_local2);
}
}
}//package caurina.transitions
Section 2
//Equations (caurina.transitions.Equations)
package caurina.transitions {
public class Equations {
public function Equations(){
trace("Equations is a static class and should not be instantiated.");
}
public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
if (_arg1 < (1 / 2.75)){
return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2));
};
if (_arg1 < (2 / 2.75)){
_arg1 = (_arg1 - (1.5 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2));
};
if (_arg1 < (2.5 / 2.75)){
_arg1 = (_arg1 - (2.25 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2));
};
_arg1 = (_arg1 - (2.625 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2));
}
public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period;
_local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
};
--_arg1;
return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2));
}
public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2));
};
return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2));
}
public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2));
};
_arg1 = (_arg1 - 2);
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2));
}
public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2));
}
public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2));
}
public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2));
}
public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function init():void{
Tweener.registerTransition("easenone", easeNone);
Tweener.registerTransition("linear", easeNone);
Tweener.registerTransition("easeinquad", easeInQuad);
Tweener.registerTransition("easeoutquad", easeOutQuad);
Tweener.registerTransition("easeinoutquad", easeInOutQuad);
Tweener.registerTransition("easeoutinquad", easeOutInQuad);
Tweener.registerTransition("easeincubic", easeInCubic);
Tweener.registerTransition("easeoutcubic", easeOutCubic);
Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
Tweener.registerTransition("easeoutincubic", easeOutInCubic);
Tweener.registerTransition("easeinquart", easeInQuart);
Tweener.registerTransition("easeoutquart", easeOutQuart);
Tweener.registerTransition("easeinoutquart", easeInOutQuart);
Tweener.registerTransition("easeoutinquart", easeOutInQuart);
Tweener.registerTransition("easeinquint", easeInQuint);
Tweener.registerTransition("easeoutquint", easeOutQuint);
Tweener.registerTransition("easeinoutquint", easeInOutQuint);
Tweener.registerTransition("easeoutinquint", easeOutInQuint);
Tweener.registerTransition("easeinsine", easeInSine);
Tweener.registerTransition("easeoutsine", easeOutSine);
Tweener.registerTransition("easeinoutsine", easeInOutSine);
Tweener.registerTransition("easeoutinsine", easeOutInSine);
Tweener.registerTransition("easeincirc", easeInCirc);
Tweener.registerTransition("easeoutcirc", easeOutCirc);
Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
Tweener.registerTransition("easeoutincirc", easeOutInCirc);
Tweener.registerTransition("easeinexpo", easeInExpo);
Tweener.registerTransition("easeoutexpo", easeOutExpo);
Tweener.registerTransition("easeinoutexpo", easeInOutExpo);
Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
Tweener.registerTransition("easeinelastic", easeInElastic);
Tweener.registerTransition("easeoutelastic", easeOutElastic);
Tweener.registerTransition("easeinoutelastic", easeInOutElastic);
Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
Tweener.registerTransition("easeinback", easeInBack);
Tweener.registerTransition("easeoutback", easeOutBack);
Tweener.registerTransition("easeinoutback", easeInOutBack);
Tweener.registerTransition("easeoutinback", easeOutInBack);
Tweener.registerTransition("easeinbounce", easeInBounce);
Tweener.registerTransition("easeoutbounce", easeOutBounce);
Tweener.registerTransition("easeinoutbounce", easeInOutBounce);
Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
}
public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2));
}
public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001)));
}
public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2));
}
public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2));
}
public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2));
}
public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2));
}
public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
_local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
--_arg1;
return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
}
public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2));
}
public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
}
public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 == 0){
return (_arg2);
};
if (_arg1 == _arg4){
return ((_arg2 + _arg3));
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005)));
};
--_arg1;
return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2));
}
public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
_local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2));
}
public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2));
}
public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
}
}//package caurina.transitions
Section 3
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var originalValueComplete:Object;
public var modifierParameters:Array;
public var isSpecialProperty:Boolean;
public var hasModifier:Boolean;
public var valueComplete:Number;
public var extra:Object;
public var valueStart:Number;
public var modifierFunction:Function;
public var arrayIndex:Number;
public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){
valueStart = _arg1;
valueComplete = _arg2;
originalValueComplete = _arg3;
arrayIndex = _arg4;
extra = _arg5;
isSpecialProperty = _arg6;
hasModifier = Boolean(_arg7);
modifierFunction = _arg7;
modifierParameters = _arg8;
}
public function toString():String{
var _local1:String;
_local1 = "\n[PropertyInfoObj ";
_local1 = (_local1 + ("valueStart:" + String(valueStart)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("valueComplete:" + String(valueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("arrayIndex:" + String(arrayIndex)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("extra:" + String(extra)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("hasModifier:" + String(hasModifier)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierFunction:" + String(modifierFunction)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierParameters:" + String(modifierParameters)));
_local1 = (_local1 + "]\n");
return (_local1);
}
public function clone():PropertyInfoObj{
var _local1:PropertyInfoObj;
_local1 = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
return (_local1);
}
}
}//package caurina.transitions
Section 4
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var preProcess:Function;
public var setValue:Function;
public var getValue:Function;
public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){
getValue = _arg1;
setValue = _arg2;
parameters = _arg3;
preProcess = _arg4;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialProperty ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("setValue:" + String(setValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("preProcess:" + String(preProcess)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 5
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier)
package caurina.transitions {
public class SpecialPropertyModifier {
public var getValue:Function;
public var modifyValues:Function;
public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){
modifyValues = _arg1;
getValue = _arg2;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertyModifier ");
_local1 = (_local1 + ("modifyValues:" + String(modifyValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 6
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter)
package caurina.transitions {
public class SpecialPropertySplitter {
public var parameters:Array;
public var splitValues:Function;
public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){
splitValues = _arg1;
parameters = _arg2;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertySplitter ");
_local1 = (_local1 + ("splitValues:" + String(splitValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 7
//Tweener (caurina.transitions.Tweener)
package caurina.transitions {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Tweener {
private static var _timeScale:Number = 1;
private static var _currentTimeFrame:Number;
private static var _specialPropertySplitterList:Object;
public static var autoOverwrite:Boolean = true;
private static var _engineExists:Boolean = false;
private static var _currentTime:Number;
private static var _tweenList:Array;
private static var _specialPropertyModifierList:Object;
private static var _specialPropertyList:Object;
private static var _transitionList:Object;
private static var _inited:Boolean = false;
private static var __tweener_controller__:MovieClip;
public function Tweener(){
trace("Tweener is a static class and should not be instantiated.");
}
public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{
var _local4:SpecialPropertyModifier;
if (!_inited){
init();
};
_local4 = new SpecialPropertyModifier(_arg2, _arg3);
_specialPropertyModifierList[_arg1] = _local4;
}
public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{
var _local6:SpecialProperty;
if (!_inited){
init();
};
_local6 = new SpecialProperty(_arg2, _arg3, _arg4, _arg5);
_specialPropertyList[_arg1] = _local6;
}
public static function init(... _args):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
}
private static function updateTweens():Boolean{
var _local1:int;
if (_tweenList.length == 0){
return (false);
};
_local1 = 0;
while (_local1 < _tweenList.length) {
if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){
if (!updateTweenByIndex(_local1)){
removeTweenByIndex(_local1);
};
if (_tweenList[_local1] == null){
removeTweenByIndex(_local1, true);
_local1--;
};
};
_local1++;
};
return (true);
}
public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Array;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Function;
var _local9:TweenListObj;
var _local10:Number;
var _local11:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local4 = _arg1.concat();
} else {
_local4 = [_arg1];
};
_local5 = _arg2;
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local6 = (isNaN(_local5.time)) ? 0 : _local5.time;
_local7 = (isNaN(_local5.delay)) ? 0 : _local5.delay;
if (typeof(_local5.transition) == "string"){
_local11 = _local5.transition.toLowerCase();
_local8 = _transitionList[_local11];
} else {
_local8 = _local5.transition;
};
if (!Boolean(_local8)){
_local8 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local4.length) {
if (_local5.useFrames == true){
_local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams);
} else {
_local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams);
};
_local9.properties = null;
_local9.onStart = _local5.onStart;
_local9.onUpdate = _local5.onUpdate;
_local9.onComplete = _local5.onComplete;
_local9.onOverwrite = _local5.onOverwrite;
_local9.onStartParams = _local5.onStartParams;
_local9.onUpdateParams = _local5.onUpdateParams;
_local9.onCompleteParams = _local5.onCompleteParams;
_local9.onOverwriteParams = _local5.onOverwriteParams;
_local9.onStartScope = _local5.onStartScope;
_local9.onUpdateScope = _local5.onUpdateScope;
_local9.onCompleteScope = _local5.onCompleteScope;
_local9.onOverwriteScope = _local5.onOverwriteScope;
_local9.onErrorScope = _local5.onErrorScope;
_local9.isCaller = true;
_local9.count = _local5.count;
_local9.waitFrames = _local5.waitFrames;
_tweenList.push(_local9);
if ((((_local6 == 0)) && ((_local7 == 0)))){
_local10 = (_tweenList.length - 1);
updateTweenByIndex(_local10);
removeTweenByIndex(_local10);
};
_local3++;
};
return (true);
}
public static function pauseAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
pauseTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function removeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
var _local5:SpecialPropertySplitter;
var _local6:Array;
var _local7:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
if (_specialPropertySplitterList[_args[_local4]]){
_local5 = _specialPropertySplitterList[_args[_local4]];
_local6 = _local5.splitValues(_arg1, null);
_local7 = 0;
while (_local7 < _local6.length) {
_local3.push(_local6[_local7].name);
_local7++;
};
} else {
_local3.push(_args[_local4]);
};
};
_local4++;
};
return (affectTweens(removeTweenByIndex, _arg1, _local3));
}
public static function updateFrame():void{
_currentTimeFrame++;
}
public static function splitTweens(_arg1:Number, _arg2:Array):uint{
var _local3:TweenListObj;
var _local4:TweenListObj;
var _local5:uint;
var _local6:String;
var _local7:Boolean;
_local3 = _tweenList[_arg1];
_local4 = _local3.clone(false);
_local5 = 0;
while (_local5 < _arg2.length) {
_local6 = _arg2[_local5];
if (Boolean(_local3.properties[_local6])){
_local3.properties[_local6] = undefined;
delete _local3.properties[_local6];
};
_local5++;
};
for (_local6 in _local4.properties) {
_local7 = false;
_local5 = 0;
while (_local5 < _arg2.length) {
if (_arg2[_local5] == _local6){
_local7 = true;
break;
};
_local5++;
};
if (!_local7){
_local4.properties[_local6] = undefined;
delete _local4.properties[_local6];
};
};
_tweenList.push(_local4);
return ((_tweenList.length - 1));
}
public static function resumeTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
var _local3:Number;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
_local3 = getCurrentTweeningTime(_local2);
_local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused));
_local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused));
_local2.timePaused = undefined;
_local2.isPaused = false;
return (true);
}
public static function getVersion():String{
return ("AS3 1.33.74");
}
public static function onEnterFrame(_arg1:Event):void{
var _local2:Boolean;
updateTime();
updateFrame();
_local2 = false;
_local2 = updateTweens();
if (!_local2){
stopEngine();
};
}
public static function updateTime():void{
_currentTime = getTimer();
}
private static function updateTweenByIndex(_arg1:Number):Boolean{
var tTweening:TweenListObj;
var isOver:Boolean;
var mustUpdate:Boolean;
var nv:Number;
var t:Number;
var b:Number;
var c:Number;
var d:Number;
var pName:String;
var eventScope:Object;
var tScope:Object;
var cTime:Number;
var tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
isOver = false;
cTime = getCurrentTweeningTime(tTweening);
if (cTime >= tTweening.timeStart){
tScope = tTweening.scope;
if (tTweening.isCaller){
do {
t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1));
b = tTweening.timeStart;
c = (tTweening.timeComplete - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
} while (!(cTime >= nv));
} else {
mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates)));
if (cTime >= tTweening.timeComplete){
isOver = true;
mustUpdate = true;
};
if (!tTweening.hasStarted){
if (Boolean(tTweening.onStart)){
eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope;
try {
tTweening.onStart.apply(eventScope, tTweening.onStartParams);
} catch(e2:Error) {
handleError(tTweening, e2, "onStart");
};
};
for (pName in tTweening.properties) {
if (tTweening.properties[pName].isSpecialProperty){
if (Boolean(_specialPropertyList[pName].preProcess)){
tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra);
};
pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
pv = tScope[pName];
};
tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv;
};
mustUpdate = true;
tTweening.hasStarted = true;
};
if (mustUpdate){
for (pName in tTweening.properties) {
tProperty = tTweening.properties[pName];
if (isOver){
nv = tProperty.valueComplete;
} else {
if (tProperty.hasModifier){
t = (cTime - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams);
nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
} else {
t = (cTime - tTweening.timeStart);
b = tProperty.valueStart;
c = (tProperty.valueComplete - tProperty.valueStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d, tTweening.transitionParams);
};
};
if (tTweening.rounded){
nv = Math.round(nv);
};
if (tProperty.isSpecialProperty){
_specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
tScope[pName] = nv;
};
};
tTweening.updatesSkipped = 0;
if (Boolean(tTweening.onUpdate)){
eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope;
try {
tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams);
} catch(e3:Error) {
handleError(tTweening, e3, "onUpdate");
};
};
} else {
tTweening.updatesSkipped++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope;
try {
tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams);
} catch(e4:Error) {
handleError(tTweening, e4, "onComplete");
};
};
return (!(isOver));
};
return (true);
}
public static function setTimeScale(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (isNaN(_arg1)){
_arg1 = 1;
};
if (_arg1 < 1E-5){
_arg1 = 1E-5;
};
if (_arg1 != _timeScale){
if (_tweenList != null){
_local2 = 0;
while (_local2 < _tweenList.length) {
_local3 = getCurrentTweeningTime(_tweenList[_local2]);
_tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1));
_tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1));
if (_tweenList[_local2].timePaused != undefined){
_tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1));
};
_local2++;
};
};
_timeScale = _arg1;
};
}
public static function resumeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
resumeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{
var eventScope:Object;
var pTweening = _arg1;
var pError = _arg2;
var pCallBackName = _arg3;
if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){
eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope;
try {
pTweening.onError.apply(eventScope, [pTweening.scope, pError]);
} catch(metaError:Error) {
printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace()));
};
} else {
if (!Boolean(pTweening.onError)){
printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace()));
};
};
}
private static function startEngine():void{
_engineExists = true;
_tweenList = new Array();
__tweener_controller__ = new MovieClip();
__tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
_currentTimeFrame = 0;
updateTime();
}
public static function removeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
removeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:Array;
var _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:Array;
var _local11:Object;
var _local12:Object;
var _local13:Function;
var _local14:Object;
var _local15:TweenListObj;
var _local16:Number;
var _local17:Array;
var _local18:Array;
var _local19:Array;
var _local20:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local6 = _arg1.concat();
} else {
_local6 = [_arg1];
};
_local7 = TweenListObj.makePropertiesChain(_arg2);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local8 = (isNaN(_local7.time)) ? 0 : _local7.time;
_local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay;
_local10 = new Array();
_local11 = {overwrite:true, time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true};
_local12 = new Object();
for (_local5 in _local7) {
if (!_local11[_local5]){
if (_specialPropertySplitterList[_local5]){
_local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters);
_local3 = 0;
while (_local3 < _local17.length) {
if (_specialPropertySplitterList[_local17[_local3].name]){
_local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters);
_local4 = 0;
while (_local4 < _local18.length) {
_local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false};
_local4++;
};
} else {
_local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false};
};
_local3++;
};
} else {
if (_specialPropertyModifierList[_local5] != undefined){
_local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]);
_local3 = 0;
while (_local3 < _local19.length) {
_local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue};
_local3++;
};
} else {
_local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]};
};
};
};
};
for (_local5 in _local10) {
if (_specialPropertyList[_local5] != undefined){
_local10[_local5].isSpecialProperty = true;
} else {
if (_local6[0][_local5] == undefined){
printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property."));
};
};
};
for (_local5 in _local12) {
if (_local10[_local5] != undefined){
_local10[_local5].modifierParameters = _local12[_local5].modifierParameters;
_local10[_local5].modifierFunction = _local12[_local5].modifierFunction;
};
};
if (typeof(_local7.transition) == "string"){
_local20 = _local7.transition.toLowerCase();
_local13 = _transitionList[_local20];
} else {
_local13 = _local7.transition;
};
if (!Boolean(_local13)){
_local13 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local6.length) {
_local14 = new Object();
for (_local5 in _local10) {
_local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters);
};
if (_local7.useFrames == true){
_local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams);
} else {
_local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams);
};
_local15.properties = _local14;
_local15.onStart = _local7.onStart;
_local15.onUpdate = _local7.onUpdate;
_local15.onComplete = _local7.onComplete;
_local15.onOverwrite = _local7.onOverwrite;
_local15.onError = _local7.onError;
_local15.onStartParams = _local7.onStartParams;
_local15.onUpdateParams = _local7.onUpdateParams;
_local15.onCompleteParams = _local7.onCompleteParams;
_local15.onOverwriteParams = _local7.onOverwriteParams;
_local15.onStartScope = _local7.onStartScope;
_local15.onUpdateScope = _local7.onUpdateScope;
_local15.onCompleteScope = _local7.onCompleteScope;
_local15.onOverwriteScope = _local7.onOverwriteScope;
_local15.onErrorScope = _local7.onErrorScope;
_local15.rounded = _local7.rounded;
_local15.skipUpdates = _local7.skipUpdates;
if (((_local7.overwrite == undefined)) ? autoOverwrite : _local7.overwrite){
removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete);
};
_tweenList.push(_local15);
if ((((_local8 == 0)) && ((_local9 == 0)))){
_local16 = (_tweenList.length - 1);
updateTweenByIndex(_local16);
removeTweenByIndex(_local16);
};
_local3++;
};
return (true);
}
public static function registerTransition(_arg1:String, _arg2:Function):void{
if (!_inited){
init();
};
_transitionList[_arg1] = _arg2;
}
public static function printError(_arg1:String):void{
trace(("## [Tweener] Error: " + _arg1));
}
private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{
var _local4:Boolean;
var _local5:uint;
var _local6:Array;
var _local7:uint;
var _local8:uint;
var _local9:uint;
_local4 = false;
if (!Boolean(_tweenList)){
return (false);
};
_local5 = 0;
while (_local5 < _tweenList.length) {
if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){
if (_arg3.length == 0){
_arg1(_local5);
_local4 = true;
} else {
_local6 = new Array();
_local7 = 0;
while (_local7 < _arg3.length) {
if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){
_local6.push(_arg3[_local7]);
};
_local7++;
};
if (_local6.length > 0){
_local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties);
if (_local8 == _local6.length){
_arg1(_local5);
_local4 = true;
} else {
_local9 = splitTweens(_local5, _local6);
_arg1(_local9);
_local4 = true;
};
};
};
};
_local5++;
};
return (_local4);
}
public static function getTweens(_arg1:Object):Array{
var _local2:uint;
var _local3:String;
var _local4:Array;
if (!Boolean(_tweenList)){
return ([]);
};
_local4 = new Array();
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
for (_local3 in _tweenList[_local2].properties) {
_local4.push(_local3);
};
};
_local2++;
};
return (_local4);
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
return (true);
};
_local2++;
};
return (false);
}
public static function pauseTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (_local2.isPaused))){
return (false);
};
_local2.timePaused = getCurrentTweeningTime(_local2);
_local2.isPaused = true;
return (true);
}
public static function getCurrentTweeningTime(_arg1:Object):Number{
return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime);
}
public static function getTweenCount(_arg1:Object):Number{
var _local2:uint;
var _local3:Number;
if (!Boolean(_tweenList)){
return (0);
};
_local3 = 0;
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
_local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties));
};
_local2++;
};
return (_local3);
}
private static function stopEngine():void{
_engineExists = false;
_tweenList = null;
_currentTime = 0;
_currentTimeFrame = 0;
__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
__tweener_controller__ = null;
}
public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{
var removed:Boolean;
var removedLocally:Boolean;
var i:uint;
var tl:uint;
var pName:String;
var eventScope:Object;
var p_scope = _arg1;
var p_properties = _arg2;
var p_timeStart = _arg3;
var p_timeComplete = _arg4;
removed = false;
tl = _tweenList.length;
i = 0;
while (i < tl) {
if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){
if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){
removedLocally = false;
for (pName in _tweenList[i].properties) {
if (Boolean(p_properties[pName])){
if (Boolean(_tweenList[i].onOverwrite)){
eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope;
try {
_tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams);
} catch(e:Error) {
handleError(_tweenList[i], e, "onOverwrite");
};
};
_tweenList[i].properties[pName] = undefined;
delete _tweenList[i].properties[pName];
removedLocally = true;
removed = true;
};
};
if (removedLocally){
if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){
removeTweenByIndex(i);
};
};
};
};
i = (i + 1);
};
return (removed);
}
public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{
var _local4:SpecialPropertySplitter;
if (!_inited){
init();
};
_local4 = new SpecialPropertySplitter(_arg2, _arg3);
_specialPropertySplitterList[_arg1] = _local4;
}
public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{
_tweenList[_arg1] = null;
if (_arg2){
_tweenList.splice(_arg1, 1);
};
return (true);
}
public static function resumeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(resumeTweenByIndex, _arg1, _local3));
}
public static function pauseTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(pauseTweenByIndex, _arg1, _local3));
}
}
}//package caurina.transitions
Section 8
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var onUpdate:Function;
public var useFrames:Boolean;
public var hasStarted:Boolean;
public var onOverwriteParams:Array;
public var timeStart:Number;
public var count:Number;
public var timeComplete:Number;
public var onStartParams:Array;
public var onUpdateScope:Object;
public var rounded:Boolean;
public var onUpdateParams:Array;
public var properties:Object;
public var onComplete:Function;
public var transitionParams:Object;
public var updatesSkipped:Number;
public var onStart:Function;
public var onOverwriteScope:Object;
public var skipUpdates:Number;
public var onStartScope:Object;
public var scope:Object;
public var transition:Function;
public var timePaused:Number;
public var onCompleteParams:Array;
public var timesCalled:Number;
public var isCaller:Boolean;
public var onError:Function;
public var onErrorScope:Object;
public var onOverwrite:Function;
public var isPaused:Boolean;
public var waitFrames:Boolean;
public var onCompleteScope:Object;
public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){
scope = _arg1;
timeStart = _arg2;
timeComplete = _arg3;
useFrames = _arg4;
transition = _arg5;
transitionParams = _arg6;
properties = new Object();
isPaused = false;
timePaused = undefined;
isCaller = false;
updatesSkipped = 0;
timesCalled = 0;
skipUpdates = 0;
hasStarted = false;
}
public function clone(_arg1:Boolean):TweenListObj{
var _local2:TweenListObj;
var _local3:String;
_local2 = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams);
_local2.properties = new Array();
for (_local3 in properties) {
_local2.properties[_local3] = properties[_local3].clone();
};
_local2.skipUpdates = skipUpdates;
_local2.updatesSkipped = updatesSkipped;
if (!_arg1){
_local2.onStart = onStart;
_local2.onUpdate = onUpdate;
_local2.onComplete = onComplete;
_local2.onOverwrite = onOverwrite;
_local2.onError = onError;
_local2.onStartParams = onStartParams;
_local2.onUpdateParams = onUpdateParams;
_local2.onCompleteParams = onCompleteParams;
_local2.onOverwriteParams = onOverwriteParams;
_local2.onStartScope = onStartScope;
_local2.onUpdateScope = onUpdateScope;
_local2.onCompleteScope = onCompleteScope;
_local2.onOverwriteScope = onOverwriteScope;
_local2.onErrorScope = onErrorScope;
};
_local2.rounded = rounded;
_local2.isPaused = isPaused;
_local2.timePaused = timePaused;
_local2.isCaller = isCaller;
_local2.count = count;
_local2.timesCalled = timesCalled;
_local2.waitFrames = waitFrames;
_local2.hasStarted = hasStarted;
return (_local2);
}
public function toString():String{
var _local1:String;
var _local2:Boolean;
var _local3:String;
_local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
_local2 = true;
for (_local3 in properties) {
if (!_local2){
_local1 = (_local1 + ",");
};
_local1 = (_local1 + ("[name:" + properties[_local3].name));
_local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart));
_local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete));
_local1 = (_local1 + "]");
_local2 = false;
};
_local1 = (_local1 + (", timeStart:" + String(timeStart)));
_local1 = (_local1 + (", timeComplete:" + String(timeComplete)));
_local1 = (_local1 + (", useFrames:" + String(useFrames)));
_local1 = (_local1 + (", transition:" + String(transition)));
_local1 = (_local1 + (", transitionParams:" + String(transitionParams)));
if (skipUpdates){
_local1 = (_local1 + (", skipUpdates:" + String(skipUpdates)));
};
if (updatesSkipped){
_local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped)));
};
if (Boolean(onStart)){
_local1 = (_local1 + (", onStart:" + String(onStart)));
};
if (Boolean(onUpdate)){
_local1 = (_local1 + (", onUpdate:" + String(onUpdate)));
};
if (Boolean(onComplete)){
_local1 = (_local1 + (", onComplete:" + String(onComplete)));
};
if (Boolean(onOverwrite)){
_local1 = (_local1 + (", onOverwrite:" + String(onOverwrite)));
};
if (Boolean(onError)){
_local1 = (_local1 + (", onError:" + String(onError)));
};
if (onStartParams){
_local1 = (_local1 + (", onStartParams:" + String(onStartParams)));
};
if (onUpdateParams){
_local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams)));
};
if (onCompleteParams){
_local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams)));
};
if (onOverwriteParams){
_local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams)));
};
if (onStartScope){
_local1 = (_local1 + (", onStartScope:" + String(onStartScope)));
};
if (onUpdateScope){
_local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope)));
};
if (onCompleteScope){
_local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope)));
};
if (onOverwriteScope){
_local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope)));
};
if (onErrorScope){
_local1 = (_local1 + (", onErrorScope:" + String(onErrorScope)));
};
if (rounded){
_local1 = (_local1 + (", rounded:" + String(rounded)));
};
if (isPaused){
_local1 = (_local1 + (", isPaused:" + String(isPaused)));
};
if (timePaused){
_local1 = (_local1 + (", timePaused:" + String(timePaused)));
};
if (isCaller){
_local1 = (_local1 + (", isCaller:" + String(isCaller)));
};
if (count){
_local1 = (_local1 + (", count:" + String(count)));
};
if (timesCalled){
_local1 = (_local1 + (", timesCalled:" + String(timesCalled)));
};
if (waitFrames){
_local1 = (_local1 + (", waitFrames:" + String(waitFrames)));
};
if (hasStarted){
_local1 = (_local1 + (", hasStarted:" + String(hasStarted)));
};
_local1 = (_local1 + "]\n");
return (_local1);
}
public static function makePropertiesChain(_arg1:Object):Object{
var _local2:Object;
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local2 = _arg1.base;
if (_local2){
_local3 = {};
if ((_local2 is Array)){
_local4 = [];
_local8 = 0;
while (_local8 < _local2.length) {
_local4.push(_local2[_local8]);
_local8++;
};
} else {
_local4 = [_local2];
};
_local4.push(_arg1);
_local6 = _local4.length;
_local7 = 0;
while (_local7 < _local6) {
if (_local4[_local7]["base"]){
_local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]);
} else {
_local5 = _local4[_local7];
};
_local3 = AuxFunctions.concatObjects(_local3, _local5);
_local7++;
};
if (_local3["base"]){
delete _local3["base"];
};
return (_local3);
//unresolved jump
};
return (_arg1);
}
}
}//package caurina.transitions
Section 9
//EventUI (com.soma.ui.events.EventUI)
package com.soma.ui.events {
import flash.events.*;
import com.soma.ui.*;
import com.soma.ui.vo.*;
public class EventUI extends Event {
public var properties:PropertiesUI;
public var element:ElementUI;
public var object:Object;
public static const WILL_UPDATE:String = "BaseUI::EventUI.WILL_UPDATE";
public static const WILL_CALCULATE:String = "BaseUI::EventUI.WILL_CALCULATE";
public static const UPDATED:String = "BaseUI::EventUI.UPDATED";
public function EventUI(_arg1:String, _arg2:Object=null, _arg3:ElementUI=null, _arg4:PropertiesUI=null, _arg5:Boolean=false, _arg6:Boolean=true){
this.object = _arg2;
this.element = _arg3;
this.properties = _arg4;
super(_arg1, _arg5, _arg6);
}
override public function toString():String{
return (formatToString("EventBaseUI", "object", "element", "properties", "type", "bubbles", "cancelable", "eventPhase"));
}
override public function clone():Event{
return (new EventUI(type, object, element, properties, bubbles, cancelable));
}
}
}//package com.soma.ui.events
Section 10
//PropertiesUI (com.soma.ui.vo.PropertiesUI)
package com.soma.ui.vo {
public class PropertiesUI {
public var width:Number;
public var height:Number;
public var x:Number;
public var y:Number;
public function PropertiesUI(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN){
this.x = _arg1;
this.y = _arg2;
this.width = _arg3;
this.height = _arg4;
}
public function toString():String{
return ((((((((("[PropertiesUI] " + "x: ") + x) + ", y: ") + y) + ", width: ") + width) + ", height: ") + height));
}
}
}//package com.soma.ui.vo
Section 11
//BaseUI (com.soma.ui.BaseUI)
package com.soma.ui {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class BaseUI {
protected var _reference:DisplayObjectContainer;
protected var _objects:Dictionary;
protected var _enable:Boolean;// = true
protected var _objectsSorted:Array;
public function BaseUI(_arg1:DisplayObjectContainer){
_enable = true;
super();
_reference = _arg1;
initialize();
}
public function get enable():Boolean{
return (_enable);
}
public function getElement(_arg1:DisplayObject):ElementUI{
return (_objects[_arg1]);
}
protected function setResizeListener():void{
_reference.stage.addEventListener(Event.RESIZE, resizeHandler);
updateElements();
}
public function remove(_arg1:DisplayObject):void{
var _local2:ElementUI;
var _local3:Number;
var _local4:Number;
if (_objects[_arg1]){
_local2 = _objects[_arg1];
_local3 = 0;
_local4 = _objectsSorted.length;
while (_local3 < _local4) {
if (_objectsSorted[_local3] == _local2){
_objectsSorted.splice(_local3, 1);
break;
};
_local3++;
};
_local2.dispose();
_local2 = null;
delete _objects[_arg1];
};
}
public function set enable(_arg1:Boolean):void{
_enable = _arg1;
}
protected function initialize():void{
reset();
if (_reference.stage == null){
_reference.addEventListener(Event.ADDED_TO_STAGE, referenceHandler);
} else {
setResizeListener();
};
}
protected function reset():void{
if (((!((_objectsSorted == null))) && ((_objectsSorted.length > 0)))){
if (_objectsSorted != null){
while (_objectsSorted.length > 0) {
delete _objects[_objectsSorted[0].object];
_objectsSorted[0].dispose();
_objectsSorted[0] = null;
_objectsSorted.splice(0, 1);
};
};
};
_objects = new Dictionary();
_objectsSorted = [];
}
public function refresh():void{
updateElements();
}
public function contains(_arg1:DisplayObject):Boolean{
return (!((_objects[_arg1] == undefined)));
}
protected function updateElements():void{
var _local1:Number;
var _local2:Number;
if (!_enable){
return;
};
_local1 = 0;
_local2 = _objectsSorted.length;
while (_local1 < _local2) {
ElementUI(_objectsSorted[_local1]).refresh();
_local1++;
};
}
public function add(_arg1:DisplayObject):ElementUI{
var _local2:ElementUI;
if (!_objects[_arg1]){
_local2 = new ElementUI(this, _arg1, _reference);
_objects[_arg1] = _local2;
_objectsSorted[_objectsSorted.length] = _local2;
return (_local2);
};
return (_objects[_arg1]);
}
public function dispose():void{
try {
removeAll();
_reference.removeEventListener(Event.ADDED_TO_STAGE, referenceHandler);
if (_reference.stage != null){
_reference.stage.removeEventListener(Event.RESIZE, resizeHandler);
};
_reference = null;
_objects = null;
} catch(e:Error) {
trace("Error in", this, "(dispose method):", e.message);
};
}
public function getElements():Array{
return (_objectsSorted.concat());
}
public function getElementsAsDictionary():Dictionary{
var _local1:Dictionary;
var _local2:Object;
_local1 = new Dictionary();
for (_local2 in _objects) {
_local1[_local2] = _objects[_local2];
};
return (_local1);
}
protected function resizeHandler(_arg1:Event):void{
updateElements();
}
public function removeAll():void{
reset();
}
protected function referenceHandler(_arg1:Event):void{
_reference.removeEventListener(Event.ADDED_TO_STAGE, referenceHandler);
setResizeListener();
}
}
}//package com.soma.ui
Section 12
//ElementUI (com.soma.ui.ElementUI)
package com.soma.ui {
import flash.display.*;
import flash.events.*;
import com.soma.ui.vo.*;
import flash.geom.*;
import com.soma.ui.events.*;
public class ElementUI extends EventDispatcher {
protected var _referenceX:Number;
protected var _referenceY:Number;
protected var _alignX:String;
protected var _alignY:String;
protected var _ratio:String;
protected var _right:Number;// = NAN
protected var _referenceHeight:Number;// = NAN
protected var _scaleYNeg:Boolean;
protected var _baseUI:BaseUI;
protected var _bottom:Number;// = NAN
protected var _referenceWidth:Number;// = NAN
protected var _object:DisplayObject;
protected var _rounded:Boolean;// = false
protected var _verticalCenter:Number;// = NAN
protected var _top:Number;// = NAN
protected var _enable:Boolean;// = true
protected var _rect:Rectangle;
protected var _reference:DisplayObjectContainer;
protected var _properties:PropertiesUI;
protected var _scaleXNeg:Boolean;
protected var _left:Number;// = NAN
protected var _mask:Shape;
protected var _horizontalCenter:Number;// = NAN
public static const ALIGN_LEFT:String = "left";
public static const ALIGN_BOTTOM:String = "bottom";
public static const RATIO_NONE:String = "ratio_none";
public static const ALIGN_CENTER:String = "center";
public static const ALIGN_RIGHT:String = "right";
public static const RATIO_IN:String = "ratio_in";
public static const RATIO_OUT:String = "ratio_out";
public static const ALIGN_TOP:String = "top";
public function ElementUI(_arg1:BaseUI, _arg2:DisplayObject, _arg3:DisplayObjectContainer){
_referenceWidth = NaN;
_referenceHeight = NaN;
_top = NaN;
_bottom = NaN;
_left = NaN;
_right = NaN;
_horizontalCenter = NaN;
_verticalCenter = NaN;
_enable = true;
_rounded = false;
super();
_baseUI = _arg1;
_object = _arg2;
_reference = _arg3;
initialize();
}
protected function processProperties():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
if (!isNaN(_horizontalCenter)){
setHorizontalCenter();
};
if (!isNaN(_verticalCenter)){
setVerticalCenter();
};
if (((!(isNaN(_left))) && (isNaN(_horizontalCenter)))){
_properties.x = _left;
if (((!((_rect == null))) && (isNaN(_right)))){
_properties.x = (_properties.x - _rect.x);
};
};
if (((!(isNaN(_top))) && (isNaN(_verticalCenter)))){
_properties.y = _top;
if (((!((_rect == null))) && (isNaN(_bottom)))){
_properties.y = (_properties.y - _rect.y);
};
};
if (((!(isNaN(_right))) && (isNaN(_horizontalCenter)))){
if (!isNaN(_left)){
_properties.width = getObjectWidth();
if (_rect != null){
_local1 = (_rect.x / (_object.width / _object.scaleX));
_local2 = ((_object.width / _object.scaleX) / _rect.width);
_properties.x = (_properties.x - (_local1 * (((_referenceWidth - _left) - _right) * _local2)));
};
} else {
_properties.x = ((_referenceWidth - _right) - getObjectWidth());
if (_rect != null){
_properties.x = (_properties.x - _rect.x);
};
};
};
if (((!(isNaN(_bottom))) && (isNaN(_verticalCenter)))){
if (!isNaN(_top)){
_properties.height = getObjectHeight();
if (_rect != null){
_local3 = (_rect.y / (_object.height / _object.scaleY));
_local4 = ((_object.height / _object.scaleY) / _rect.height);
_properties.y = (_properties.y - (_local3 * (((_referenceHeight - _top) - _bottom) * _local4)));
};
} else {
_properties.y = ((_referenceHeight - _bottom) - getObjectHeight());
if (_rect != null){
_properties.y = (_properties.y - _rect.y);
};
};
};
}
public function get alignY():String{
return (_alignY);
}
protected function destroyMask():void{
if (((!((_object.parent == null))) && (!((_mask == null))))){
_object.parent.removeChild(_mask);
};
_object.mask = null;
_mask = null;
}
protected function createMask():void{
if (_object.parent == null){
return;
};
_mask = new Shape();
_object.mask = _mask;
_object.parent.addChild(_mask);
drawMask();
}
public function get ratio():String{
return (_ratio);
}
protected function getRelocatedPoint(_arg1:Point):Point{
var _local2:Point;
if (_object.parent == null){
return (null);
};
_local2 = _reference.localToGlobal(_arg1);
return (_object.parent.globalToLocal(_local2));
}
public function set left(_arg1:Number):void{
_left = Number(_arg1);
}
public function get left():Number{
return (_left);
}
public function getRatioValue():Number{
return ((getInitialWidth() / getInitialHeight()));
}
public function set enable(_arg1:Boolean):void{
_enable = _arg1;
}
public function get right():Number{
return (_right);
}
public function get baseUI():BaseUI{
return (_baseUI);
}
protected function setHorizontalCenter():void{
if (_rect != null){
_properties.x = ((((_referenceWidth - _rect.width) >> 1) + _horizontalCenter) - _rect.x);
} else {
_properties.x = (((_referenceWidth >> 1) - (_object.width >> 1)) + _horizontalCenter);
};
}
public function get bottom():Number{
return (_bottom);
}
public function dispose():void{
try {
destroyMask();
_baseUI = null;
_object = null;
_reference = null;
_rect = null;
_properties = null;
} catch(e:Error) {
trace("Error in", this, "(dispose method):", e.message);
};
}
public function set horizontalCenter(_arg1:Number):void{
_horizontalCenter = _arg1;
}
protected function setProperties(_arg1:PropertiesUI):void{
if (!isNaN(_arg1.x)){
_object.x = _arg1.x;
};
if (!isNaN(_arg1.y)){
_object.y = _arg1.y;
};
if (!isNaN(_arg1.width)){
_object.width = _arg1.width;
};
if (!isNaN(_arg1.height)){
_object.height = _arg1.height;
};
setNegativeScale();
setRatioOutMask();
}
public function set right(_arg1:Number):void{
_right = _arg1;
}
public function get object():DisplayObject{
return (_object);
}
public function set ratio(_arg1:String):void{
if ((((_arg1 == RATIO_IN)) || ((_arg1 == RATIO_OUT)))){
_ratio = _arg1;
} else {
_ratio = null;
if (_mask != null){
destroyMask();
};
};
}
public function reset():void{
_top = NaN;
_bottom = NaN;
_left = NaN;
_right = NaN;
_verticalCenter = NaN;
_horizontalCenter = NaN;
_rect = null;
_alignX = ALIGN_CENTER;
_alignY = ALIGN_CENTER;
}
protected function drawMask():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Point;
var _local8:Point;
var _local9:Point;
if (_mask == null){
return;
};
_local1 = (isNaN(_left)) ? 0 : _left;
_local2 = (isNaN(_right)) ? 0 : _right;
_local3 = (isNaN(_top)) ? 0 : _top;
_local4 = (isNaN(_bottom)) ? 0 : _bottom;
_local5 = ((_referenceWidth - _local1) - _local2);
_local6 = ((_referenceHeight - _local3) - _local4);
_local7 = getRelocatedPoint(new Point(_local1, _local3));
_local8 = new Point(_local7.x, _local7.y);
_local9 = new Point((_local7.x + _local5), (_local7.y + _local6));
_mask.graphics.clear();
_mask.graphics.beginFill(0xFF, 0.3);
_mask.graphics.drawRect(_local8.x, _local8.y, (_local9.x - _local8.x), (_local9.y - _local8.y));
_mask.graphics.endFill();
}
public function get reference():DisplayObjectContainer{
return (_reference);
}
protected function updateReferenceValues():void{
_referenceX = ((_reference is Stage)) ? 0 : _reference.x;
_referenceY = ((_reference is Stage)) ? 0 : _reference.y;
_referenceWidth = ((_reference is Stage)) ? Stage(_reference).stageWidth : _reference.width;
_referenceHeight = ((_reference is Stage)) ? Stage(_reference).stageHeight : _reference.height;
}
public function get top():Number{
return (_top);
}
public function set bottom(_arg1):void{
_bottom = _arg1;
}
protected function setRatioOutMask():void{
if (_ratio != RATIO_OUT){
return;
};
if ((((((((((_reference is Stage)) && (isNaN(_left)))) && (isNaN(_right)))) && (isNaN(_top)))) && (isNaN(_bottom)))){
return;
};
if (_mask == null){
createMask();
} else {
drawMask();
};
}
public function getInitialWidth():Number{
return (Math.abs((_object.width / _object.scaleX)));
}
public function set rounded(_arg1:Boolean):void{
_rounded = _arg1;
}
public function get verticalCenter():Number{
return (_verticalCenter);
}
override public function toString():String{
return ((((((((((((("[ElementUI] " + "top: ") + _top) + ", left: ") + _left) + ", right: ") + _right) + ", bottom: ") + _bottom) + ", horizontalCenter: ") + _horizontalCenter) + ", verticalCenter: ") + _verticalCenter));
}
protected function setVerticalCenter():void{
if (_rect != null){
_properties.y = ((((_referenceHeight - _rect.height) >> 1) + _verticalCenter) - _rect.y);
} else {
_properties.y = (((_referenceHeight - _object.height) >> 1) + _verticalCenter);
};
}
public function get enable():Boolean{
return (_enable);
}
protected function initialize():void{
_alignX = ALIGN_CENTER;
_alignY = ALIGN_CENTER;
}
protected function getObjectWidth():Number{
var _local1:Number;
if (((!(isNaN(_left))) && (!(isNaN(_right))))){
if (_rect != null){
_local1 = (Math.abs((_object.width / _object.scaleX)) / _rect.width);
return ((((_referenceWidth - _left) - _right) * _local1));
};
return (((_referenceWidth - _left) - _right));
};
if (_rect != null){
return (_rect.width);
};
return (_object.width);
}
public function get horizontalCenter():Number{
return (_horizontalCenter);
}
protected function refreshElement():void{
var _local1:EventUI;
var _local2:Point;
var _local3:EventUI;
if (!_enable){
return;
};
_local1 = new EventUI(EventUI.WILL_CALCULATE, _object, this);
dispatchEvent(_local1);
if (_local1.isDefaultPrevented()){
return;
};
_properties = new PropertiesUI();
updateReferenceValues();
_scaleXNeg = (_object.scaleX < 0);
_scaleYNeg = (_object.scaleY < 0);
if (_ratio != null){
processRatio();
} else {
processProperties();
};
if (isNaN(_properties.x)){
_properties.x = _object.x;
};
if (isNaN(_properties.y)){
_properties.y = _object.y;
};
if (isNaN(_properties.width)){
_properties.width = _object.width;
};
if (isNaN(_properties.height)){
_properties.height = _object.height;
};
_local2 = getRelocatedPoint(new Point(_properties.x, _properties.y));
if (_local2 != null){
_properties.x = _local2.x;
_properties.y = _local2.y;
};
if (_rounded){
_properties.x = Math.round(_properties.x);
_properties.y = Math.round(_properties.y);
_properties.width = Math.round(_properties.width);
_properties.height = Math.round(_properties.height);
};
_local3 = new EventUI(EventUI.WILL_UPDATE, _object, this, _properties);
dispatchEvent(_local3);
if (!_local3.isDefaultPrevented()){
setProperties(_local3.properties);
dispatchEvent(new EventUI(EventUI.UPDATED, _object, this, _properties));
};
}
public function set reference(_arg1:DisplayObjectContainer):void{
_reference = _arg1;
}
public function set top(_arg1:Number):void{
_top = _arg1;
}
public function get rounded():Boolean{
return (_rounded);
}
protected function setRatioRectPos():void{
var _local1:Number;
var _local2:Number;
if (_rect != null){
_local1 = (_rect.x / getInitialWidth());
_local2 = (_rect.y / getInitialHeight());
_properties.x = (_properties.x - (_local1 * _properties.width));
_properties.y = (_properties.y - (_local2 * _properties.height));
};
}
public function set rect(_arg1:Rectangle):void{
_rect = _arg1;
}
protected function getObjectHeight():Number{
var _local1:Number;
if (((!(isNaN(_top))) && (!(isNaN(_bottom))))){
if (_rect != null){
_local1 = (Math.abs((_object.height / _object.scaleY)) / _rect.height);
return ((((_referenceHeight - _top) - _bottom) * _local1));
};
return (((_referenceHeight - _top) - _bottom));
};
if (_rect != null){
return (_rect.height);
};
return (_object.height);
}
public function getInitialHeight():Number{
return (Math.abs((_object.height / _object.scaleY)));
}
public function set verticalCenter(_arg1:Number):void{
_verticalCenter = _arg1;
}
protected function setNegativeScale():void{
if (((_scaleXNeg) && ((_object.scaleX > 0)))){
_object.scaleX = (_object.scaleX * -1);
};
if (((_scaleYNeg) && ((_object.scaleY > 0)))){
_object.scaleY = (_object.scaleY * -1);
};
}
public function refresh(_arg1:Event=null):void{
refreshElement();
}
public function get rect():Rectangle{
return (_rect);
}
public function set alignY(_arg1:String):void{
if (((((!((_arg1 == ALIGN_TOP))) && (!((_arg1 == ALIGN_CENTER))))) && (!((_arg1 == ALIGN_BOTTOM))))){
throw (new Error((((((("Error in " + this) + " ") + _object) + " (") + _object.name) + "): the alignY property must be ALIGN_TOP, ALIGN_CENTER or ALIGN_BOTTOM")));
};
_alignY = _arg1;
}
protected function processRatio():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local1 = (isNaN(_left)) ? 0 : _left;
_local2 = (isNaN(_right)) ? 0 : _right;
_local3 = (isNaN(_top)) ? 0 : _top;
_local4 = (isNaN(_bottom)) ? 0 : _bottom;
_local5 = (isNaN(_horizontalCenter)) ? 0 : _horizontalCenter;
_local6 = (isNaN(_verticalCenter)) ? 0 : _verticalCenter;
_local7 = getRatioValue();
_local8 = ((_referenceWidth - _local1) - _local2);
_local9 = ((_referenceHeight - _local3) - _local4);
if (_ratio == RATIO_IN){
if ((_local8 / _local7) > _local9){
_properties.width = (_local9 * _local7);
_properties.height = _local9;
} else {
_properties.width = _local8;
_properties.height = (_local8 / _local7);
};
setRatioRectSize();
if (_alignX == ALIGN_LEFT){
_properties.x = (_local1 + _local5);
} else {
if (_alignX == ALIGN_CENTER){
_properties.x = ((_referenceWidth - _properties.width) / 2);
} else {
if (_alignX == ALIGN_RIGHT){
_properties.x = (((_referenceWidth - _properties.width) - _local2) + _local5);
};
};
};
if (_alignY == ALIGN_TOP){
_properties.y = (_local3 + _local6);
} else {
if (_alignY == ALIGN_CENTER){
_properties.y = (((_referenceHeight - _properties.height) - _local4) / 2);
} else {
if (_alignY == ALIGN_BOTTOM){
_properties.y = (((_referenceHeight - _properties.height) - _local4) + _local6);
};
};
};
setRatioRectPos();
} else {
if (_ratio == RATIO_OUT){
if ((_local8 / _local7) < _local9){
_properties.width = (_local9 * _local7);
_properties.height = _local9;
} else {
_properties.width = _local8;
_properties.height = (_local8 / _local7);
};
setRatioRectSize();
if (_alignX == ALIGN_LEFT){
_properties.x = (_local1 + _local5);
} else {
if (_alignX == ALIGN_CENTER){
_properties.x = (((0 - ((_properties.width - _referenceWidth) >> 1)) + ((_local1 - _local2) >> 1)) + _local5);
} else {
if (_alignX == ALIGN_RIGHT){
_properties.x = (((_referenceWidth - _properties.width) - _local2) + _local5);
};
};
};
if (_alignY == ALIGN_TOP){
_properties.y = (_local3 + _local6);
} else {
if (_alignY == ALIGN_CENTER){
_properties.y = (((0 - ((_properties.height - _referenceHeight) >> 1)) + ((_local3 - _local4) >> 1)) + _local6);
} else {
if (_alignY == ALIGN_BOTTOM){
_properties.y = (((_referenceHeight - _properties.height) - _local4) + _local6);
};
};
};
setRatioRectPos();
};
};
}
protected function setRatioRectSize():void{
var _local1:Number;
var _local2:Number;
if (_rect != null){
_local1 = (getInitialWidth() / _rect.width);
_local2 = (getInitialHeight() / _rect.height);
_properties.width = (_properties.width * _local1);
_properties.height = (_properties.height * _local2);
};
}
public function get alignX():String{
return (_alignX);
}
public function set alignX(_arg1:String):void{
if (((((!((_arg1 == ALIGN_LEFT))) && (!((_arg1 == ALIGN_CENTER))))) && (!((_arg1 == ALIGN_RIGHT))))){
throw (new Error((((((("Error in " + this) + " ") + _object) + " (") + _object.name) + "): the alignX property must be ALIGN_LEFT, ALIGN_CENTER or ALIGN_RIGHT")));
};
_alignX = _arg1;
}
}
}//package com.soma.ui
Section 13
//FLVPlayer (flvplayers.FLVPlayer)
package flvplayers {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
public class FLVPlayer extends Sprite {
public var rectY:int;
public var source:String;
private var bufferTime:int;// = 10
public var rectX:int;
public var autoRewind:Boolean;// = false
private var rectHt_:Number;
private var invalidTime:Boolean;// = false
public var isFirstTimePlay:Boolean;// = true
private var metaData:Object;// = null
public var video:Video;
private var netStream:NetStream;
private var bufferFlush:Boolean;// = false
private var rectWd_:Number;
public var isAutoPlay:Boolean;
private var netStatusCache:String;
private var bufferTimer:Timer;
public function FLVPlayer(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=true){
bufferTime = 10;
isFirstTimePlay = true;
autoRewind = false;
metaData = null;
bufferFlush = false;
invalidTime = false;
super();
this.graphics.beginFill(0, 0);
this.graphics.drawRect(0, 0, _arg2, _arg3);
this.graphics.endFill();
this.rectWd_ = _arg2;
this.rectHt_ = _arg3;
this.isAutoPlay = _arg4;
this.source = _arg1;
initNetStream();
initVideo();
startBufferTimer();
if (_arg4){
play();
};
}
public function gotoFullScreen(_arg1:Stage):void{
var _local2:Point;
var _local3:Point;
if (!_arg1){
return;
};
_local2 = new Point(video.x, video.y);
_local3 = video.localToGlobal(_local2);
if (_arg1.displayState == StageDisplayState.FULL_SCREEN){
_arg1.displayState = StageDisplayState.NORMAL;
} else {
_arg1.displayState = StageDisplayState.FULL_SCREEN;
};
}
public function pause():void{
netStream.pause();
}
public function stop():void{
netStream.seek(0);
netStream.pause();
stopBufferTimer();
isFirstTimePlay = true;
}
public function get rectHt():Number{
return (rectHt_);
}
private function dispatcherBufferEvent(_arg1:int):void{
var _local2:FLVPlayerEvent;
_local2 = new FLVPlayerEvent(FLVPlayerEvent.ON_FLV_BUFFERING);
_local2.progress = _arg1;
this.dispatchEvent(_local2);
}
public function togglePause():void{
if (invalidTime){
return;
};
netStream.togglePause();
}
public function set rectHt(_arg1:Number):void{
rectHt_ = _arg1;
this.graphics.clear();
this.graphics.beginFill(0, 0);
this.graphics.drawRect(0, 0, rectWd_, rectWd_);
this.graphics.endFill();
}
private function startBufferTimer():void{
if ((((netStream.bytesTotal > 0)) && ((netStream.bytesLoaded == netStream.bytesTotal)))){
dispatcherBufferEvent(100);
} else {
if (netStream.bytesLoaded < netStream.bytesTotal){
if (!bufferTimer){
bufferTimer = new Timer(500);
bufferTimer.addEventListener(TimerEvent.TIMER, onBufferTimer);
};
bufferTimer.start();
};
};
}
public function get currectTime():Number{
return (netStream.time);
}
public function get totalTime():Number{
if (metaData){
return (metaData.duration);
};
return (0);
}
public function get volume():int{
return (netStream.soundTransform.volume);
}
public function play():void{
if (isFirstTimePlay){
video.width = rectWd;
video.height = rectHt;
netStream.play(source);
startBufferTimer();
isFirstTimePlay = false;
} else {
resume();
};
}
public function getBufferedPercent():int{
var _local1:int;
_local1 = Math.round(((netStream.bufferLength * 100) / netStream.bufferTime));
if (_local1 > 100){
_local1 = 100;
};
return (_local1);
}
public function set volume(_arg1:int):void{
var _local2:SoundTransform;
_local2 = netStream.soundTransform;
_local2.volume = _arg1;
netStream.soundTransform = _local2;
}
public function resume():void{
netStream.resume();
}
private function dispatcherBufferFullEvent():void{
var _local1:FLVPlayerEvent;
_local1 = new FLVPlayerEvent(FLVPlayerEvent.BUFFER_FULL);
this.dispatchEvent(_local1);
}
public function get percent():Number{
var _local1:Number;
_local1 = Math.floor(((netStream.bytesLoaded * 100) / netStream.bytesTotal));
if (_local1 < 0){
_local1 = 0;
};
if (_local1 > 100){
_local1 = 100;
};
return (_local1);
}
private function initVideo():void{
video = new Video();
video.smoothing = true;
video.attachNetStream(netStream);
this.addChild(video);
}
private function onMetaData(_arg1:Object):void{
var _local2:FLVPlayerEvent;
metaData = _arg1;
_local2 = new FLVPlayerEvent(FLVPlayerEvent.ON_META_DATA);
this.dispatchEvent(_local2);
}
private function dispatcherStartEvent():void{
var _local1:FLVPlayerEvent;
_local1 = new FLVPlayerEvent(FLVPlayerEvent.START_VIDEO);
this.dispatchEvent(_local1);
}
private function initNetStream():void{
var _local1:Object;
var _local2:NetConnection;
_local1 = new Object();
_local1.onMetaData = onMetaData;
_local2 = new NetConnection();
_local2.connect(null);
netStream = new NetStream(_local2);
netStream.bufferTime = bufferTime;
netStream.client = _local1;
netStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusEvent);
}
private function dispatcherBufferEmptyEvent():void{
var _local1:FLVPlayerEvent;
_local1 = new FLVPlayerEvent(FLVPlayerEvent.BUFFER_EMPTY);
this.dispatchEvent(_local1);
}
public function seek(_arg1:Number):void{
isFirstTimePlay = false;
netStream.seek(_arg1);
}
private function stopBufferTimer():void{
if (bufferTimer){
bufferTimer.stop();
bufferTimer.removeEventListener(TimerEvent.TIMER, onBufferTimer);
bufferTimer = null;
};
}
private function onBufferTimer(_arg1:TimerEvent):void{
var _local2:int;
_local2 = Math.floor(((netStream.bytesLoaded * 100) / netStream.bytesTotal));
if (_local2 < 0){
_local2 = 0;
};
if (_local2 > 100){
_local2 = 100;
};
dispatcherBufferEvent(_local2);
if (netStream.bytesLoaded >= netStream.bytesTotal){
bufferTimer.stop();
bufferTimer.removeEventListener(TimerEvent.TIMER, onBufferTimer);
bufferTimer = null;
};
}
public function set rectWd(_arg1:Number):void{
rectWd_ = _arg1;
this.graphics.clear();
this.graphics.beginFill(0, 0);
this.graphics.drawRect(0, 0, rectWd_, rectWd_);
this.graphics.endFill();
}
public function get rectWd():Number{
return (rectWd_);
}
private function netStatusEvent(_arg1:NetStatusEvent):void{
if (netStatusCache != _arg1.info.code){
switch (_arg1.info.code){
case "NetStream.Play.Start":
dispatcherStartEvent();
break;
case "NetStream.Buffer.Empty":
dispatcherBufferEmptyEvent();
break;
case "NetStream.Buffer.Full":
dispatcherBufferFullEvent();
break;
case "NetStream.Buffer.Flush":
bufferFlush = true;
break;
case "NetStream.Seek.Notify":
invalidTime = false;
break;
case "NetStream.Seek.InvalidTime":
bufferFlush = false;
invalidTime = true;
break;
case "NetStream.Play.Stop":
if (bufferFlush){
stop();
};
if (autoRewind){
seek(0);
play();
};
this.dispatchEvent(new FLVPlayerEvent(FLVPlayerEvent.PLAY_END));
break;
case "NetStream.Play.StreamNotFound":
this.dispatchEvent(new FLVPlayerEvent(FLVPlayerEvent.ERROR_URL));
break;
};
netStatusCache = _arg1.info.code;
};
}
}
}//package flvplayers
Section 14
//FLVPlayerEvent (flvplayers.FLVPlayerEvent)
package flvplayers {
import flash.events.*;
public class FLVPlayerEvent extends Event {
public var progress:int;// = 0
public var flvPlayer:FLVPlayer;// = null
public static const ON_META_DATA:String = "flvMetaData";
public static const BUFFER_EMPTY:String = "bufferEmpty";
public static const ON_FLV_BUFFERING:String = "onFLVBuffering";
public static const BUFFER_FULL:String = "bufferFull";
public static const PLAY_END:String = "playEnd";
public static const ERROR_URL:String = "errorURL";
public static const START_VIDEO:String = "startVideo";
public function FLVPlayerEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
progress = 0;
flvPlayer = null;
super(_arg1, _arg2, _arg3);
}
}
}//package flvplayers
Section 15
//KVITracker_17 (player01_fla.KVITracker_17)
package player01_fla {
import flash.display.*;
public dynamic class KVITracker_17 extends MovieClip {
public var track:MovieClip;
}
}//package player01_fla
Section 16
//sprite106_24 (player01_fla.sprite106_24)
package player01_fla {
import flash.display.*;
import flash.text.*;
public dynamic class sprite106_24 extends MovieClip {
public var ttime:TextField;
}
}//package player01_fla
Section 17
//sprite85_15 (player01_fla.sprite85_15)
package player01_fla {
import flash.display.*;
public dynamic class sprite85_15 extends MovieClip {
public function sprite85_15(){
addFrameScript(0, frame1, 25, frame26);
}
function frame1(){
stop();
}
function frame26(){
gotoAndPlay(2);
}
}
}//package player01_fla
Section 18
//sprite86_14 (player01_fla.sprite86_14)
package player01_fla {
import flash.display.*;
public dynamic class sprite86_14 extends MovieClip {
public var Fullscreen_btn:MovieClip;
}
}//package player01_fla
Section 19
//sprite97_18 (player01_fla.sprite97_18)
package player01_fla {
import flash.display.*;
public dynamic class sprite97_18 extends MovieClip {
public var _c:MovieClip;
public var _r:MovieClip;
public var _l:MovieClip;
}
}//package player01_fla
Section 20
//bigplay_btn (bigplay_btn)
package {
import flash.display.*;
public dynamic class bigplay_btn extends SimpleButton {
}
}//package
Section 21
//KVITracker (KVITracker)
package {
import flash.display.*;
import flash.events.*;
public class KVITracker extends MovieClip {
private var isDown:Boolean;// = false
public var tracker:MovieClip;
public var btnslider:SimpleButton;
private var percent_:Number;// = 100
private var downX:int;
public function KVITracker(){
isDown = false;
percent_ = 100;
super();
btnslider.addEventListener(MouseEvent.MOUSE_DOWN, onSliderDown);
tracker.addEventListener(MouseEvent.CLICK, onTrackerClick);
btnslider.x = (tracker.width - (btnslider.width / 2));
}
public function get percent():Number{
return (percent_);
}
private function onSliderDown(_arg1:MouseEvent):void{
isDown = true;
downX = _arg1.localX;
stage.addEventListener(MouseEvent.MOUSE_MOVE, onStageMove);
stage.addEventListener(MouseEvent.MOUSE_UP, onStageUp);
}
private function onStageUp(_arg1:MouseEvent):void{
isDown = false;
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onStageMove);
stage.removeEventListener(MouseEvent.MOUSE_UP, onStageUp);
}
public function set percent(_arg1:Number):void{
percent_ = _arg1;
btnslider.x = (((percent_ * tracker.width) / 100) - (btnslider.width / 2));
}
private function onTrackerClick(_arg1:MouseEvent):void{
btnslider.x = (mouseX - (btnslider.width / 2));
percent_ = ((Math.ceil((btnslider.x - downX)) * 100) / tracker.width);
}
private function onStageMove(_arg1:MouseEvent):void{
if ((((mouseX >= tracker.x)) && ((mouseX <= (tracker.x + tracker.width))))){
btnslider.x = (mouseX - (btnslider.width / 2));
percent_ = ((Math.ceil((btnslider.x + (btnslider.width / 2))) * 100) / tracker.width);
dispatchEvent(new Event(Event.CHANGE));
};
}
}
}//package
Section 22
//SWFData (SWFData)
package {
import flash.display.*;
public class SWFData extends MovieClip {
public var isflv:Boolean;// = true
public var ratio:String;// = "16:9"
public var bgcolor:uint;// = 0
public var autoSize:Boolean;// = false
public var autoplay:Boolean;// = true
public var autohide:Boolean;// = false
public var trialmenu:String;// = ""
public var videofile:String;// = "test我是中文.flv"
public var autoRewind:Boolean;// = false
public var showbuffer:Boolean;// = true
public var showbigplay:Boolean;// = true
public var videotime:uint;// = 0
public var trialmenuurl:String;// = ""
public function SWFData(){
videofile = "test我是中文.flv";
autohide = false;
isflv = true;
autoRewind = false;
autoSize = false;
autoplay = true;
showbigplay = true;
ratio = "16:9";
trialmenu = "";
trialmenuurl = "";
bgcolor = 0;
showbuffer = true;
videotime = 0;
super();
}
}
}//package
Section 23
//SWFData (SWFData)
package {
import flash.display.*;
public class SWFData extends MovieClip {
public var videofile:String;// = ""
public var autohide:Boolean;// = true
public var autoplay:Boolean;// = true
public var isflv:Boolean;// = false
public var autoRewind:Boolean;// = true
public var autoSize:Boolean;// = false
public var showbigplay:Boolean;// = true
public var ratio:String;// = "0"
public var trialmenu:String;// = ""
public var trialmenuurl:String;// = ""
public var bgcolor:int;// = 0
public var showbuffer:Boolean;// = false
public var videotime:int;// = 200
}
var _slot1 = [OP_NEWCLASS ClassInfo:0 base:MovieClip];
}//package
Section 24
//VideoPlayer (VideoPlayer)
package {
import flash.display.*;
import flash.events.*;
import com.soma.ui.*;
import caurina.transitions.*;
import flash.geom.*;
import flvplayers.*;
import flash.media.*;
import flash.net.*;
import flash.ui.*;
public class VideoPlayer extends MovieClip {
private var arrLeft:Array;
public var bgColor:MovieClip;
public var btnsound:SimpleButton;
private var startX:int;
private var startY:int;
public var btnslider:SimpleButton;
public var bg:MovieClip;
private var arrRight:Array;
private var percent:Number;// = 0
public var btnstop:SimpleButton;
public var btnmute:SimpleButton;
public var video:MovieClip;
private var videoElemUI:ElementUI;// = null
public var time:MovieClip;
private var orgStageWd:Number;// = 340
private var isDown:Boolean;// = false
public var trackloaded:MovieClip;
public var btnfullscreen:MovieClip;
public var volume:KVITracker;
private var baseUI:BaseUI;
private var orgStageHt:Number;// = 0xFF
public var btnpause:SimpleButton;
public var swfdata:SWFData;
public var tracker:MovieClip;
private var flvPlayerElemUI:ElementUI;// = null
public var autohide:MovieClip;
protected var arrAll:Array;
private var flvPlayer:FLVPlayer;// = null
public var btnplay:SimpleButton;
public var btnplay_big:bigplay_btn;
public var trackplayed:MovieClip;
private var downX:int;
public function VideoPlayer(){
var _local1:ColorTransform;
var _local2:Array;
var _local3:int;
var _local4:int;
percent = 0;
isDown = false;
orgStageWd = 340;
orgStageHt = 0xFF;
videoElemUI = null;
flvPlayerElemUI = null;
flvPlayer = null;
super();
if (stage){
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
} else {
this.addEventListener(Event.ADDED_TO_STAGE, onAdd2Stage);
};
btnslider.addEventListener(MouseEvent.MOUSE_DOWN, onSliderDown);
tracker.addEventListener(MouseEvent.CLICK, onTrackerClick);
trackplayed.addEventListener(MouseEvent.CLICK, onTrackerClick);
trackloaded.addEventListener(MouseEvent.CLICK, onTrackerClick);
volume.addEventListener(Event.CHANGE, onVolumeChange);
addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel);
btnslider.x = (startX = (tracker.x - (btnslider.width / 2)));
btnslider.y = (startY = ((tracker.y + (tracker.height / 2)) - (btnslider.height / 2)));
if ((btnslider is MovieClip)){
MovieClip(btnslider).buttonMode = true;
MovieClip(btnslider).useHandCursor = true;
};
trackloaded.x = (trackplayed.x = tracker.x);
trackloaded.width = (trackplayed.width = 0);
if (swfdata.ratio != "0"){
_local2 = String(swfdata.ratio).split(":");
_local3 = int(_local2[0]);
_local4 = int(_local2[1]);
} else {
_local3 = 4;
_local4 = 3;
};
video.width = _local3;
video.height = _local4;
if (swfdata.isflv){
flvPlayer = new FLVPlayer(swfdata.videofile, _local3, _local4);
flvPlayer.autoRewind = swfdata.autoRewind;
addChildAt(flvPlayer, (getChildIndex(video) + 1));
flvPlayer.addEventListener(FLVPlayerEvent.ON_META_DATA, onFLVMetaData);
flvPlayer.addEventListener(FLVPlayerEvent.ON_FLV_BUFFERING, onFlvBuffering);
flvPlayer.addEventListener(FLVPlayerEvent.ERROR_URL, onFlvErrorURL);
flvPlayer.addEventListener(FLVPlayerEvent.PLAY_END, onFlvPlayEnd);
flvPlayer.visible = false;
};
_local1 = bgColor.transform.colorTransform;
_local1.color = swfdata.bgcolor;
bgColor.transform.colorTransform = _local1;
video.visible = false;
trackloaded.visible = swfdata.showbuffer;
btnplay_big.visible = ((swfdata.showbigplay) && (!(swfdata.autoplay)));
addChild(btnplay_big);
if (swfdata.autoplay){
playVdeo();
} else {
stopVideo();
};
addEventListener(Event.ENTER_FRAME, onEnterFrame);
addEventListener(Event.RESIZE, onEnterFrame);
if (stage){
calTime();
initLayout();
if (swfdata.autohide){
stage.addEventListener(MouseEvent.MOUSE_MOVE, onTrackEnterOut);
hideAll();
};
};
btnmute.visible = false;
btnplay_big.addEventListener(MouseEvent.CLICK, onPlayClick);
btnplay.addEventListener(MouseEvent.CLICK, onPlayClick);
btnpause.addEventListener(MouseEvent.CLICK, onPauseClick);
btnstop.addEventListener(MouseEvent.CLICK, onStopClick);
btnsound.addEventListener(MouseEvent.CLICK, onSoundClick);
btnmute.addEventListener(MouseEvent.CLICK, onSoundClick);
btnfullscreen.addEventListener(MouseEvent.CLICK, onFullscreenClick);
initMenu();
}
private function onTrackEnterOut(_arg1:MouseEvent):void{
var _local2:int;
if (((stage) && ((((mouseY >= (stage.stageHeight - bg.height))) && ((mouseY <= stage.stageHeight)))))){
_local2 = 0;
while (_local2 < arrAll.length) {
Tweener.addTween(arrAll[_local2], {alpha:1, time:2});
_local2++;
};
time.ttime.visible = true;
} else {
_local2 = 0;
while (_local2 < arrAll.length) {
Tweener.addTween(arrAll[_local2], {alpha:0, time:2});
_local2++;
};
time.ttime.visible = false;
};
}
private function pauseVideo():void{
btnplay.visible = true;
btnpause.visible = false;
btnstop.visible = true;
if (flvPlayer){
flvPlayer.pause();
} else {
video.stop();
};
}
private function initLayout():void{
var _local1:ElementUI;
var _local2:int;
arrLeft = [btnplay, btnpause, btnstop];
arrRight = [time, volume, btnmute, btnsound, btnfullscreen];
arrAll = [btnplay, btnpause, btnstop, time, volume, btnmute, btnsound, btnfullscreen, tracker, btnslider, trackplayed, trackloaded, bg];
if (!baseUI){
baseUI = new BaseUI(stage);
};
_local2 = 0;
while (_local2 < arrLeft.length) {
_local1 = baseUI.add(arrLeft[_local2]);
_local1.left = arrLeft[_local2].x;
_local1.bottom = (((stage.stageHeight - arrLeft[_local2].y) - arrLeft[_local2].height) - (stage.stageHeight - orgStageHt));
_local1.refresh();
_local2++;
};
_local2 = 0;
while (_local2 < arrRight.length) {
_local1 = baseUI.add(arrRight[_local2]);
_local1.right = (((stage.stageWidth - arrRight[_local2].x) - arrRight[_local2].width) - (stage.stageWidth - orgStageWd));
_local1.bottom = (((stage.stageHeight - arrRight[_local2].y) - arrRight[_local2].height) - (stage.stageHeight - orgStageHt));
_local1.refresh();
_local2++;
};
_local1 = baseUI.add(bg);
_local1.left = 0;
_local1.right = 0;
_local1.bottom = 0;
_local1.refresh();
_local1 = baseUI.add(btnplay_big);
_local1.horizontalCenter = 0;
if (swfdata.autohide){
_local1.verticalCenter = 0;
} else {
_local1.verticalCenter = (-((stage.stageHeight - bg.y)) / 2);
};
_local1.refresh();
_local1 = baseUI.add(tracker);
_local1.left = tracker.x;
_local1.right = (((stage.stageWidth - tracker.x) - tracker.width) - (stage.stageWidth - orgStageWd));
_local1.bottom = (((stage.stageHeight - tracker.y) - tracker.height) - (stage.stageHeight - orgStageHt));
_local1.refresh();
_local1 = baseUI.add(trackplayed);
_local1.bottom = (((stage.stageHeight - trackplayed.y) - trackplayed.height) - (stage.stageHeight - orgStageHt));
_local1.refresh();
_local1 = baseUI.add(trackloaded);
_local1.bottom = (((stage.stageHeight - trackloaded.y) - trackloaded.height) - (stage.stageHeight - orgStageHt));
_local1.refresh();
_local1 = baseUI.add(btnslider);
_local1.bottom = (((stage.stageHeight - btnslider.y) - btnslider.height) - (stage.stageHeight - orgStageHt));
_local1.refresh();
_local1 = baseUI.add(bgColor);
_local1.top = 0;
_local1.left = 0;
_local1.right = 0;
_local1.bottom = 0;
_local1.refresh();
initVideoLayout();
}
private function onSliderDown(_arg1:MouseEvent):void{
isDown = true;
downX = _arg1.localX;
stage.addEventListener(MouseEvent.MOUSE_MOVE, onStageMove);
stage.addEventListener(MouseEvent.MOUSE_UP, onStageUp);
}
private function initVideoLayout():void{
baseUI.remove(video);
videoElemUI = baseUI.add(video);
videoElemUI.left = 0;
videoElemUI.right = 0;
videoElemUI.top = 0;
if (swfdata.autohide){
videoElemUI.bottom = 0;
} else {
videoElemUI.bottom = (stage.stageHeight - bg.y);
};
if (swfdata.ratio != "0"){
videoElemUI.ratio = ElementUI.RATIO_IN;
} else {
videoElemUI.ratio = ElementUI.RATIO_NONE;
};
videoElemUI.refresh();
if (flvPlayer){
baseUI.remove(flvPlayer);
flvPlayerElemUI = baseUI.add(flvPlayer);
flvPlayerElemUI.left = 0;
flvPlayerElemUI.right = 0;
flvPlayerElemUI.top = 0;
if (swfdata.autohide){
flvPlayerElemUI.bottom = 0;
} else {
flvPlayerElemUI.bottom = (stage.stageHeight - bg.y);
};
if (swfdata.ratio != "0"){
flvPlayerElemUI.ratio = ElementUI.RATIO_IN;
} else {
flvPlayerElemUI.ratio = ElementUI.RATIO_NONE;
};
flvPlayerElemUI.refresh();
};
}
private function onPauseClick(_arg1:MouseEvent):void{
pauseVideo();
}
private function onFLVMetaData(_arg1:FLVPlayerEvent):void{
}
private function initMenu():void{
var _local1:ContextMenu;
var _local2:ContextMenuItem;
_local1 = new ContextMenu();
if (swfdata.trialmenu != ""){
_local2 = new ContextMenuItem(swfdata.trialmenu);
_local1.customItems.push(_local2);
_local2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onTrialMenuClick);
};
_local1.hideBuiltInItems();
this.contextMenu = _local1;
}
private function onFlvBuffering(_arg1:FLVPlayerEvent):void{
var _local2:Number;
_local2 = _arg1.progress;
trackloaded.width = ((tracker.width * _local2) / 100);
}
private function onAdd2Stage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, onAdd2Stage);
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
calTime();
initLayout();
if (swfdata.autohide){
stage.addEventListener(MouseEvent.MOUSE_MOVE, onTrackEnterOut);
hideAll();
};
}
private function onTrackerClick(_arg1:MouseEvent):void{
onStageMove(null);
if (!btnplay.visible){
if (flvPlayer){
flvPlayer.play();
} else {
video.play();
};
} else {
if (flvPlayer){
flvPlayer.pause();
} else {
video.stop();
};
};
}
private function onFullscreenClick(_arg1:MouseEvent):void{
var e = _arg1;
if (stage.displayState == StageDisplayState.FULL_SCREEN){
try {
stage.displayState = StageDisplayState.NORMAL;
} catch(er:Error) {
};
} else {
try {
stage.displayState = StageDisplayState.FULL_SCREEN;
} catch(er:Error) {
};
};
}
private function onTrialMenuClick(_arg1:ContextMenuEvent):void{
navigateToURL(new URLRequest(swfdata.trialmenuurl));
}
private function onEnterFrame(_arg1:Event):void{
if (!isDown){
percent = ((curVideoTime * 100) / totalVideoTime);
if ((((percent >= 0)) && ((percent <= 100)))){
btnslider.x = ((((percent * tracker.width) / 100) - (btnslider.width / 2)) + tracker.x);
trackplayed.width = ((tracker.width * percent) / 100);
if (((flvPlayer) && (swfdata.showbuffer))){
trackloaded.width = ((tracker.width * flvPlayer.percent) / 100);
};
};
if (((!(swfdata.isflv)) && (!(swfdata.autoRewind)))){
if (video.currentFrame == video.totalFrames){
onFlvPlayEnd(null);
stopVideo();
};
};
};
calTime();
}
private function onStageMove(_arg1:MouseEvent):void{
var _local2:uint;
if ((((mouseX >= tracker.x)) && ((mouseX <= (tracker.x + tracker.width))))){
btnslider.x = (mouseX - (btnslider.width / 2));
percent = ((Math.ceil(((btnslider.x - tracker.x) + (btnslider.width / 2))) * 100) / tracker.width);
trackplayed.width = ((tracker.width * percent) / 100);
trackplayed.y = tracker.y;
if (flvPlayer){
flvPlayer.pause();
if (swfdata.videotime == 0){
flvPlayer.seek(((flvPlayer.totalTime * percent) / 100));
} else {
flvPlayer.seek(((swfdata.videotime * percent) / 100));
};
} else {
_local2 = ((video.totalFrames * percent) / 100);
video.gotoAndStop(_local2);
};
};
}
private function onMouseWheel(_arg1:MouseEvent):void{
var _local2:Number;
_local2 = (volume.percent + (_arg1.delta * 2));
if ((((_local2 <= 100)) && ((_local2 >= 0)))){
volume.percent = _local2;
onVolumeChange(null);
};
}
private function hideAll():void{
var _local1:int;
_local1 = 0;
while (_local1 < arrAll.length) {
arrAll[_local1].alpha = 0;
_local1++;
};
time.ttime.visible = false;
}
private function onVolumeChange(_arg1:Event):void{
var _local2:SoundTransform;
if (btnsound.visible){
_local2 = soundTransform;
_local2.volume = (volume.percent / 100);
soundTransform = _local2;
};
}
private function get totalVideoTime():Number{
if (flvPlayer){
if (swfdata.videotime == 0){
return ((flvPlayer.totalTime * stage.frameRate));
};
return ((swfdata.videotime * stage.frameRate));
//unresolved jump
};
return (video.totalFrames);
}
private function timeFormat(_arg1:uint):String{
var _local2:String;
var _local3:String;
var _local4:String;
_local2 = ("0" + uint(((_arg1 / 60) / 60))).substr(-2);
_local3 = ("0" + uint((_arg1 / 60))).substr(-2);
_local4 = ("0" + (_arg1 % 60)).substr(-2);
return (((((_local2 + ":") + _local3) + ":") + _local4));
}
private function onSoundClick(_arg1:MouseEvent):void{
var _local2:SoundTransform;
if (_arg1.currentTarget == btnsound){
btnsound.visible = false;
btnmute.visible = true;
_local2 = soundTransform;
_local2.volume = 0;
soundTransform = _local2;
} else {
btnsound.visible = true;
btnmute.visible = false;
_local2 = soundTransform;
_local2.volume = (volume.percent / 100);
soundTransform = _local2;
};
}
private function playVdeo():void{
btnplay.visible = false;
btnpause.visible = true;
btnstop.visible = true;
if (flvPlayer){
flvPlayer.visible = true;
flvPlayer.resume();
} else {
video.visible = true;
video.play();
};
}
private function onStageUp(_arg1:MouseEvent):void{
isDown = false;
if (!btnplay.visible){
if (flvPlayer){
flvPlayer.play();
} else {
video.play();
};
} else {
if (flvPlayer){
flvPlayer.pause();
} else {
video.stop();
};
};
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onStageMove);
stage.removeEventListener(MouseEvent.MOUSE_UP, onStageUp);
}
private function onRatioMenuClick(_arg1:ContextMenuEvent):void{
var _local2:ContextMenuItem;
var _local3:Array;
var _local4:int;
var _local5:int;
_local2 = (_arg1.currentTarget as ContextMenuItem);
if (_local2.caption == "Stretch"){
swfdata.ratio = "0";
} else {
swfdata.ratio = _local2.caption;
};
if (swfdata.ratio != "0"){
_local3 = String(swfdata.ratio).split(":");
_local4 = int(_local3[0]);
_local5 = int(_local3[1]);
} else {
_local4 = 4;
_local5 = 3;
};
video.width = _local4;
video.height = _local5;
if (flvPlayer){
flvPlayer.rectWd = _local4;
flvPlayer.rectHt = _local5;
};
initVideoLayout();
}
private function onFlvErrorURL(_arg1:FLVPlayerEvent):void{
}
private function onStopClick(_arg1:MouseEvent):void{
if (swfdata.showbigplay){
btnplay_big.visible = true;
};
stopVideo();
}
private function get curVideoTime():Number{
if (flvPlayer){
return ((flvPlayer.currectTime * stage.frameRate));
};
return (video.currentFrame);
}
private function onPlayClick(_arg1:MouseEvent):void{
btnplay_big.visible = false;
playVdeo();
}
private function stopVideo():void{
btnplay.visible = true;
btnpause.visible = false;
btnstop.visible = true;
if (flvPlayer){
flvPlayer.stop();
} else {
video.gotoAndStop(0);
};
}
private function onFlvPlayEnd(_arg1:FLVPlayerEvent):void{
if (((!(swfdata.autoRewind)) && (!(isDown)))){
btnplay_big.visible = true;
btnplay.visible = true;
btnpause.visible = false;
btnstop.visible = true;
};
}
private function calTime():void{
if (swfdata.videotime != 0){
time.ttime.text = ((timeFormat((curVideoTime / stage.frameRate)) + "/") + timeFormat(swfdata.videotime));
} else {
time.ttime.text = ((timeFormat((curVideoTime / stage.frameRate)) + "/") + timeFormat((totalVideoTime / stage.frameRate)));
};
}
}
}//package