STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
231994
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2629 · P5258

<div style="position:absolute;top:-99px;left:-99px;"><img src="https://tools.swfchan.com/stathit.asp?noj=FRM95066741-2DC&rnd=95066741" width="1" height="1"></div>

open-flash-chart.swf

This is the info page for
Flash #262847

(Click the ID number above for more basic data on this flash file.)


ActionScript [AS3]
Section 1
//AuxFunctions (caurina.transitions.AuxFunctions) package caurina.transitions { public class AuxFunctions { public static function concatObjects(... _args):Object{ var _local3:Object; var _local5:String; var _local2:Object = {}; var _local4:int; 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); } public static function numberToG(_arg1:Number):Number{ return (((_arg1 & 0xFF00) >> 8)); } public static function numberToR(_arg1:Number):Number{ return (((_arg1 & 0xFF0000) >> 16)); } public static function isInArray(_arg1:String, _arg2:Array):Boolean{ var _local3:uint = _arg2.length; var _local4:uint; while (_local4 < _local3) { if (_arg2[_local4] == _arg1){ return (true); }; _local4++; }; return (false); } public static function getObjectLength(_arg1:Object):uint{ var _local3:String; var _local2:uint; for (_local3 in _arg1) { _local2++; }; return (_local2); } public static function numberToB(_arg1:Number):Number{ return ((_arg1 & 0xFF)); } } }//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):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:Number=NaN, _arg6:Number=NaN):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * (0.3 * 1.5)); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2)); }; --_arg1; return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) * 0.5) + _arg3) + _arg2)); } public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):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:Number=NaN):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2)); }; _arg1 = (_arg1 - 2); _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2)); } public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2)); } public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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:Number=NaN):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2)); } public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } 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):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:Number=NaN):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):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):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2)); } public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5, _arg6)); }; return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5, _arg6)); } public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * 0.3); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; --_arg1; return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2)); } public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):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):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):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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:Number=NaN, _arg6:Number=NaN):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * 0.3); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) + _arg3) + _arg2)); } public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } } }//package caurina.transitions
Section 3
//PropertyInfoObj (caurina.transitions.PropertyInfoObj) package caurina.transitions { public class PropertyInfoObj { public var modifierParameters:Array; public var valueComplete:Number; public var modifierFunction:Function; public var hasModifier:Boolean; public var valueStart:Number; public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Function, _arg4:Array){ valueStart = _arg1; valueComplete = _arg2; hasModifier = Boolean(_arg3); modifierFunction = _arg3; modifierParameters = _arg4; } public function toString():String{ var _local1 = "\n[PropertyInfoObj "; _local1 = (_local1 + ("valueStart:" + String(valueStart))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("valueComplete:" + String(valueComplete))); _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 = new PropertyInfoObj(valueStart, valueComplete, modifierFunction, modifierParameters); return (_local1); } } }//package caurina.transitions
Section 4
//SpecialPropertiesDefault (caurina.transitions.SpecialPropertiesDefault) package caurina.transitions { import flash.geom.*; import flash.filters.*; import flash.media.*; public class SpecialPropertiesDefault { public function SpecialPropertiesDefault(){ trace("SpecialProperties is a static class and should not be instantiated."); } public static function _sound_volume_get(_arg1:Object):Number{ return (_arg1.soundTransform.volume); } public static function _color_splitter(_arg1, _arg2:Array):Array{ var _local3:Array = new Array(); if (_arg1 == null){ _local3.push({name:"_color_ra", value:1}); _local3.push({name:"_color_rb", value:0}); _local3.push({name:"_color_ga", value:1}); _local3.push({name:"_color_gb", value:0}); _local3.push({name:"_color_ba", value:1}); _local3.push({name:"_color_bb", value:0}); } else { _local3.push({name:"_color_ra", value:0}); _local3.push({name:"_color_rb", value:AuxFunctions.numberToR(_arg1)}); _local3.push({name:"_color_ga", value:0}); _local3.push({name:"_color_gb", value:AuxFunctions.numberToG(_arg1)}); _local3.push({name:"_color_ba", value:0}); _local3.push({name:"_color_bb", value:AuxFunctions.numberToB(_arg1)}); }; return (_local3); } public static function frame_get(_arg1:Object):Number{ return (_arg1.currentFrame); } public static function _sound_pan_get(_arg1:Object):Number{ return (_arg1.soundTransform.pan); } public static function _color_property_get(_arg1:Object, _arg2:Array):Number{ return (_arg1.transform.colorTransform[_arg2[0]]); } public static function _sound_volume_set(_arg1:Object, _arg2:Number):void{ var _local3:SoundTransform = _arg1.soundTransform; _local3.volume = _arg2; _arg1.soundTransform = _local3; } public static function _autoAlpha_get(_arg1:Object):Number{ return (_arg1.alpha); } public static function _filter_splitter(_arg1:BitmapFilter, _arg2:Array):Array{ var _local3:Array = new Array(); if ((_arg1 is BlurFilter)){ _local3.push({name:"_blur_blurX", value:BlurFilter(_arg1).blurX}); _local3.push({name:"_blur_blurY", value:BlurFilter(_arg1).blurY}); _local3.push({name:"_blur_quality", value:BlurFilter(_arg1).quality}); } else { trace("??"); }; return (_local3); } public static function init():void{ Tweener.registerSpecialProperty("_frame", frame_get, frame_set); Tweener.registerSpecialProperty("_sound_volume", _sound_volume_get, _sound_volume_set); Tweener.registerSpecialProperty("_sound_pan", _sound_pan_get, _sound_pan_set); Tweener.registerSpecialProperty("_color_ra", _color_property_get, _color_property_set, ["redMultiplier"]); Tweener.registerSpecialProperty("_color_rb", _color_property_get, _color_property_set, ["redOffset"]); Tweener.registerSpecialProperty("_color_ga", _color_property_get, _color_property_set, ["greenMultiplier"]); Tweener.registerSpecialProperty("_color_gb", _color_property_get, _color_property_set, ["greenOffset"]); Tweener.registerSpecialProperty("_color_ba", _color_property_get, _color_property_set, ["blueMultiplier"]); Tweener.registerSpecialProperty("_color_bb", _color_property_get, _color_property_set, ["blueOffset"]); Tweener.registerSpecialProperty("_color_aa", _color_property_get, _color_property_set, ["alphaMultiplier"]); Tweener.registerSpecialProperty("_color_ab", _color_property_get, _color_property_set, ["alphaOffset"]); Tweener.registerSpecialProperty("_autoAlpha", _autoAlpha_get, _autoAlpha_set); Tweener.registerSpecialPropertySplitter("_color", _color_splitter); Tweener.registerSpecialPropertySplitter("_colorTransform", _colorTransform_splitter); Tweener.registerSpecialPropertySplitter("_scale", _scale_splitter); Tweener.registerSpecialProperty("_blur_blurX", _filter_property_get, _filter_property_set, [BlurFilter, "blurX"]); Tweener.registerSpecialProperty("_blur_blurY", _filter_property_get, _filter_property_set, [BlurFilter, "blurY"]); Tweener.registerSpecialProperty("_blur_quality", _filter_property_get, _filter_property_set, [BlurFilter, "quality"]); Tweener.registerSpecialPropertySplitter("_filter", _filter_splitter); Tweener.registerSpecialPropertyModifier("_bezier", _bezier_modifier, _bezier_get); } public static function _sound_pan_set(_arg1:Object, _arg2:Number):void{ var _local3:SoundTransform = _arg1.soundTransform; _local3.pan = _arg2; _arg1.soundTransform = _local3; } public static function _color_property_set(_arg1:Object, _arg2:Number, _arg3:Array):void{ var _local4:ColorTransform = _arg1.transform.colorTransform; _local4[_arg3[0]] = _arg2; _arg1.transform.colorTransform = _local4; } public static function _filter_property_get(_arg1:Object, _arg2:Array):Number{ var _local4:uint; var _local7:Object; var _local3:Array = _arg1.filters; var _local5:Object = _arg2[0]; var _local6:String = _arg2[1]; _local4 = 0; while (_local4 < _local3.length) { if ((((_local3[_local4] is BlurFilter)) && ((_local5 == BlurFilter)))){ return (_local3[_local4][_local6]); }; _local4++; }; switch (_local5){ case BlurFilter: _local7 = {blurX:0, blurY:0, quality:NaN}; break; }; return (_local7[_local6]); } public static function _bezier_get(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Array):Number{ var _local5:uint; var _local6:Number; var _local7:Number; var _local8:Number; if (_arg4.length == 1){ return ((_arg1 + (_arg3 * (((2 * (1 - _arg3)) * (_arg4[0] - _arg1)) + (_arg3 * (_arg2 - _arg1)))))); }; _local5 = Math.floor((_arg3 * _arg4.length)); _local6 = ((_arg3 - (_local5 * (1 / _arg4.length))) * _arg4.length); if (_local5 == 0){ _local7 = _arg1; _local8 = ((_arg4[0] + _arg4[1]) / 2); } else { if (_local5 == (_arg4.length - 1)){ _local7 = ((_arg4[(_local5 - 1)] + _arg4[_local5]) / 2); _local8 = _arg2; } else { _local7 = ((_arg4[(_local5 - 1)] + _arg4[_local5]) / 2); _local8 = ((_arg4[_local5] + _arg4[(_local5 + 1)]) / 2); }; }; return ((_local7 + (_local6 * (((2 * (1 - _local6)) * (_arg4[_local5] - _local7)) + (_local6 * (_local8 - _local7)))))); } public static function frame_set(_arg1:Object, _arg2:Number):void{ _arg1.gotoAndStop(Math.round(_arg2)); } public static function _filter_property_set(_arg1:Object, _arg2:Number, _arg3:Array):void{ var _local5:uint; var _local8:BitmapFilter; var _local4:Array = _arg1.filters; var _local6:Object = _arg3[0]; var _local7:String = _arg3[1]; _local5 = 0; while (_local5 < _local4.length) { if ((((_local4[_local5] is BlurFilter)) && ((_local6 == BlurFilter)))){ _local4[_local5][_local7] = _arg2; _arg1.filters = _local4; return; }; _local5++; }; if (_local4 == null){ _local4 = new Array(); }; switch (_local6){ case BlurFilter: _local8 = new BlurFilter(0, 0); break; }; _local8[_local7] = _arg2; _local4.push(_local8); _arg1.filters = _local4; } public static function _autoAlpha_set(_arg1:Object, _arg2:Number):void{ _arg1.alpha = _arg2; _arg1.visible = (_arg2 > 0); } public static function _scale_splitter(_arg1:Number, _arg2:Array):Array{ var _local3:Array = new Array(); _local3.push({name:"scaleX", value:_arg1}); _local3.push({name:"scaleY", value:_arg1}); return (_local3); } public static function _colorTransform_splitter(_arg1, _arg2:Array):Array{ var _local3:Array = new Array(); if (_arg1 == null){ _local3.push({name:"_color_ra", value:1}); _local3.push({name:"_color_rb", value:0}); _local3.push({name:"_color_ga", value:1}); _local3.push({name:"_color_gb", value:0}); _local3.push({name:"_color_ba", value:1}); _local3.push({name:"_color_bb", value:0}); } else { if (_arg1.ra != undefined){ _local3.push({name:"_color_ra", value:_arg1.ra}); }; if (_arg1.rb != undefined){ _local3.push({name:"_color_rb", value:_arg1.rb}); }; if (_arg1.ga != undefined){ _local3.push({name:"_color_ba", value:_arg1.ba}); }; if (_arg1.gb != undefined){ _local3.push({name:"_color_bb", value:_arg1.bb}); }; if (_arg1.ba != undefined){ _local3.push({name:"_color_ga", value:_arg1.ga}); }; if (_arg1.bb != undefined){ _local3.push({name:"_color_gb", value:_arg1.gb}); }; if (_arg1.aa != undefined){ _local3.push({name:"_color_aa", value:_arg1.aa}); }; if (_arg1.ab != undefined){ _local3.push({name:"_color_ab", value:_arg1.ab}); }; }; return (_local3); } public static function _bezier_modifier(_arg1):Array{ var _local3:Array; var _local4:uint; var _local5:String; var _local2:Array = []; if ((_arg1 is Array)){ _local3 = _arg1; } else { _local3 = [_arg1]; }; var _local6:Object = {}; _local4 = 0; while (_local4 < _local3.length) { for (_local5 in _local3[_local4]) { if (_local6[_local5] == undefined){ _local6[_local5] = []; }; _local6[_local5].push(_local3[_local4][_local5]); }; _local4++; }; for (_local5 in _local6) { _local2.push({name:_local5, parameters:_local6[_local5]}); }; return (_local2); } } }//package caurina.transitions
Section 5
//SpecialProperty (caurina.transitions.SpecialProperty) package caurina.transitions { public class SpecialProperty { public var parameters:Array; public var getValue:Function; public var setValue:Function; public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null){ getValue = _arg1; setValue = _arg2; parameters = _arg3; } public function toString():String{ var _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 + "]"); return (_local1); } } }//package caurina.transitions
Section 6
//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 = ""; _local1 = (_local1 + "[SpecialPropertyModifier "); _local1 = (_local1 + ("modifyValues:" + String(modifyValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 7
//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; } public function toString():String{ var _local1 = ""; _local1 = (_local1 + "[SpecialPropertySplitter "); _local1 = (_local1 + ("splitValues:" + String(splitValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 8
//Tweener (caurina.transitions.Tweener) package caurina.transitions { import flash.events.*; import flash.utils.*; import flash.display.*; public class Tweener { private static var _timeScale:Number = 1; private static var _specialPropertySplitterList:Object; private static var _engineExists:Boolean = false; private static var _specialPropertyModifierList:Object; private static var _currentTime:Number; private static var _tweenList:Array; 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{ if (!_inited){ init(); }; var _local4:SpecialPropertyModifier = new SpecialPropertyModifier(_arg2, _arg3); _specialPropertyModifierList[_arg1] = _local4; } public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null):void{ if (!_inited){ init(); }; var _local5:SpecialProperty = new SpecialProperty(_arg2, _arg3, _arg4); _specialPropertyList[_arg1] = _local5; } public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local5:Number; var _local6:Number; var _local10:Function; var _local11:TweenListObj; var _local12:Number; var _local13:String; if ((((arguments.length < 2)) || ((arguments[0] == undefined)))){ return (false); }; var _local4:Array = new Array(); if ((arguments[0] is Array)){ _local5 = 0; while (_local5 < arguments[0].length) { _local4.push(arguments[0][_local5]); _local5++; }; } else { _local5 = 0; while (_local5 < (arguments.length - 1)) { _local4.push(arguments[_local5]); _local5++; }; }; var _local7:Object = arguments[(arguments.length - 1)]; if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; var _local8:Number = (isNaN(_local7.time)) ? 0 : _local7.time; var _local9:Number = (isNaN(_local7.delay)) ? 0 : _local7.delay; if (typeof(_local7.transition) == "string"){ _local13 = _local7.transition.toLowerCase(); _local10 = _transitionList[_local13]; } else { _local10 = _local7.transition; }; if (!Boolean(_local10)){ _local10 = _transitionList["easeoutexpo"]; }; _local5 = 0; while (_local5 < _local4.length) { _local11 = new TweenListObj(_local4[_local5], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), (_local7.useFrames == true), _local10); _local11.properties = null; _local11.onStart = _local7.onStart; _local11.onUpdate = _local7.onUpdate; _local11.onComplete = _local7.onComplete; _local11.onOverwrite = _local7.onOverwrite; _local11.onStartParams = _local7.onStartParams; _local11.onUpdateParams = _local7.onUpdateParams; _local11.onCompleteParams = _local7.onCompleteParams; _local11.onOverwriteParams = _local7.onOverwriteParams; _local11.isCaller = true; _local11.count = _local7.count; _local11.waitFrames = _local7.waitFrames; _tweenList.push(_local11); if ((((_local8 == 0)) && ((_local9 == 0)))){ _local12 = (_tweenList.length - 1); updateTweenByIndex(_local12); removeTweenByIndex(_local12); }; _local5++; }; return (true); } public static function init(_arg1=null):void{ _inited = true; _transitionList = new Object(); Equations.init(); _specialPropertyList = new Object(); _specialPropertyModifierList = new Object(); _specialPropertySplitterList = new Object(); SpecialPropertiesDefault.init(); } 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 removeTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(removeTweenByIndex, _arg1, _local3)); } public static function pauseAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { pauseTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function splitTweens(_arg1:Number, _arg2:Array):uint{ var _local5:uint; var _local6:String; var _local7:Boolean; var _local3:TweenListObj = _tweenList[_arg1]; var _local4:TweenListObj = _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 = _tweenList[_arg1]; if ((((_local2 == null)) || (!(_local2.isPaused)))){ return (false); }; _local2.timeStart = (_local2.timeStart + (_currentTime - _local2.timePaused)); _local2.timeComplete = (_local2.timeComplete + (_currentTime - _local2.timePaused)); _local2.timePaused = undefined; _local2.isPaused = false; return (true); } public static function debug_getList():String{ var _local2:uint; var _local3:uint; var _local1 = ""; _local2 = 0; while (_local2 < _tweenList.length) { _local1 = (_local1 + (("[" + _local2) + "] ::\n")); _local3 = 0; while (_local3 < _tweenList[_local2].properties.length) { _local1 = (_local1 + ((((" " + _tweenList[_local2].properties[_local3].name) + " -> ") + _tweenList[_local2].properties[_local3].valueComplete) + "\n")); _local3++; }; _local2++; }; return (_local1); } public static function getVersion():String{ return ("AS3 1.26.62"); } public static function onEnterFrame(_arg1:Event):void{ updateTime(); var _local2:Boolean; _local2 = updateTweens(); if (!_local2){ stopEngine(); }; } public static function updateTime():void{ _currentTime = getTimer(); } private static function updateTweenByIndex(_arg1:Number):Boolean{ var tTweening:TweenListObj; var mustUpdate:Boolean; var nv:Number; var t:Number; var b:Number; var c:Number; var d:Number; var pName:String; var tScope:Object; var tProperty:Object; var pv:Number; var i = _arg1; tTweening = _tweenList[i]; if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){ return (false); }; var isOver:Boolean; if (_currentTime >= 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 (!(_currentTime >= nv)); } else { mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates))); if (_currentTime >= tTweening.timeComplete){ isOver = true; mustUpdate = true; }; if (!tTweening.hasStarted){ if (Boolean(tTweening.onStart)){ try { tTweening.onStart.apply(tScope, tTweening.onStartParams); } catch(e:Error) { handleError(tTweening, e, "onStart"); }; }; for (pName in tTweening.properties) { pv = getPropertyValue(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 = (_currentTime - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, 0, 1, d); nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters); } else { t = (_currentTime - tTweening.timeStart); b = tProperty.valueStart; c = (tProperty.valueComplete - tProperty.valueStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d); }; }; if (tTweening.rounded){ nv = Math.round(nv); }; setPropertyValue(tScope, pName, nv); }; tTweening.updatesSkipped = 0; if (Boolean(tTweening.onUpdate)){ try { tTweening.onUpdate.apply(tScope, tTweening.onUpdateParams); } catch(e:Error) { handleError(tTweening, e, "onUpdate"); }; }; } else { tTweening.updatesSkipped++; }; }; if (((isOver) && (Boolean(tTweening.onComplete)))){ try { tTweening.onComplete.apply(tScope, tTweening.onCompleteParams); } catch(e:Error) { handleError(tTweening, e, "onComplete"); }; }; return (!(isOver)); }; return (true); } public static function setTimeScale(_arg1:Number):void{ var _local2: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) { _tweenList[_local2].timeStart = (_currentTime - (((_currentTime - _tweenList[_local2].timeStart) * _timeScale) / _arg1)); _tweenList[_local2].timeComplete = (_currentTime - (((_currentTime - _tweenList[_local2].timeComplete) * _timeScale) / _arg1)); if (_tweenList[_local2].timePaused != undefined){ _tweenList[_local2].timePaused = (_currentTime - (((_currentTime - _tweenList[_local2].timePaused) * _timeScale) / _arg1)); }; _local2++; }; }; _timeScale = _arg1; }; } public static function resumeAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _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 pTweening = _arg1; var pError = _arg2; var pCallBackName = _arg3; if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){ try { pTweening.onError.apply(pTweening.scope, [pTweening.scope, pError]); } catch(metaError:Error) { trace("## [Tweener] Error:", pTweening.scope, "raised an error while executing the 'onError' handler. Original error:\n", pError.getStackTrace(), "\nonError error:", metaError.getStackTrace()); }; } else { if (!Boolean(pTweening.onError)){ trace("## [Tweener] Error: :", 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); updateTime(); } public static function removeAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _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 _local5:Number; var _local6:Number; var _local7:String; var _local8:String; var _local15:Function; var _local16:Object; var _local17:TweenListObj; var _local18:Number; var _local19:Array; var _local20:Array; var _local21:String; if ((((arguments.length < 2)) || ((arguments[0] == undefined)))){ return (false); }; var _local4:Array = new Array(); if ((arguments[0] is Array)){ _local5 = 0; while (_local5 < arguments[0].length) { _local4.push(arguments[0][_local5]); _local5++; }; } else { _local5 = 0; while (_local5 < (arguments.length - 1)) { _local4.push(arguments[_local5]); _local5++; }; }; var _local9:Object = TweenListObj.makePropertiesChain(arguments[(arguments.length - 1)]); if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; var _local10:Number = (isNaN(_local9.time)) ? 0 : _local9.time; var _local11:Number = (isNaN(_local9.delay)) ? 0 : _local9.delay; var _local12:Array = new Array(); var _local13:Object = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true}; var _local14:Object = new Object(); for (_local7 in _local9) { if (!_local13[_local7]){ if (_specialPropertySplitterList[_local7]){ _local19 = _specialPropertySplitterList[_local7].splitValues(_local9[_local7], _specialPropertySplitterList[_local7].parameters); _local5 = 0; while (_local5 < _local19.length) { _local12[_local19[_local5].name] = {valueStart:undefined, valueComplete:_local19[_local5].value}; _local5++; }; } else { if (_specialPropertyModifierList[_local7] != undefined){ _local20 = _specialPropertyModifierList[_local7].modifyValues(_local9[_local7]); _local5 = 0; while (_local5 < _local20.length) { _local14[_local20[_local5].name] = {modifierParameters:_local20[_local5].parameters, modifierFunction:_specialPropertyModifierList[_local7].getValue}; _local5++; }; } else { _local12[_local7] = {valueStart:undefined, valueComplete:_local9[_local7]}; }; }; }; }; for (_local7 in _local14) { if (_local12[_local7] != undefined){ _local12[_local7].modifierParameters = _local14[_local7].modifierParameters; _local12[_local7].modifierFunction = _local14[_local7].modifierFunction; }; }; if (typeof(_local9.transition) == "string"){ _local21 = _local9.transition.toLowerCase(); _local15 = _transitionList[_local21]; } else { _local15 = _local9.transition; }; if (!Boolean(_local15)){ _local15 = _transitionList["easeoutexpo"]; }; _local5 = 0; while (_local5 < _local4.length) { _local16 = new Object(); for (_local7 in _local12) { _local16[_local7] = new PropertyInfoObj(_local12[_local7].valueStart, _local12[_local7].valueComplete, _local12[_local7].modifierFunction, _local12[_local7].modifierParameters); }; _local17 = new TweenListObj(_local4[_local5], (_currentTime + ((_local11 * 1000) / _timeScale)), (_currentTime + (((_local11 * 1000) + (_local10 * 1000)) / _timeScale)), (_local9.useFrames == true), _local15); _local17.properties = _local16; _local17.onStart = _local9.onStart; _local17.onUpdate = _local9.onUpdate; _local17.onComplete = _local9.onComplete; _local17.onOverwrite = _local9.onOverwrite; _local17.onError = _local9.onError; _local17.onStartParams = _local9.onStartParams; _local17.onUpdateParams = _local9.onUpdateParams; _local17.onCompleteParams = _local9.onCompleteParams; _local17.onOverwriteParams = _local9.onOverwriteParams; _local17.rounded = _local9.rounded; _local17.skipUpdates = _local9.skipUpdates; removeTweensByTime(_local17.scope, _local17.properties, _local17.timeStart, _local17.timeComplete); _tweenList.push(_local17); if ((((_local10 == 0)) && ((_local11 == 0)))){ _local18 = (_tweenList.length - 1); updateTweenByIndex(_local18); removeTweenByIndex(_local18); }; _local5++; }; return (true); } public static function registerTransition(_arg1:String, _arg2:Function):void{ if (!_inited){ init(); }; _transitionList[_arg1] = _arg2; } private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{ var _local5:uint; var _local6:Array; var _local7:uint; var _local8:uint; var _local9:uint; var _local4:Boolean; 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; if (!Boolean(_tweenList)){ return ([]); }; var _local4:Array = new Array(); _local2 = 0; while (_local2 < _tweenList.length) { if (_tweenList[_local2].scope == _arg1){ for (_local3 in _tweenList[_local2].properties) { _local4.push(_local3); }; }; _local2++; }; return (_local4); } private static function setPropertyValue(_arg1:Object, _arg2:String, _arg3:Number):void{ if (_specialPropertyList[_arg2] != undefined){ if (Boolean(_specialPropertyList[_arg2].parameters)){ _specialPropertyList[_arg2].setValue(_arg1, _arg3, _specialPropertyList[_arg2].parameters); } else { _specialPropertyList[_arg2].setValue(_arg1, _arg3); }; } else { _arg1[_arg2] = _arg3; }; } private static function getPropertyValue(_arg1:Object, _arg2:String):Number{ if (_specialPropertyList[_arg2] != undefined){ if (Boolean(_specialPropertyList[_arg2].parameters)){ return (_specialPropertyList[_arg2].getValue(_arg1, _specialPropertyList[_arg2].parameters)); }; return (_specialPropertyList[_arg2].getValue(_arg1)); } else { }; return (!NULL!); } public static function isTweening(_arg1:Object):Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local2 = 0; while (_local2 < _tweenList.length) { if (_tweenList[_local2].scope == _arg1){ return (true); }; _local2++; }; return (false); } public static function getTweenCount(_arg1:Object):Number{ var _local2:uint; if (!Boolean(_tweenList)){ return (0); }; var _local3:Number = 0; _local2 = 0; while (_local2 < _tweenList.length) { if (_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; __tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); __tweener_controller__ = null; } public static function pauseTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj = _tweenList[_arg1]; if ((((_local2 == null)) || (_local2.isPaused))){ return (false); }; _local2.timePaused = _currentTime; _local2.isPaused = true; return (true); } public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{ var removedLocally:Boolean; var i:uint; var pName:String; var p_scope = _arg1; var p_properties = _arg2; var p_timeStart = _arg3; var p_timeComplete = _arg4; var removed:Boolean; var tl:uint = _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)){ try { _tweenList[i].onOverwrite.apply(_tweenList[i].scope, _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{ if (!_inited){ init(); }; var _local4:SpecialPropertySplitter = 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 _local4:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(resumeTweenByIndex, _arg1, _local3)); } public static function pauseTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(pauseTweenByIndex, _arg1, _local3)); } } }//package caurina.transitions
Section 9
//TweenListObj (caurina.transitions.TweenListObj) package caurina.transitions { public class TweenListObj { public var hasStarted:Boolean; public var onUpdate:Function; public var useFrames:Boolean; public var count:Number; public var onOverwriteParams:Array; public var timeStart:Number; public var auxProperties:Object; public var timeComplete:Number; public var onStartParams:Array; public var rounded:Boolean; public var updatesSkipped:Number; public var onUpdateParams:Array; public var onComplete:Function; public var properties:Object; public var onStart:Function; public var skipUpdates:Number; public var scope:Object; public var isCaller:Boolean; public var timePaused:Number; public var transition:Function; public var onCompleteParams:Array; public var onError:Function; public var timesCalled:Number; public var onOverwrite:Function; public var isPaused:Boolean; public var waitFrames:Boolean; public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function){ scope = _arg1; timeStart = _arg2; timeComplete = _arg3; useFrames = _arg4; transition = _arg5; auxProperties = new Object(); properties = new Object(); isPaused = false; timePaused = undefined; isCaller = false; updatesSkipped = 0; timesCalled = 0; skipUpdates = 0; hasStarted = false; } public function clone(_arg1:Boolean):TweenListObj{ var _local3:String; var _local2:TweenListObj = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition); _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.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 = "\n[TweenListObj "; _local1 = (_local1 + ("scope:" + String(scope))); _local1 = (_local1 + ", properties:"); var _local2:uint; while (_local2 < properties.length) { if (_local2 > 0){ _local1 = (_local1 + ","); }; _local1 = (_local1 + ("[name:" + properties[_local2].name)); _local1 = (_local1 + (",valueStart:" + properties[_local2].valueStart)); _local1 = (_local1 + (",valueComplete:" + properties[_local2].valueComplete)); _local1 = (_local1 + "]"); _local2++; }; _local1 = (_local1 + (", timeStart:" + String(timeStart))); _local1 = (_local1 + (", timeComplete:" + String(timeComplete))); _local1 = (_local1 + (", useFrames:" + String(useFrames))); _local1 = (_local1 + (", transition:" + String(transition))); 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 (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 _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Number; var _local2:Object = _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 10
//PointBarFade (charts.Elements.PointBarFade) package charts.Elements { import charts.series.bars.*; public class PointBarFade extends Base { public function PointBarFade(_arg1:Number, _arg2:Object, _arg3:Number, _arg4:Number){ var _local5:Properties = new Properties(_arg2); super(_arg1, _local5, _arg4); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.graphics.clear(); this.graphics.beginFill(this.colour, 1); this.graphics.moveTo(0, 0); this.graphics.lineTo(_local2.width, 0); this.graphics.lineTo(_local2.width, _local2.height); this.graphics.lineTo(0, _local2.height); this.graphics.lineTo(0, 0); this.graphics.endFill(); } } }//package charts.Elements
Section 11
//Bar (charts.series.bars.Bar) package charts.series.bars { public class Bar extends Base { public function Bar(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.graphics.clear(); this.graphics.beginFill(this.colour, 1); this.graphics.moveTo(0, 0); this.graphics.lineTo(_local2.width, 0); this.graphics.lineTo(_local2.width, _local2.height); this.graphics.lineTo(0, _local2.height); this.graphics.lineTo(0, 0); this.graphics.endFill(); } } }//package charts.series.bars
Section 12
//Bar3D (charts.series.bars.Bar3D) package charts.series.bars { import flash.geom.*; import flash.filters.*; public class Bar3D extends Base { public function Bar3D(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); var _local4:DropShadowFilter = new DropShadowFilter(); _local4.blurX = 5; _local4.blurY = 5; _local4.distance = 3; _local4.angle = 45; _local4.quality = 2; _local4.alpha = 0.4; this.filters = [_local4]; } private function draw_side(_arg1:Number, _arg2:Number):void{ var _local3:Number = 7; var _local4:Number = Bar3D.Lighten(this.colour); var _local5:Array = [this.colour, _local4]; var _local6:Array = [1, 1]; var _local7:Array = [0, 0xFF]; var _local8:Matrix = new Matrix(); _local8.createGradientBox(_arg1, (_arg2 + 12), ((270 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); this.graphics.lineStyle(0, 0, 0); this.graphics.moveTo(_arg1, 0); this.graphics.lineTo(_arg1, _arg2); this.graphics.lineTo((_arg1 - 12), (_arg2 + 12)); this.graphics.lineTo((_arg1 - 12), 12); this.graphics.endFill(); } private function draw_top(_arg1:Number, _arg2:Number):void{ this.graphics.lineStyle(0, 0, 0); var _local3:Number = Bar3D.Lighten(this.colour); var _local4:Array = [this.colour, _local3]; var _local5:Array = [1, 1]; var _local6:Array = [0, 0xFF]; var _local7:Matrix = new Matrix(); _local7.createGradientBox((_arg1 + 12), 12, ((270 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local4, _local5, _local6, _local7, "pad"); var _local8:Number = 0; if (_arg2 < 0){ _local8 = _arg2; }; this.graphics.moveTo(0, _local8); this.graphics.lineTo(_arg1, _local8); this.graphics.lineTo((_arg1 - 12), (_local8 + 12)); this.graphics.lineTo(-12, (_local8 + 12)); this.graphics.endFill(); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.graphics.clear(); this.draw_top(_local2.width, _local2.height); this.draw_front(_local2.width, _local2.height); this.draw_side(_local2.width, _local2.height); } private function draw_front(_arg1:Number, _arg2:Number):void{ var _local3:Number = 7; var _local4:Number = Bar3D.Lighten(this.colour); var _local5:Array = [_local4, this.colour]; var _local6:Array = [1, 1]; var _local7:Array = [0, 127]; var _local8:Matrix = new Matrix(); _local8.createGradientBox((_arg1 - 12), (_arg2 + 12), ((90 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); this.graphics.moveTo(-12, 12); this.graphics.lineTo(-12, (_arg2 + 12)); this.graphics.lineTo((_arg1 - 12), (_arg2 + 12)); this.graphics.lineTo((_arg1 - 12), 12); this.graphics.endFill(); } public static function Lighten(_arg1:Number):Number{ var _local2:Number = _arg1; var _local3:Number = ((_local2 & 0xFF0000) >> 16); var _local4:Number = ((_local2 & 0xFF00) >> 8); var _local5:Number = (_local2 & 0xFF); var _local6:Number = 2; _local3 = (_local3 + (_local3 / _local6)); if (_local3 > 0xFF){ _local3 = 0xFF; }; _local4 = (_local4 + (_local4 / _local6)); if (_local4 > 0xFF){ _local4 = 0xFF; }; _local5 = (_local5 + (_local5 / _local6)); if (_local5 > 0xFF){ _local5 = 0xFF; }; return ((((_local3 << 16) | (_local4 << 8)) | _local5)); } } }//package charts.series.bars
Section 13
//Base (charts.series.bars.Base) package charts.series.bars { import flash.events.*; import flash.geom.*; import charts.series.*; import caurina.transitions.*; public class Base extends Element { protected var group:Number; protected var colour:Number; protected var mouse_out_alpha:Number; protected var top:Number; protected var on_show:Properties; protected var bottom:Number; protected var tip_pos:Point; private var on_show_animate:Boolean; public function Base(_arg1:Number, _arg2:Properties, _arg3:Number){ this.index = _arg1; this.parse_value(_arg2); this.colour = _arg2.get_colour("colour"); this.tooltip = this.replace_magic_values(_arg2.get("tip")); this.group = _arg3; this.visible = true; this.on_show_animate = true; this.on_show = _arg2.get("on-show"); this.mouse_out_alpha = _arg2.get("alpha"); this.alpha = this.mouse_out_alpha; this.addEventListener(MouseEvent.MOUSE_OVER, this.mouseOver); this.addEventListener(MouseEvent.MOUSE_OUT, this.mouseOut); if (_arg2.has("on-click")){ if (_arg2.get("on-click") != false){ this.set_on_click(_arg2.get("on-click")); }; }; if (_arg2.has("axis")){ if (_arg2.get("axis") == "right"){ this.right_axis = true; }; }; } override public function get_tip_pos():Object{ return ({x:this.tip_pos.x, y:this.tip_pos.y}); } override public function mouseOver(_arg1:Event):void{ this.is_tip = true; Tweener.addTween(this, {alpha:1, time:0.6, transition:Equations.easeOutCirc}); } protected function replace_magic_values(_arg1:String):String{ _arg1 = _arg1.replace("#top#", NumberUtils.formatNumber(this.top)); _arg1 = _arg1.replace("#bottom#", NumberUtils.formatNumber(this.bottom)); _arg1 = _arg1.replace("#val#", NumberUtils.formatNumber((this.top - this.bottom))); return (_arg1); } protected function parse_value(_arg1:Properties):void{ if (!_arg1.has("bottom")){ _arg1.set("bottom", Number.MIN_VALUE); }; this.top = _arg1.get("top"); this.bottom = _arg1.get("bottom"); } protected function resize_helper(_arg1:ScreenCoords):Object{ var _local4:Number; var _local5:Number; var _local6:Number; var _local2:Object = _arg1.get_bar_coords(this.index, this.group); var _local3:Number = _arg1.get_y_from_val(this.top, this.right_axis); if (this.bottom == Number.MIN_VALUE){ _local4 = _arg1.get_y_bottom(this.right_axis); } else { _local4 = _arg1.get_y_from_val(this.bottom, this.right_axis); }; var _local7:Boolean; if (_local4 < _local3){ _local5 = _local4; _local7 = true; } else { _local5 = _local3; }; _local6 = Math.abs((_local4 - _local3)); this.tip_pos = new Point((_local2.x + (_local2.width / 2)), _local5); if (this.on_show_animate){ this.first_show(_local2.x, _local5, _local2.width, _local6); } else { this.y = _local5; this.x = _local2.x; }; return ({width:_local2.width, top:_local5, height:_local6, upside_down:_local7}); } override public function mouseOut(_arg1:Event):void{ this.is_tip = false; Tweener.addTween(this, {alpha:this.mouse_out_alpha, time:0.8, transition:Equations.easeOutElastic}); } protected function first_show(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ this.on_show_animate = false; Tweener.removeTweens(this); var _local5:Number = (_arg1 / this.stage.stageWidth); _local5 = (_local5 * this.on_show.get("cascade")); _local5 = (_local5 + this.on_show.get("delay")); switch (this.on_show.get("type")){ case "pop-up": this.x = _arg1; this.y = ((this.stage.stageHeight + this.height) + 3); Tweener.addTween(this, {y:_arg2, time:1, delay:_local5, transition:Equations.easeOutBounce}); break; case "drop": this.x = _arg1; this.y = (-(_arg4) - 10); Tweener.addTween(this, {y:_arg2, time:1, delay:_local5, transition:Equations.easeOutBounce}); break; case "fade-in": this.x = _arg1; this.y = _arg2; this.alpha = 0; Tweener.addTween(this, {alpha:this.mouse_out_alpha, time:1.2, delay:_local5, transition:Equations.easeOutQuad}); break; case "grow-down": this.x = _arg1; this.y = _arg2; this.scaleY = 0.01; Tweener.addTween(this, {scaleY:1, time:1.2, delay:_local5, transition:Equations.easeOutQuad}); break; case "grow-up": this.x = _arg1; this.y = (_arg2 + _arg4); this.scaleY = 0.01; Tweener.addTween(this, {scaleY:1, time:1.2, delay:_local5, transition:Equations.easeOutQuad}); Tweener.addTween(this, {y:_arg2, time:1.2, delay:_local5, transition:Equations.easeOutQuad}); break; case "pop": this.y = top; this.alpha = 0.2; Tweener.addTween(this, {alpha:this.mouse_out_alpha, time:0.7, delay:_local5, transition:Equations.easeOutQuad}); this.x = (_arg1 + (_arg3 / 2)); this.y = (_arg2 + (_arg4 / 2)); this.width = 3; this.height = 3; Tweener.addTween(this, {x:_arg1, y:_arg2, width:_arg3, height:_arg4, time:1.2, delay:_local5, transition:Equations.easeOutElastic}); break; default: this.y = _arg2; this.x = _arg1; }; } override public function get_mid_point():Point{ return (new Point((this.x + (this.width / 2)), this.y)); } override public function resize(_arg1:ScreenCoordsBase):void{ } } }//package charts.series.bars
Section 14
//Cylinder (charts.series.bars.Cylinder) package charts.series.bars { import flash.geom.*; import flash.filters.*; public class Cylinder extends Base { public function Cylinder(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); var _local4:DropShadowFilter = new DropShadowFilter(); _local4.blurX = 5; _local4.blurY = 5; _local4.distance = 3; _local4.angle = 45; _local4.quality = 2; _local4.alpha = 0.4; this.filters = [_local4]; } public function Ellipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local6:Number = 0; while (_local6 <= _arg5) { _local7 = (_local6 / _arg5); _local8 = magicTrigFunctionX(_local7); _local9 = magicTrigFunctionY(_local7); _local10 = (_arg1 + (_local8 * _arg3)); _local11 = (_arg2 + (_local9 * _arg4)); this.graphics.lineTo(_local10, _local11); _local6++; }; return (1); } public function halfEllipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local6:Number = 0; while (_local6 <= (_arg5 / 2)) { _local7 = (_local6 / _arg5); _local8 = magicTrigFunctionX(_local7); _local9 = magicTrigFunctionY(_local7); _local10 = (_arg1 + (_local8 * _arg3)); _local11 = (_arg2 + (_local9 * _arg4)); this.graphics.lineTo(_local10, _local11); _local6++; }; return (1); } override public function resize(_arg1:ScreenCoordsBase):void{ this.graphics.clear(); var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.bg(_local2.width, _local2.height, _local2.upside_down); this.glass(_local2.width, _local2.height, _local2.upside_down); } private function bg(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local4:Number = (_arg1 / 3); if (_local4 > (_arg1 / 2)){ _local4 = (_arg1 / 2); }; this.graphics.lineStyle(0, 0, 0); var _local5:Array = GetColours(this.colour); var _local6:Array = [1, 1]; var _local7:Array = [0, 0xFF]; var _local8:Matrix = new Matrix(); _local8.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); _local11 = (_arg1 / 2); _local12 = _arg2; _local9 = (_arg1 / 2); _local10 = (_local4 / 2); halfEllipse(_local11, _local12, _local9, _local10, 100); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); this.graphics.moveTo(0, 0); this.graphics.lineTo(0, _arg2); this.graphics.lineTo(_arg1, _arg2); this.graphics.lineTo(_arg1, 0); this.graphics.beginFill(this.colour, 1); _local11 = (_arg1 / 2); _local12 = 0; _local9 = (_arg1 / 2); _local10 = (_local4 / 2); Ellipse(_local11, _local12, _local9, _local10, 100); this.graphics.endFill(); } private function glass(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; this.graphics.lineStyle(0, 0, 0); var _local4:Array = [0xFFFFFF, 0xFFFFFF]; var _local5:Array = [0, 0.5]; var _local6:Array = [150, 0xFF]; var _local11:Matrix = new Matrix(); _local11.createGradientBox(width, height, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local4, _local5, _local6, _local11, "pad"); var _local12:Number = (_arg1 / 3); _local9 = (_arg1 / 2); _local10 = _arg2; _local7 = (_arg1 / 2); _local8 = (_local12 / 2); halfEllipse(_local9, _local10, _local7, _local8, 100); this.graphics.moveTo(0, 0); this.graphics.lineTo(0, _arg2); this.graphics.lineTo(_arg1, _arg2); this.graphics.lineTo(_arg1, 0); this.graphics.beginFill(this.colour, 1); _local9 = (_arg1 / 2); _local10 = 0; _local7 = (_arg1 / 2); _local8 = (_local12 / 2); Ellipse(_local9, _local10, _local7, _local8, 100); this.graphics.beginGradientFill("linear", _local4, _local5, [25, 0xFF], _local11, "pad"); _local9 = (_arg1 / 2); _local10 = 0; _local7 = (_arg1 / 2); _local8 = (_local12 / 2); Ellipse(_local9, _local10, _local7, _local8, 100); this.graphics.endFill(); } public static function magicTrigFunctionY(_arg1:Number):Number{ return (Math.sin(((_arg1 * 2) * Math.PI))); } public static function GetColours(_arg1:Number):Array{ var _local2:Number = _arg1; var _local3:Number = ((_local2 & 0xFF0000) >> 16); var _local4:Number = ((_local2 & 0xFF00) >> 8); var _local5:Number = (_local2 & 0xFF); var _local6:Number = 2; var _local7:Number = _arg1; var _local8:Number = _arg1; var _local9:Number = ((_local2 & 0xFF0000) >> 16); var _local10:Number = ((_local2 & 0xFF00) >> 8); var _local11:Number = (_local2 & 0xFF); var _local12:Number = ((_local2 & 0xFF0000) >> 16); var _local13:Number = ((_local2 & 0xFF00) >> 8); var _local14:Number = (_local2 & 0xFF); if (((((((_local3 + (_local3 / _local6)) > 0xFF)) || (((_local4 + (_local4 / _local6)) > 0xFF)))) || (((_local5 + (_local5 / _local6)) > 0xFF)))){ _local9 = (_local3 - (_local3 / _local6)); _local10 = (_local4 - (_local4 / _local6)); _local11 = (_local5 - (_local5 / _local6)); }; _local12 = (_local9 + (_local3 / _local6)); _local14 = (_local11 + (_local5 / _local6)); _local13 = (_local10 + (_local4 / _local6)); _local7 = (((_local9 << 16) | (_local10 << 8)) | _local11); _local8 = (((_local12 << 16) | (_local13 << 8)) | _local14); return ([_local8, _local7]); } public static function magicTrigFunctionX(_arg1:Number):Number{ return (Math.cos(((_arg1 * 2) * Math.PI))); } } }//package charts.series.bars
Section 15
//CylinderOutline (charts.series.bars.CylinderOutline) package charts.series.bars { import flash.geom.*; import flash.filters.*; public class CylinderOutline extends Base { public function CylinderOutline(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); var _local4:DropShadowFilter = new DropShadowFilter(); _local4.blurX = 5; _local4.blurY = 5; _local4.distance = 3; _local4.angle = 45; _local4.quality = 2; _local4.alpha = 0.4; this.filters = [_local4]; } public function Ellipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local6:Number = 0; while (_local6 <= _arg5) { _local7 = (_local6 / _arg5); _local8 = magicTrigFunctionX(_local7); _local9 = magicTrigFunctionY(_local7); _local10 = (_arg1 + (_local8 * _arg3)); _local11 = (_arg2 + (_local9 * _arg4)); this.graphics.lineTo(_local10, _local11); _local6++; }; return (1); } public function halfEllipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Boolean):Number{ var _local7:Number; var _local8:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; if (_arg6 == true){ _local7 = (_arg5 / 2); _local8 = _arg5; } else { _local7 = 0; _local8 = (_arg5 / 2); }; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local9:Number = _local7; while (_local9 <= _local8) { _local10 = (_local9 / _arg5); _local11 = magicTrigFunctionX(_local10); _local12 = magicTrigFunctionY(_local10); _local13 = (_arg1 + (_local11 * _arg3)); _local14 = (_arg2 + (_local12 * _arg4)); this.graphics.lineTo(_local13, _local14); _local9++; }; return (1); } override public function resize(_arg1:ScreenCoordsBase):void{ this.graphics.clear(); var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.bg(_local2.width, _local2.height, _local2.upside_down); this.glass(_local2.width, _local2.height, _local2.upside_down); } private function bg(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local4:Number = (_arg1 / 3); if (_local4 > (_arg1 / 2)){ _local4 = (_arg1 / 2); }; this.graphics.lineStyle(0, 0, 0); var _local5:Array = GetColours(this.colour); var _local6:Array = [1, 1]; var _local7:Array = [0, 0xFF]; var _local8:Matrix = new Matrix(); _local8.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); _local11 = (_arg1 / 2); _local12 = _arg2; _local9 = (_arg1 / 2); _local10 = (_local4 / 2); halfEllipse(_local11, _local12, _local9, _local10, 100, false); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); this.graphics.moveTo(0, 0); this.graphics.lineTo(0, _arg2); this.graphics.lineTo(_arg1, _arg2); this.graphics.lineTo(_arg1, 0); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); _local11 = (_arg1 / 2); _local12 = 0; _local9 = (_arg1 / 2); _local10 = (_local4 / 2); Ellipse(_local11, _local12, _local9, _local10, 100); this.graphics.endFill(); } private function glass(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; this.graphics.lineStyle(0, 0, 0); var _local4:Array = GetColours(this.colour); var _local5:Array = [1, 1]; var _local6:Array = [0, 0xFF]; var _local7:Matrix = new Matrix(); var _local8:Array = [0xFFFFFF, 0xFFFFFF]; var _local9:Array = [0, 0.5]; var _local10:Array = [150, 0xFF]; var _local15:Matrix = new Matrix(); _local15.createGradientBox(width, height, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); var _local16:Number = (_arg1 / 3); _local13 = (_arg1 / 2); _local14 = _arg2; _local11 = ((_arg1 / 2) - (0.025 * _arg1)); _local12 = ((_local16 / 2) - (0.025 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, false); this.graphics.moveTo((0 + (0.025 * _arg1)), (0 + (0.025 * _arg1))); this.graphics.lineTo((0 + (0.025 * _arg1)), _arg2); this.graphics.lineTo((_arg1 - (0.025 * _arg1)), _arg2); this.graphics.lineTo((_arg1 - (0.025 * _arg1)), (0 + (0.025 * _arg1))); this.graphics.beginGradientFill("linear", _local4, _local5, _local6, _local7, "pad"); _local13 = (_arg1 / 2); _local14 = 0; _local11 = (_arg1 / 2); _local12 = (_local16 / 2); Ellipse(_local13, _local14, _local11, _local12, 100); this.graphics.beginGradientFill("linear", _local8, _local9, [25, 0xFF], _local15, "pad"); _local13 = (_arg1 / 2); _local14 = 0; _local11 = ((_arg1 / 2) - (0.025 * _arg1)); _local12 = ((_local16 / 2) - (0.025 * _arg1)); Ellipse(_local13, _local14, _local11, _local12, 100); this.graphics.endFill(); } public static function magicTrigFunctionY(_arg1:Number):Number{ return (Math.sin(((_arg1 * 2) * Math.PI))); } public static function GetColours(_arg1:Number):Array{ var _local2:Number = _arg1; var _local3:Number = ((_local2 & 0xFF0000) >> 16); var _local4:Number = ((_local2 & 0xFF00) >> 8); var _local5:Number = (_local2 & 0xFF); var _local6:Number = 2; var _local7:Number = _arg1; var _local8:Number = _arg1; var _local9:Number = ((_local2 & 0xFF0000) >> 16); var _local10:Number = ((_local2 & 0xFF00) >> 8); var _local11:Number = (_local2 & 0xFF); var _local12:Number = ((_local2 & 0xFF0000) >> 16); var _local13:Number = ((_local2 & 0xFF00) >> 8); var _local14:Number = (_local2 & 0xFF); if (((((((_local3 + (_local3 / _local6)) > 0xFF)) || (((_local4 + (_local4 / _local6)) > 0xFF)))) || (((_local5 + (_local5 / _local6)) > 0xFF)))){ _local9 = (_local3 - (_local3 / _local6)); _local10 = (_local4 - (_local4 / _local6)); _local11 = (_local5 - (_local5 / _local6)); }; _local12 = (_local9 + (_local3 / _local6)); _local14 = (_local11 + (_local5 / _local6)); _local13 = (_local10 + (_local4 / _local6)); _local7 = (((_local9 << 16) | (_local10 << 8)) | _local11); _local8 = (((_local12 << 16) | (_local13 << 8)) | _local14); return ([_local8, _local7]); } public static function magicTrigFunctionX(_arg1:Number):Number{ return (Math.cos(((_arg1 * 2) * Math.PI))); } } }//package charts.series.bars
Section 16
//Dome (charts.series.bars.Dome) package charts.series.bars { import flash.geom.*; import flash.filters.*; public class Dome extends Base { public function Dome(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); var _local4:DropShadowFilter = new DropShadowFilter(); _local4.blurX = 5; _local4.blurY = 5; _local4.distance = 3; _local4.angle = 45; _local4.quality = 2; _local4.alpha = 0.4; this.filters = [_local4]; } public function Ellipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local6:Number = 0; while (_local6 <= _arg5) { _local7 = (_local6 / _arg5); _local8 = magicTrigFunctionX(_local7); _local9 = magicTrigFunctionY(_local7); _local10 = (_arg1 + (_local8 * _arg3)); _local11 = (_arg2 + (_local9 * _arg4)); this.graphics.lineTo(_local10, _local11); _local6++; }; return (1); } public function halfEllipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Boolean):Number{ var _local7:Number; var _local8:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; if (_arg6 == true){ _local7 = (_arg5 / 2); _local8 = _arg5; } else { _local7 = 0; _local8 = (_arg5 / 2); }; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local9:Number = _local7; while (_local9 <= _local8) { _local10 = (_local9 / _arg5); _local11 = magicTrigFunctionX(_local10); _local12 = magicTrigFunctionY(_local10); _local13 = (_arg1 + (_local11 * _arg3)); _local14 = (_arg2 + (_local12 * _arg4)); this.graphics.lineTo(_local13, _local14); _local9++; }; return (1); } override public function resize(_arg1:ScreenCoordsBase):void{ this.graphics.clear(); var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.bg(_local2.width, _local2.height, _local2.upside_down); this.glass(_local2.width, _local2.height, _local2.upside_down); } private function bg(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local4:Number = (_arg1 / 3); if (_local4 > (_arg1 / 2)){ _local4 = (_arg1 / 2); }; this.graphics.lineStyle(0, 0, 0); var _local5:Array = GetColours(this.colour); var _local6:Array = [1, 1]; var _local7:Array = [0, 0xFF]; var _local8:Matrix = new Matrix(); _local8.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); if (((!(_arg3)) && ((_arg2 > 0)))){ if (_arg2 >= (_arg1 / 2)){ _local11 = (_arg1 / 2); _local12 = _arg2; _local9 = (_arg1 / 2); _local10 = (_local4 / 2); halfEllipse(_local11, _local12, _local9, _local10, 100, false); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); this.graphics.moveTo(0, (_arg1 / 2)); this.graphics.lineTo(0, _arg2); this.graphics.lineTo(_arg1, _arg2); this.graphics.lineTo(_arg1, (_arg1 / 2)); _local11 = (_arg1 / 2); _local12 = (_arg1 / 2); _local9 = (_arg1 / 2); _local10 = _local9; halfEllipse(_local11, _local12, _local9, _local10, 100, true); } else { _local11 = (_arg1 / 2); _local12 = _arg2; _local9 = (_arg1 / 2); _local10 = (_local4 / 2); halfEllipse(_local11, _local12, _local9, _local10, 100, false); _local11 = (_arg1 / 2); _local12 = _arg2; _local9 = (_arg1 / 2); _local10 = _arg2; halfEllipse(_local11, _local12, _local9, _local10, 100, true); }; } else { if (_arg2 >= (_arg1 / 2)){ _local11 = (_arg1 / 2); _local12 = 0; _local9 = (_arg1 / 2); _local10 = (_local4 / 2); halfEllipse(_local11, _local12, _local9, _local10, 100, true); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); this.graphics.moveTo(0, 0); this.graphics.lineTo(0, (_arg2 - (_arg1 / 2))); this.graphics.lineTo(_arg1, (_arg2 - (_arg1 / 2))); this.graphics.lineTo(_arg1, 0); _local11 = (_arg1 / 2); _local12 = (_arg2 - (_arg1 / 2)); _local9 = (_arg1 / 2); _local10 = _local9; halfEllipse(_local11, _local12, _local9, _local10, 100, false); } else { if (_arg2 > 0){ _local11 = (_arg1 / 2); _local12 = 0; _local9 = (_arg1 / 2); _local10 = (_local4 / 2); halfEllipse(_local11, _local12, _local9, _local10, 100, true); _local11 = (_arg1 / 2); _local12 = 0; _local9 = (_arg1 / 2); _local10 = _arg2; halfEllipse(_local11, _local12, _local9, _local10, 100, false); } else { _local11 = (_arg1 / 2); _local12 = _arg2; _local9 = (_arg1 / 2); _local10 = (_local4 / 4); Ellipse(_local11, _local12, _local9, _local10, 100); }; }; }; this.graphics.endFill(); } private function glass(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; this.graphics.lineStyle(0, 0, 0); var _local4:Array = GetColours(this.colour); var _local5:Array = [1, 1]; var _local6:Array = [0, 0xFF]; var _local7:Matrix = new Matrix(); _local7.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); var _local8:Array = [0xFFFFFF, 0xFFFFFF]; var _local9:Array = [0, 0.75]; var _local10:Array = [100, 0xFF]; var _local15:Matrix = new Matrix(); _local15.createGradientBox(width, height, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); var _local16:Number = (_arg1 / 3); if (((!(_arg3)) && ((_arg2 > 0)))){ if (_arg2 >= (_arg1 / 2)){ _local13 = (_arg1 / 2); _local14 = _arg2; _local11 = ((_arg1 / 2) - (0.05 * _arg1)); _local12 = ((_local16 / 2) - (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, false); this.graphics.moveTo((0 + (0.05 * _arg1)), (_arg1 / 2)); this.graphics.lineTo((0 + (0.05 * _arg1)), _arg2); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), _arg2); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), (_arg1 / 2)); this.graphics.beginGradientFill("linear", _local4, _local5, _local6, _local7, "pad"); _local13 = (_arg1 / 2); _local14 = (_arg1 / 2); _local11 = (_arg1 / 2); _local12 = _local11; halfEllipse(_local13, _local14, _local11, _local12, 100, true); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = (_arg1 / 2); _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_local11 + (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, true); } else { _local13 = (_arg1 / 2); _local14 = _arg2; _local11 = ((_arg1 / 2) - (0.05 * _arg1)); _local12 = ((_local16 / 2) - (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, false); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = _arg2; _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_arg2 - (2.5 * (0.05 * _arg1))); halfEllipse(_local13, _local14, _local11, _local12, 100, true); }; } else { if (_arg2 >= (_arg1 / 2)){ _local13 = (_arg1 / 2); _local14 = 0; _local11 = ((_arg1 / 2) - (0.05 * _arg1)); _local12 = ((_local16 / 2) - (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, true); this.graphics.moveTo((0 + (0.05 * _arg1)), 0); this.graphics.lineTo((0 + (0.05 * _arg1)), (_arg2 - (_arg1 / 2))); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), (_arg2 - (_arg1 / 2))); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), 0); this.graphics.beginGradientFill("linear", _local4, _local5, _local6, _local7, "pad"); _local13 = (_arg1 / 2); _local14 = (_arg2 - (_arg1 / 2)); _local11 = (_arg1 / 2); _local12 = _local11; halfEllipse(_local13, _local14, _local11, _local12, 100, false); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = (_arg2 - (_arg1 / 2)); _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_local11 + (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, false); } else { if (_arg2 > 0){ _local13 = (_arg1 / 2); _local14 = 0; _local11 = ((_arg1 / 2) - (0.05 * _arg1)); _local12 = ((_local16 / 2) - (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, true); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = 0; _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_arg2 - (2.5 * (0.05 * _arg1))); halfEllipse(_local13, _local14, _local11, _local12, 100, false); } else { _local13 = (_arg1 / 2); _local14 = _arg2; _local11 = ((_arg1 / 2) - (0.05 * _arg1)); _local12 = ((_local16 / 4) - (0.05 * _arg1)); Ellipse(_local13, _local14, _local11, _local12, 100); }; }; }; this.graphics.endFill(); } public static function magicTrigFunctionY(_arg1:Number):Number{ return (Math.sin(((_arg1 * 2) * Math.PI))); } public static function GetColours(_arg1:Number):Array{ var _local2:Number = _arg1; var _local3:Number = ((_local2 & 0xFF0000) >> 16); var _local4:Number = ((_local2 & 0xFF00) >> 8); var _local5:Number = (_local2 & 0xFF); var _local6:Number = 2; var _local7:Number = _arg1; var _local8:Number = _arg1; var _local9:Number = ((_local2 & 0xFF0000) >> 16); var _local10:Number = ((_local2 & 0xFF00) >> 8); var _local11:Number = (_local2 & 0xFF); var _local12:Number = ((_local2 & 0xFF0000) >> 16); var _local13:Number = ((_local2 & 0xFF00) >> 8); var _local14:Number = (_local2 & 0xFF); if (((((((_local3 + (_local3 / _local6)) > 0xFF)) || (((_local4 + (_local4 / _local6)) > 0xFF)))) || (((_local5 + (_local5 / _local6)) > 0xFF)))){ _local9 = (_local3 - (_local3 / _local6)); _local10 = (_local4 - (_local4 / _local6)); _local11 = (_local5 - (_local5 / _local6)); }; _local12 = (_local9 + (_local3 / _local6)); _local14 = (_local11 + (_local5 / _local6)); _local13 = (_local10 + (_local4 / _local6)); _local7 = (((_local9 << 16) | (_local10 << 8)) | _local11); _local8 = (((_local12 << 16) | (_local13 << 8)) | _local14); return ([_local8, _local7]); } public static function magicTrigFunctionX(_arg1:Number):Number{ return (Math.cos(((_arg1 * 2) * Math.PI))); } } }//package charts.series.bars
Section 17
//ECandle (charts.series.bars.ECandle) package charts.series.bars { import flash.geom.*; public class ECandle extends Base { protected var high:Number; protected var low:Number; public function ECandle(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); } private function draw_box(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean):void{ this.graphics.beginFill(this.colour, 1); this.graphics.moveTo(0, _arg1); this.graphics.lineTo(_arg3, _arg1); this.graphics.lineTo(_arg3, _arg2); this.graphics.lineTo(0, _arg2); this.graphics.lineTo(0, _arg1); if (_arg4){ this.graphics.moveTo(2, (_arg1 + 2)); this.graphics.lineTo((_arg3 - 2), (_arg1 + 2)); this.graphics.lineTo((_arg3 - 2), (_arg2 - 2)); this.graphics.lineTo(2, (_arg2 - 2)); this.graphics.lineTo(2, (_arg1 + 2)); }; this.graphics.endFill(); if (_arg4){ this.graphics.lineStyle(0, 0, 0); this.graphics.beginFill(0, 0); this.graphics.moveTo(2, (_arg1 - 2)); this.graphics.lineTo((_arg3 - 2), (_arg1 - 2)); this.graphics.lineTo((_arg3 - 2), (_arg2 - 2)); this.graphics.lineTo(2, (_arg2 - 2)); this.graphics.endFill(); }; } override protected function parse_value(_arg1:Properties):void{ super.parse_value(_arg1); this.high = _arg1.get("high"); this.low = _arg1.get("low"); } private function bottom_line(_arg1:Number, _arg2:Number, _arg3:Number):void{ this.graphics.beginFill(this.colour, 1); this.graphics.moveTo((_arg1 - 1), _arg2); this.graphics.lineTo((_arg1 + 1), _arg2); this.graphics.lineTo((_arg1 + 1), _arg3); this.graphics.lineTo((_arg1 - 1), _arg3); this.graphics.endFill(); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); var _local3:Number = _arg1.get_y_from_val(Math.max(this.top, this.bottom), this.right_axis); var _local4:Number = (_arg1.get_y_from_val(this.high, this.right_axis) - _local3); var _local5:Number = 0; var _local6:Number = (_arg1.get_y_from_val(this.bottom, this.right_axis) - _local3); var _local7:Number = (_arg1.get_y_from_val(this.low, this.right_axis) - _local3); this.tip_pos = new Point((this.x + (_local2.width / 2)), this.y); var _local8:Number = (_local2.width / 2); this.graphics.clear(); this.top_line(_local8, _local4); if (this.top == this.bottom){ this.draw_doji(_local2.width, _local5); } else { this.draw_box(_local5, _local2.height, _local2.width, _local2.upside_down); }; this.bottom_line(_local8, _local2.height, _local7); this.tip_pos = new Point((this.x + (_local2.width / 2)), (this.y + _local4)); } private function draw_doji(_arg1:Number, _arg2:Number):void{ this.graphics.beginFill(this.colour, 1); this.graphics.moveTo(0, (_arg2 - 1)); this.graphics.lineTo(_arg1, (_arg2 - 1)); this.graphics.lineTo(_arg1, (_arg2 + 1)); this.graphics.lineTo(0, (_arg2 + 1)); this.graphics.endFill(); } private function top_line(_arg1:Number, _arg2:Number):void{ this.graphics.beginFill(this.colour, 1); this.graphics.moveTo((_arg1 - 1), 0); this.graphics.lineTo((_arg1 + 1), 0); this.graphics.lineTo((_arg1 + 1), _arg2); this.graphics.lineTo((_arg1 - 1), _arg2); this.graphics.endFill(); } override protected function replace_magic_values(_arg1:String):String{ _arg1 = super.replace_magic_values(_arg1); _arg1 = _arg1.replace("#high#", NumberUtils.formatNumber(this.high)); _arg1 = _arg1.replace("#open#", NumberUtils.formatNumber(this.top)); _arg1 = _arg1.replace("#close#", NumberUtils.formatNumber(this.bottom)); _arg1 = _arg1.replace("#low#", NumberUtils.formatNumber(this.low)); return (_arg1); } } }//package charts.series.bars
Section 18
//Glass (charts.series.bars.Glass) package charts.series.bars { import flash.geom.*; import flash.filters.*; public class Glass extends Base { public function Glass(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); var _local4:DropShadowFilter = new DropShadowFilter(); _local4.blurX = 5; _local4.blurY = 5; _local4.distance = 3; _local4.angle = 45; _local4.quality = 2; _local4.alpha = 0.4; this.filters = [_local4]; } override public function resize(_arg1:ScreenCoordsBase):void{ this.graphics.clear(); var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); if (_local2.height == 0){ return; }; this.bg(_local2.width, _local2.height, _local2.upside_down); this.glass(_local2.width, _local2.height, _local2.upside_down); } private function bg(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local4:Number = 7; if (_local4 > (_arg1 / 2)){ _local4 = (_arg1 / 2); }; this.graphics.lineStyle(0, 0, 0); this.graphics.beginFill(this.colour, 1); if (!_arg3){ this.graphics.moveTo((0 + _local4), 0); this.graphics.lineTo((_arg1 - _local4), 0); this.graphics.curveTo(_arg1, 0, _arg1, _local4); this.graphics.lineTo(_arg1, _arg2); this.graphics.lineTo(0, _arg2); this.graphics.lineTo(0, (0 + _local4)); this.graphics.curveTo(0, 0, (0 + _local4), 0); } else { this.graphics.moveTo(0, 0); this.graphics.lineTo(_arg1, 0); this.graphics.lineTo(_arg1, (_arg2 - _local4)); this.graphics.curveTo(_arg1, _arg2, (_arg1 - _local4), _arg2); this.graphics.lineTo(_local4, _arg2); this.graphics.curveTo(0, _arg2, 0, (_arg2 - _local4)); this.graphics.lineTo(0, 0); }; this.graphics.endFill(); } private function glass(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local4:Number = 2; var _local5:Number = _local4; var _local6:Number = ((_arg1 / 2) - _local4); if (_arg3){ _local5 = (_local5 - _local4); }; _arg2 = (_arg2 - _local4); this.graphics.lineStyle(0, 0, 0); var _local7:Array = [0xFFFFFF, 0xFFFFFF]; var _local8:Array = [0.3, 0.7]; var _local9:Array = [0, 0xFF]; var _local10:Matrix = new Matrix(); _local10.createGradientBox(_local6, height, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local7, _local8, _local9, _local10, "pad"); var _local11:Number = 4; _arg1 = _local6; if (!_arg3){ this.graphics.moveTo((_local4 + _local11), _local5); this.graphics.lineTo((_local4 + _arg1), _local5); this.graphics.lineTo((_local4 + _arg1), (_local5 + _arg2)); this.graphics.lineTo(_local4, (_local5 + _arg2)); this.graphics.lineTo(_local4, (_local5 + _local11)); this.graphics.curveTo(_local4, _local5, (_local4 + _local11), _local5); } else { this.graphics.moveTo(_local4, _local5); this.graphics.lineTo((_local4 + _arg1), _local5); this.graphics.lineTo((_local4 + _arg1), (_local5 + _arg2)); this.graphics.lineTo((_local4 + _local11), (_local5 + _arg2)); this.graphics.curveTo(_local4, (_local5 + _arg2), _local4, ((_local5 + _arg2) - _local11)); }; this.graphics.endFill(); } } }//package charts.series.bars
Section 19
//Horizontal (charts.series.bars.Horizontal) package charts.series.bars { import flash.events.*; import flash.geom.*; import charts.series.*; import caurina.transitions.*; public class Horizontal extends Element { protected var group:Number; private var left:Number; public var colour:Number; private var right:Number; public function Horizontal(_arg1:Number, _arg2:Object, _arg3:Number){ this.index = _arg1; this.left = (_arg2.left) ? _arg2.left : 0; this.right = (_arg2.right) ? _arg2.right : 0; this.colour = _arg2.colour; this.group = _arg3; this.visible = true; this.alpha = 0.5; this.tooltip = this.replace_magic_values(_arg2.tip); this.addEventListener(MouseEvent.MOUSE_OVER, this.mouseOver); this.addEventListener(MouseEvent.MOUSE_OUT, this.mouseOut); } override public function mouseOut(_arg1:Event):void{ Tweener.addTween(this, {alpha:0.5, time:0.8, transition:Equations.easeOutElastic}); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local2:ScreenCoords = (_arg1 as ScreenCoords); var _local3:Object = _local2.get_horiz_bar_coords(this.index, this.group); var _local4:Number = _arg1.get_x_from_val(this.left); var _local5:Number = _arg1.get_x_from_val(this.right); var _local6:Number = (_local5 - _local4); this.graphics.clear(); this.graphics.beginFill(this.colour, 1); this.graphics.drawRect(0, 0, _local6, _local3.width); this.graphics.endFill(); this.x = _local4; this.y = _local3.y; } override public function get_tip_pos():Object{ return ({x:((this.x + this.width) - 20), y:this.y}); } override public function get_mid_point():Point{ return (new Point((this.x + (this.width / 2)), this.y)); } override public function mouseOver(_arg1:Event):void{ Tweener.addTween(this, {alpha:1, time:0.6, transition:Equations.easeOutCirc}); } public function get_max_x():Number{ return (this.right); } protected function replace_magic_values(_arg1:String):String{ _arg1 = _arg1.replace("#right#", NumberUtils.formatNumber(this.right)); _arg1 = _arg1.replace("#left#", NumberUtils.formatNumber(this.left)); _arg1 = _arg1.replace("#val#", NumberUtils.formatNumber((this.right - this.left))); return (_arg1); } } }//package charts.series.bars
Section 20
//Outline (charts.series.bars.Outline) package charts.series.bars { public class Outline extends Base { private var outline:Number; public function Outline(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); this.outline = _arg2.get_colour("outline-colour"); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.graphics.clear(); this.graphics.lineStyle(1, this.outline, 1); this.graphics.beginFill(this.colour, 1); this.graphics.moveTo(0, 0); this.graphics.lineTo(_local2.width, 0); this.graphics.lineTo(_local2.width, _local2.height); this.graphics.lineTo(0, _local2.height); this.graphics.lineTo(0, 0); this.graphics.endFill(); } } }//package charts.series.bars
Section 21
//Plastic (charts.series.bars.Plastic) package charts.series.bars { import flash.geom.*; import flash.filters.*; public class Plastic extends Base { public function Plastic(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); var _local4:DropShadowFilter = new DropShadowFilter(); _local4.blurX = 5; _local4.blurY = 5; _local4.distance = 3; _local4.angle = 45; _local4.quality = 2; _local4.alpha = 0.4; this.filters = [_local4]; } public function Ellipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local6:Number = 0; while (_local6 <= _arg5) { _local7 = (_local6 / _arg5); _local8 = magicTrigFunctionX(_local7); _local9 = magicTrigFunctionY(_local7); _local10 = (_arg1 + (_local8 * _arg3)); _local11 = (_arg2 + (_local9 * _arg4)); this.graphics.lineTo(_local10, _local11); _local6++; }; return (1); } override public function resize(_arg1:ScreenCoordsBase):void{ this.graphics.clear(); var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.bg(_local2.width, _local2.height, _local2.upside_down); this.glass(_local2.width, _local2.height, _local2.upside_down); } private function bg(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local4:Number = (_arg1 / 3); if (_local4 > (_arg1 / 2)){ _local4 = (_arg1 / 2); }; this.graphics.lineStyle(0, 0, 0); var _local5:Array = GetColours(this.colour); var _local6:Number = _local5[2]; var _local7:Number = _local5[0]; var _local8:Array = [_local5[1], _local5[2], _local5[2]]; var _local9:Array = [1, 1, 1]; var _local10:Array = [0, 115, 0xFF]; var _local11:Matrix = new Matrix(); var _local16:Number = (0.02 * _arg1); var _local17:Number = 3; _local11.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local11, "pad"); if ((((_arg2 > 0)) || ((_arg2 < 0)))){ this.graphics.beginFill(0, 1); this.graphics.drawRoundRect(0, 0, _arg1, _arg2, (_arg1 / _local17), (_arg1 / _local17)); this.graphics.beginFill(_local7, 1); this.graphics.drawRoundRect((0 + _local16), (0 + _local16), (_arg1 - (2 * _local16)), (_arg2 - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16))); _local16 = (_local16 * 3); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local11, "pad"); this.graphics.drawRoundRect((0 + _local16), (0 + _local16), (_arg1 - (2 * _local16)), (_arg2 - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16))); } else { this.graphics.beginFill(0, 1); this.graphics.drawRoundRect(0, (0 - (2 * _local16)), _arg1, (_arg2 + (4 * _local16)), (_arg1 / _local17), (_arg1 / _local17)); this.graphics.beginFill(_local7, 1); this.graphics.drawRoundRect((0 + _local16), ((0 - (2 * _local16)) + _local16), (_arg1 - (2 * _local16)), ((_arg2 + (4 * _local16)) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16))); _local16 = (_local16 * 3); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local11, "pad"); this.graphics.drawRoundRect((0 + _local16), ((0 - (2 * _local16)) + _local16), (_arg1 - (2 * _local16)), ((_arg2 + (4 * _local16)) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16))); }; this.graphics.endFill(); } private function glass(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; this.graphics.lineStyle(0, 0, 0); var _local4:Array = GetColours(this.colour); var _local5:Matrix = new Matrix(); var _local6:Array = [1, 1]; var _local7:Array = [0, 0xFF]; var _local8:Array = [0xFFFFFF, 0xFFFFFF, 0xFFFFFF]; var _local9:Array = [0, 0.05, 0.75]; var _local10:Array = [0, 123, 0xFF]; var _local15:Matrix = new Matrix(); var _local16:Number = (0.02 * _arg1); var _local17:Number = 3; _local15.createGradientBox(width, height, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); var _local18:Number = (_arg1 / 3); if ((((_arg2 > 0)) || ((_arg2 < 0)))){ this.graphics.drawRoundRect((0 + _local16), (0 + _local16), (_arg1 - (2 * _local16)), (_arg2 - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16))); } else { this.graphics.drawRoundRect((0 + _local16), ((0 - (2 * _local16)) + _local16), (_arg1 - (2 * _local16)), ((_arg2 + (4 * _local16)) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16))); }; this.graphics.endFill(); } public static function magicTrigFunctionY(_arg1:Number):Number{ return (Math.sin(((_arg1 * 2) * Math.PI))); } public static function GetColours(_arg1:Number):Array{ var _local2:Number = _arg1; var _local3:Number = ((_local2 & 0xFF0000) >> 16); var _local4:Number = ((_local2 & 0xFF00) >> 8); var _local5:Number = (_local2 & 0xFF); var _local6:Number = 0.15; var _local7:Number = 1.75; var _local8:Number = _arg1; var _local9:Number = _arg1; var _local10:Number = _arg1; var _local11:Number = ((_local2 & 0xFF0000) >> 16); var _local12:Number = ((_local2 & 0xFF00) >> 8); var _local13:Number = (_local2 & 0xFF); var _local14:Number = ((_local2 & 0xFF0000) >> 16); var _local15:Number = ((_local2 & 0xFF00) >> 8); var _local16:Number = (_local2 & 0xFF); var _local17:Number = ((_local2 & 0xFF0000) >> 16); var _local18:Number = ((_local2 & 0xFF00) >> 8); var _local19:Number = (_local2 & 0xFF); if (((((_local3 + (_local3 * _local6)) < 0xFF)) && (((_local3 - ((_local7 * _local3) * _local6)) > 0)))){ _local11 = _local3; } else { if ((_local3 + (_local3 * _local6)) < 0xFF){ _local11 = (_local3 + (_local3 / _local6)); } else { _local11 = (_local3 - ((_local7 * _local3) * _local6)); }; }; if (((((_local5 + (_local5 * _local6)) < 0xFF)) && (((_local5 - ((_local7 * _local5) * _local6)) > 0)))){ _local13 = _local5; } else { if ((_local5 + (_local5 * _local6)) < 0xFF){ _local13 = (_local5 + (_local5 * _local6)); } else { _local13 = (_local5 - ((_local7 * _local5) * _local6)); }; }; if (((((_local4 + (_local4 * _local6)) < 0xFF)) && (((_local4 - ((_local7 * _local4) * _local6)) > 0)))){ _local12 = _local4; } else { if ((_local4 + (_local4 * _local6)) < 0xFF){ _local12 = (_local4 + (_local4 * _local6)); } else { _local12 = (_local4 - ((_local7 * _local4) * _local6)); }; }; _local17 = (_local11 + (_local3 * _local6)); _local14 = (_local11 - (_local7 * (_local3 * _local6))); _local19 = (_local13 + (_local5 * _local6)); _local16 = (_local13 - (_local7 * (_local5 * _local6))); _local18 = (_local12 + (_local4 * _local6)); _local15 = (_local12 - (_local7 * (_local4 * _local6))); _local8 = (((_local11 << 16) | (_local12 << 8)) | _local13); _local10 = (((_local17 << 16) | (_local18 << 8)) | _local19); _local9 = (((_local14 << 16) | (_local15 << 8)) | _local16); return ([_local10, _local8, _local9]); } public static function magicTrigFunctionX(_arg1:Number):Number{ return (Math.cos(((_arg1 * 2) * Math.PI))); } } }//package charts.series.bars
Section 22
//PlasticFlat (charts.series.bars.PlasticFlat) package charts.series.bars { import flash.geom.*; import flash.filters.*; public class PlasticFlat extends Base { public function PlasticFlat(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); var _local4:DropShadowFilter = new DropShadowFilter(); _local4.blurX = 5; _local4.blurY = 5; _local4.distance = 3; _local4.angle = 45; _local4.quality = 2; _local4.alpha = 0.4; this.filters = [_local4]; } public function Ellipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local6:Number = 0; while (_local6 <= _arg5) { _local7 = (_local6 / _arg5); _local8 = magicTrigFunctionX(_local7); _local9 = magicTrigFunctionY(_local7); _local10 = (_arg1 + (_local8 * _arg3)); _local11 = (_arg2 + (_local9 * _arg4)); this.graphics.lineTo(_local10, _local11); _local6++; }; return (1); } override public function resize(_arg1:ScreenCoordsBase):void{ this.graphics.clear(); var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.bg(_local2.width, _local2.height, _local2.upside_down); this.glass(_local2.width, _local2.height, _local2.upside_down); } private function bg(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local4:Number = (_arg1 / 3); if (_local4 > (_arg1 / 2)){ _local4 = (_arg1 / 2); }; this.graphics.lineStyle(0, 0, 0); var _local5:Array = GetColours(this.colour); var _local6:Number = _local5[2]; var _local7:Number = _local5[0]; var _local8:Array = [_local5[1], _local5[2], _local5[2]]; var _local9:Array = [1, 1, 1]; var _local10:Array = [0, 115, 0xFF]; var _local11:Matrix = new Matrix(); var _local16:Number = (0.02 * _arg1); var _local17:Number = 3; _local11.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local11, "pad"); if ((((_arg2 > 0)) || ((_arg2 < 0)))){ this.graphics.beginFill(0, 1); this.graphics.drawRoundRect(0, 0, _arg1, _arg2, (_arg1 / _local17), (_arg1 / _local17)); this.graphics.beginFill(_local7, 1); this.graphics.drawRoundRect((0 + _local16), (0 + _local16), (_arg1 - (2 * _local16)), (_arg2 - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16))); _local16 = (_local16 * 3); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local11, "pad"); this.graphics.drawRoundRect((0 + _local16), (0 + _local16), (_arg1 - (2 * _local16)), (_arg2 - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16))); } else { this.graphics.beginFill(0, 1); this.graphics.drawRoundRect(0, (0 - (2 * _local16)), _arg1, (_arg2 + (4 * _local16)), (_arg1 / _local17), (_arg1 / _local17)); this.graphics.beginFill(_local7, 1); this.graphics.drawRoundRect((0 + _local16), ((0 - (2 * _local16)) + _local16), (_arg1 - (2 * _local16)), ((_arg2 + (4 * _local16)) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16))); _local16 = (_local16 * 3); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local11, "pad"); this.graphics.drawRoundRect((0 + _local16), ((0 - (2 * _local16)) + _local16), (_arg1 - (2 * _local16)), ((_arg2 + (4 * _local16)) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16)), ((_arg1 / _local17) - (2 * _local16))); }; this.graphics.endFill(); } private function glass(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; this.graphics.lineStyle(0, 0, 0); var _local4:Array = GetColours(this.colour); var _local5:Number = _local4[2]; var _local6:Number = _local4[0]; var _local7:Array = [_local4[1], _local4[2], _local4[2]]; var _local8:Array = [1, 1, 1]; var _local9:Array = [0, 115, 0xFF]; var _local10:Matrix = new Matrix(); var _local11:Array = [0xFFFFFF, 0xFFFFFF, 0xFFFFFF]; var _local12:Array = [0, 0.05, 0.75]; var _local13:Array = [0, 123, 0xFF]; var _local18:Matrix = new Matrix(); var _local19:Number = (0.02 * _arg1); var _local20:Number = 3; _local10.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); _local18.createGradientBox(width, height, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local11, _local12, _local13, _local18, "pad"); var _local21:Number = (_arg1 / 3); if ((((_arg2 > 0)) && (!(_arg3)))){ this.graphics.drawRoundRect((0 + _local19), (0 + _local19), (_arg1 - (2 * _local19)), (_arg2 - (2 * _local19)), ((_arg1 / _local20) - (2 * _local19)), ((_arg1 / _local20) - (2 * _local19))); this.graphics.beginFill(0, 1); this.graphics.drawRect(0, (_arg2 - (_arg2 / 2)), _arg1, (_arg2 / 2)); this.graphics.beginFill(_local6, 1); this.graphics.drawRect((0 + _local19), (_arg2 - (_arg2 / 2)), (_arg1 - (2 * _local19)), ((_arg2 / 2) - _local19)); _local19 = (_local19 * 3); this.graphics.beginGradientFill("linear", _local7, _local8, _local9, _local10, "pad"); this.graphics.drawRect((0 + _local19), (_arg2 - (_arg2 / 2)), (_arg1 - (2 * _local19)), ((_arg2 / 2) - _local19)); _local19 = (_local19 / 3); this.graphics.beginGradientFill("linear", _local11, _local12, _local13, _local18, "pad"); this.graphics.drawRect((0 + _local19), (_arg2 - (_arg2 / 2)), (_arg1 - (2 * _local19)), ((_arg2 / 2) - _local19)); } else { if (_arg2 > 0){ this.graphics.drawRoundRect((0 + _local19), (0 + _local19), (_arg1 - (2 * _local19)), (_arg2 - (2 * _local19)), ((_arg1 / _local20) - (2 * _local19)), ((_arg1 / _local20) - (2 * _local19))); this.graphics.beginFill(0, 1); this.graphics.drawRect(0, 0, _arg1, (_arg2 / 2)); this.graphics.beginFill(_local6, 1); this.graphics.drawRect((0 + _local19), (0 + _local19), (_arg1 - (2 * _local19)), ((_arg2 / 2) - _local19)); _local19 = (_local19 * 3); this.graphics.beginGradientFill("linear", _local7, _local8, _local9, _local10, "pad"); this.graphics.drawRect((0 + _local19), (0 + _local19), (_arg1 - (2 * _local19)), ((_arg2 / 2) - _local19)); _local19 = (_local19 / 3); this.graphics.beginGradientFill("linear", _local11, _local12, _local13, _local18, "pad"); this.graphics.drawRect((0 + _local19), (0 + _local19), (_arg1 - (2 * _local19)), ((_arg2 / 2) - _local19)); } else { this.graphics.drawRoundRect((0 + _local19), ((0 - (2 * _local19)) + _local19), (_arg1 - (2 * _local19)), ((_arg2 + (4 * _local19)) - (2 * _local19)), ((_arg1 / _local20) - (2 * _local19)), ((_arg1 / _local20) - (2 * _local19))); }; }; this.graphics.endFill(); } public static function magicTrigFunctionY(_arg1:Number):Number{ return (Math.sin(((_arg1 * 2) * Math.PI))); } public static function GetColours(_arg1:Number):Array{ var _local2:Number = _arg1; var _local3:Number = ((_local2 & 0xFF0000) >> 16); var _local4:Number = ((_local2 & 0xFF00) >> 8); var _local5:Number = (_local2 & 0xFF); var _local6:Number = 0.15; var _local7:Number = 1.75; var _local8:Number = _arg1; var _local9:Number = _arg1; var _local10:Number = _arg1; var _local11:Number = ((_local2 & 0xFF0000) >> 16); var _local12:Number = ((_local2 & 0xFF00) >> 8); var _local13:Number = (_local2 & 0xFF); var _local14:Number = ((_local2 & 0xFF0000) >> 16); var _local15:Number = ((_local2 & 0xFF00) >> 8); var _local16:Number = (_local2 & 0xFF); var _local17:Number = ((_local2 & 0xFF0000) >> 16); var _local18:Number = ((_local2 & 0xFF00) >> 8); var _local19:Number = (_local2 & 0xFF); if (((((_local3 + (_local3 * _local6)) < 0xFF)) && (((_local3 - ((_local7 * _local3) * _local6)) > 0)))){ _local11 = _local3; } else { if ((_local3 + (_local3 * _local6)) < 0xFF){ _local11 = (_local3 + (_local3 / _local6)); } else { _local11 = (_local3 - ((_local7 * _local3) * _local6)); }; }; if (((((_local5 + (_local5 * _local6)) < 0xFF)) && (((_local5 - ((_local7 * _local5) * _local6)) > 0)))){ _local13 = _local5; } else { if ((_local5 + (_local5 * _local6)) < 0xFF){ _local13 = (_local5 + (_local5 * _local6)); } else { _local13 = (_local5 - ((_local7 * _local5) * _local6)); }; }; if (((((_local4 + (_local4 * _local6)) < 0xFF)) && (((_local4 - ((_local7 * _local4) * _local6)) > 0)))){ _local12 = _local4; } else { if ((_local4 + (_local4 * _local6)) < 0xFF){ _local12 = (_local4 + (_local4 * _local6)); } else { _local12 = (_local4 - ((_local7 * _local4) * _local6)); }; }; _local17 = (_local11 + (_local3 * _local6)); _local14 = (_local11 - (_local7 * (_local3 * _local6))); _local19 = (_local13 + (_local5 * _local6)); _local16 = (_local13 - (_local7 * (_local5 * _local6))); _local18 = (_local12 + (_local4 * _local6)); _local15 = (_local12 - (_local7 * (_local4 * _local6))); _local8 = (((_local11 << 16) | (_local12 << 8)) | _local13); _local10 = (((_local17 << 16) | (_local18 << 8)) | _local19); _local9 = (((_local14 << 16) | (_local15 << 8)) | _local16); return ([_local10, _local8, _local9]); } public static function magicTrigFunctionX(_arg1:Number):Number{ return (Math.cos(((_arg1 * 2) * Math.PI))); } } }//package charts.series.bars
Section 23
//Round (charts.series.bars.Round) package charts.series.bars { import flash.geom.*; import flash.filters.*; public class Round extends Base { public function Round(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); var _local4:DropShadowFilter = new DropShadowFilter(); _local4.blurX = 5; _local4.blurY = 5; _local4.distance = 3; _local4.angle = 45; _local4.quality = 2; _local4.alpha = 0.4; this.filters = [_local4]; } public function Ellipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local6:Number = 0; while (_local6 <= _arg5) { _local7 = (_local6 / _arg5); _local8 = magicTrigFunctionX(_local7); _local9 = magicTrigFunctionY(_local7); _local10 = (_arg1 + (_local8 * _arg3)); _local11 = (_arg2 + (_local9 * _arg4)); this.graphics.lineTo(_local10, _local11); _local6++; }; return (1); } public function halfEllipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Boolean):Number{ var _local7:Number; var _local8:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; if (_arg6 == true){ _local7 = (_arg5 / 2); _local8 = _arg5; } else { _local7 = 0; _local8 = (_arg5 / 2); }; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local9:Number = _local7; while (_local9 <= _local8) { _local10 = (_local9 / _arg5); _local11 = magicTrigFunctionX(_local10); _local12 = magicTrigFunctionY(_local10); _local13 = (_arg1 + (_local11 * _arg3)); _local14 = (_arg2 + (_local12 * _arg4)); this.graphics.lineTo(_local13, _local14); _local9++; }; return (1); } override public function resize(_arg1:ScreenCoordsBase):void{ this.graphics.clear(); var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.bg(_local2.width, _local2.height, _local2.upside_down); this.glass(_local2.width, _local2.height, _local2.upside_down); } private function bg(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local4:Number = (_arg1 / 3); if (_local4 > (_arg1 / 2)){ _local4 = (_arg1 / 2); }; this.graphics.lineStyle(0, 0, 0); var _local5:Array = GetColours(this.colour); var _local6:Array = [1, 1]; var _local7:Array = [0, 0xFF]; var _local8:Matrix = new Matrix(); _local8.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); if (_arg2 > 0){ if (_arg2 >= _arg1){ _local11 = (_arg1 / 2); _local12 = (_arg2 - (_arg1 / 2)); _local9 = (_arg1 / 2); _local10 = _local9; halfEllipse(_local11, _local12, _local9, _local10, 100, false); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); this.graphics.moveTo(0, (_arg1 / 2)); this.graphics.lineTo(0, (_arg2 - (_arg1 / 2))); this.graphics.lineTo(_arg1, (_arg2 - (_arg1 / 2))); this.graphics.lineTo(_arg1, (_arg1 / 2)); _local11 = (_arg1 / 2); _local12 = (_arg1 / 2); _local9 = (_arg1 / 2); _local10 = _local9; halfEllipse(_local11, _local12, _local9, _local10, 100, true); } else { _local11 = (_arg1 / 2); _local12 = (_arg2 / 2); _local9 = (_arg1 / 2); _local10 = (_arg2 / 2); halfEllipse(_local11, _local12, _local9, _local10, 100, false); _local11 = (_arg1 / 2); _local12 = (_arg2 / 2); _local9 = (_arg1 / 2); _local10 = (_arg2 / 2); halfEllipse(_local11, _local12, _local9, _local10, 100, true); }; } else { _local11 = (_arg1 / 2); _local12 = _arg2; _local9 = (_arg1 / 2); _local10 = (_local4 / 4); Ellipse(_local11, _local12, _local9, _local10, 100); }; this.graphics.endFill(); } private function glass(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; this.graphics.lineStyle(0, 0, 0); var _local4:Array = GetColours(this.colour); var _local5:Array = [1, 1]; var _local6:Array = [0, 0xFF]; var _local7:Matrix = new Matrix(); _local7.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); var _local8:Array = [0xFFFFFF, 0xFFFFFF]; var _local9:Array = [0, 0.75]; var _local10:Array = [100, 0xFF]; var _local15:Matrix = new Matrix(); _local15.createGradientBox(width, height, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); var _local16:Number = (_arg1 / 3); if (_arg2 > 0){ if (_arg2 >= _arg1){ this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = (_arg2 - (_arg1 / 2)); _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_local11 + (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, false); this.graphics.moveTo((0 + (0.05 * _arg1)), (_arg1 / 2)); this.graphics.lineTo((0 + (0.05 * _arg1)), (_arg2 - (_arg1 / 2))); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), (_arg2 - (_arg1 / 2))); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), (_arg1 / 2)); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = (_arg1 / 2); _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_local11 + (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, true); } else { this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = (_arg2 / 2); _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = ((_arg2 / 2) - (3 * (0.05 * _arg1))); Ellipse(_local13, _local14, _local11, _local12, 100); }; } else { _local13 = (_arg1 / 2); _local14 = _arg2; _local11 = ((_arg1 / 2) - (0.05 * _arg1)); _local12 = ((_local16 / 4) - (0.05 * _arg1)); Ellipse(_local13, _local14, _local11, _local12, 100); }; this.graphics.endFill(); } public static function magicTrigFunctionY(_arg1:Number):Number{ return (Math.sin(((_arg1 * 2) * Math.PI))); } public static function GetColours(_arg1:Number):Array{ var _local2:Number = _arg1; var _local3:Number = ((_local2 & 0xFF0000) >> 16); var _local4:Number = ((_local2 & 0xFF00) >> 8); var _local5:Number = (_local2 & 0xFF); var _local6:Number = 2; var _local7:Number = _arg1; var _local8:Number = _arg1; var _local9:Number = ((_local2 & 0xFF0000) >> 16); var _local10:Number = ((_local2 & 0xFF00) >> 8); var _local11:Number = (_local2 & 0xFF); var _local12:Number = ((_local2 & 0xFF0000) >> 16); var _local13:Number = ((_local2 & 0xFF00) >> 8); var _local14:Number = (_local2 & 0xFF); if (((((((_local3 + (_local3 / _local6)) > 0xFF)) || (((_local4 + (_local4 / _local6)) > 0xFF)))) || (((_local5 + (_local5 / _local6)) > 0xFF)))){ _local9 = (_local3 - (_local3 / _local6)); _local10 = (_local4 - (_local4 / _local6)); _local11 = (_local5 - (_local5 / _local6)); }; _local12 = (_local9 + (_local3 / _local6)); _local14 = (_local11 + (_local5 / _local6)); _local13 = (_local10 + (_local4 / _local6)); _local7 = (((_local9 << 16) | (_local10 << 8)) | _local11); _local8 = (((_local12 << 16) | (_local13 << 8)) | _local14); return ([_local8, _local7]); } public static function magicTrigFunctionX(_arg1:Number):Number{ return (Math.cos(((_arg1 * 2) * Math.PI))); } } }//package charts.series.bars
Section 24
//Round3D (charts.series.bars.Round3D) package charts.series.bars { import flash.geom.*; import flash.filters.*; public class Round3D extends Base { public function Round3D(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); var _local4:DropShadowFilter = new DropShadowFilter(); _local4.blurX = 5; _local4.blurY = 5; _local4.distance = 3; _local4.angle = 45; _local4.quality = 2; _local4.alpha = 0.4; this.filters = [_local4]; } public function Ellipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local6:Number = 0; while (_local6 <= _arg5) { _local7 = (_local6 / _arg5); _local8 = magicTrigFunctionX(_local7); _local9 = magicTrigFunctionY(_local7); _local10 = (_arg1 + (_local8 * _arg3)); _local11 = (_arg2 + (_local9 * _arg4)); this.graphics.lineTo(_local10, _local11); _local6++; }; return (1); } public function halfEllipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Boolean):Number{ var _local7:Number; var _local8:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; if (_arg6 == true){ _local7 = (_arg5 / 2); _local8 = _arg5; } else { _local7 = 0; _local8 = (_arg5 / 2); }; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local9:Number = _local7; while (_local9 <= _local8) { _local10 = (_local9 / _arg5); _local11 = magicTrigFunctionX(_local10); _local12 = magicTrigFunctionY(_local10); _local13 = (_arg1 + (_local11 * _arg3)); _local14 = (_arg2 + (_local12 * _arg4)); this.graphics.lineTo(_local13, _local14); _local9++; }; return (1); } override public function resize(_arg1:ScreenCoordsBase):void{ this.graphics.clear(); var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.bg(_local2.width, _local2.height, _local2.upside_down); this.glass(_local2.width, _local2.height, _local2.upside_down); } private function bg(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local4:Number = (_arg1 / 3); if (_local4 > (_arg1 / 2)){ _local4 = (_arg1 / 2); }; this.graphics.lineStyle(0, 0, 0); var _local5:Array = GetColours(this.colour); var _local6:Array = [1, 1]; var _local7:Array = [0, 0xFF]; var _local8:Matrix = new Matrix(); _local8.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); if (((!(_arg3)) && ((_arg2 > 0)))){ if (_arg2 >= (_arg1 / 2)){ _local11 = (_arg1 / 2); _local12 = _arg2; _local9 = (_arg1 / 2); _local10 = (_local4 / 2); halfEllipse(_local11, _local12, _local9, _local10, 100, false); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); this.graphics.moveTo(0, (_arg1 / 2)); this.graphics.lineTo(0, _arg2); this.graphics.lineTo(_arg1, _arg2); this.graphics.lineTo(_arg1, (_arg1 / 2)); _local11 = (_arg1 / 2); _local12 = (_arg1 / 2); _local9 = (_arg1 / 2); _local10 = _local9; halfEllipse(_local11, _local12, _local9, _local10, 100, true); } else { _local11 = (_arg1 / 2); _local12 = _arg2; _local9 = (_arg1 / 2); _local10 = (_local4 / 2); halfEllipse(_local11, _local12, _local9, _local10, 100, false); _local11 = (_arg1 / 2); _local12 = _arg2; _local9 = (_arg1 / 2); _local10 = _arg2; halfEllipse(_local11, _local12, _local9, _local10, 100, true); }; } else { if (_arg2 >= (_arg1 / 2)){ _local11 = (_arg1 / 2); _local12 = 0; _local9 = (_arg1 / 2); _local10 = (_local4 / 2); halfEllipse(_local11, _local12, _local9, _local10, 100, true); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); this.graphics.moveTo(0, 0); this.graphics.lineTo(0, (_arg2 - (_arg1 / 2))); this.graphics.lineTo(_arg1, (_arg2 - (_arg1 / 2))); this.graphics.lineTo(_arg1, 0); _local11 = (_arg1 / 2); _local12 = (_arg2 - (_arg1 / 2)); _local9 = (_arg1 / 2); _local10 = _local9; halfEllipse(_local11, _local12, _local9, _local10, 100, false); } else { if (_arg2 > 0){ _local11 = (_arg1 / 2); _local12 = 0; _local9 = (_arg1 / 2); _local10 = (_local4 / 2); halfEllipse(_local11, _local12, _local9, _local10, 100, true); _local11 = (_arg1 / 2); _local12 = 0; _local9 = (_arg1 / 2); _local10 = _arg2; halfEllipse(_local11, _local12, _local9, _local10, 100, false); } else { _local11 = (_arg1 / 2); _local12 = _arg2; _local9 = (_arg1 / 2); _local10 = (_local4 / 4); Ellipse(_local11, _local12, _local9, _local10, 100); }; }; }; this.graphics.endFill(); } private function glass(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; this.graphics.lineStyle(0, 0, 0); var _local4:Array = GetColours(this.colour); var _local5:Array = [1, 1]; var _local6:Array = [0, 0xFF]; var _local7:Matrix = new Matrix(); _local7.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); var _local8:Array = [0xFFFFFF, 0xFFFFFF]; var _local9:Array = [0, 0.75]; var _local10:Array = [100, 0xFF]; var _local15:Matrix = new Matrix(); _local15.createGradientBox(width, height, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); var _local16:Number = (_arg1 / 3); if (((!(_arg3)) && ((_arg2 > 0)))){ if (_arg2 >= (_arg1 / 2)){ _local13 = (_arg1 / 2); _local14 = _arg2; _local11 = ((_arg1 / 2) - (0.05 * _arg1)); _local12 = ((_local16 / 2) - (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, false); this.graphics.moveTo((0 + (0.05 * _arg1)), (_arg1 / 2)); this.graphics.lineTo((0 + (0.05 * _arg1)), _arg2); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), _arg2); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), (_arg1 / 2)); this.graphics.beginGradientFill("linear", _local4, _local5, _local6, _local7, "pad"); _local13 = (_arg1 / 2); _local14 = (_arg1 / 2); _local11 = (_arg1 / 2); _local12 = _local11; halfEllipse(_local13, _local14, _local11, _local12, 100, true); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = (_arg1 / 2); _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_local11 + (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, true); } else { _local13 = (_arg1 / 2); _local14 = _arg2; _local11 = ((_arg1 / 2) - (0.05 * _arg1)); _local12 = ((_local16 / 2) - (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, false); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = _arg2; _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_arg2 - (2.5 * (0.05 * _arg1))); halfEllipse(_local13, _local14, _local11, _local12, 100, true); }; } else { if (_arg2 >= (_arg1 / 2)){ this.graphics.moveTo((0 + (0.05 * _arg1)), 0); this.graphics.lineTo((0 + (0.05 * _arg1)), (_arg2 - (_arg1 / 2))); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), (_arg2 - (_arg1 / 2))); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), 0); this.graphics.beginGradientFill("linear", _local4, _local5, _local6, _local7, "pad"); _local13 = (_arg1 / 2); _local14 = (_arg2 - (_arg1 / 2)); _local11 = (_arg1 / 2); _local12 = _local11; halfEllipse(_local13, _local14, _local11, _local12, 100, false); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = (_arg2 - (_arg1 / 2)); _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_local11 + (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, false); this.graphics.beginGradientFill("linear", _local4, _local5, _local6, _local7, "pad"); _local13 = (_arg1 / 2); _local14 = 0; _local11 = (_arg1 / 2); _local12 = (_local16 / 2); Ellipse(_local13, _local14, _local11, _local12, 100); this.graphics.beginGradientFill("linear", _local8, [0.1, 0.7], [0, 0xFF], _local15, "pad"); _local13 = (_arg1 / 2); _local14 = 0; _local11 = ((_arg1 / 2) - (0.05 * _arg1)); _local12 = ((_local16 / 2) - (0.05 * _arg1)); Ellipse(_local13, _local14, _local11, _local12, 100); } else { if (_arg2 > 0){ this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = 0; _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_arg2 - (2.5 * (0.05 * _arg1))); halfEllipse(_local13, _local14, _local11, _local12, 100, false); this.graphics.beginGradientFill("linear", _local4, _local5, _local6, _local7, "pad"); _local13 = (_arg1 / 2); _local14 = 0; _local11 = (_arg1 / 2); _local12 = (_local16 / 2); Ellipse(_local13, _local14, _local11, _local12, 100); this.graphics.beginGradientFill("linear", _local8, [0.1, 0.67], [0, 0xFF], _local15, "pad"); _local13 = (_arg1 / 2); _local14 = 0; _local11 = ((_arg1 / 2) - (0.05 * _arg1)); _local12 = ((_local16 / 2) - (0.05 * _arg1)); Ellipse(_local13, _local14, _local11, _local12, 100); } else { this.graphics.beginGradientFill("linear", _local4, _local5, _local6, _local7, "pad"); _local13 = (_arg1 / 2); _local14 = 0; _local11 = (_arg1 / 2); _local12 = (_local16 / 2); Ellipse(_local13, _local14, _local11, _local12, 100); this.graphics.beginGradientFill("linear", _local8, [0.1, 0.7], [0, 0xFF], _local15, "pad"); _local13 = (_arg1 / 2); _local14 = 0; _local11 = ((_arg1 / 2) - (0.05 * _arg1)); _local12 = ((_local16 / 2) - (0.05 * _arg1)); Ellipse(_local13, _local14, _local11, _local12, 100); }; }; }; this.graphics.endFill(); } public static function magicTrigFunctionY(_arg1:Number):Number{ return (Math.sin(((_arg1 * 2) * Math.PI))); } public static function GetColours(_arg1:Number):Array{ var _local2:Number = _arg1; var _local3:Number = ((_local2 & 0xFF0000) >> 16); var _local4:Number = ((_local2 & 0xFF00) >> 8); var _local5:Number = (_local2 & 0xFF); var _local6:Number = 2; var _local7:Number = _arg1; var _local8:Number = _arg1; var _local9:Number = ((_local2 & 0xFF0000) >> 16); var _local10:Number = ((_local2 & 0xFF00) >> 8); var _local11:Number = (_local2 & 0xFF); var _local12:Number = ((_local2 & 0xFF0000) >> 16); var _local13:Number = ((_local2 & 0xFF00) >> 8); var _local14:Number = (_local2 & 0xFF); if (((((((_local3 + (_local3 / _local6)) > 0xFF)) || (((_local4 + (_local4 / _local6)) > 0xFF)))) || (((_local5 + (_local5 / _local6)) > 0xFF)))){ _local9 = (_local3 - (_local3 / _local6)); _local10 = (_local4 - (_local4 / _local6)); _local11 = (_local5 - (_local5 / _local6)); }; _local12 = (_local9 + (_local3 / _local6)); _local14 = (_local11 + (_local5 / _local6)); _local13 = (_local10 + (_local4 / _local6)); _local7 = (((_local9 << 16) | (_local10 << 8)) | _local11); _local8 = (((_local12 << 16) | (_local13 << 8)) | _local14); return ([_local8, _local7]); } public static function magicTrigFunctionX(_arg1:Number):Number{ return (Math.cos(((_arg1 * 2) * Math.PI))); } } }//package charts.series.bars
Section 25
//RoundGlass (charts.series.bars.RoundGlass) package charts.series.bars { import flash.geom.*; import flash.filters.*; public class RoundGlass extends Base { public function RoundGlass(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); var _local4:DropShadowFilter = new DropShadowFilter(); _local4.blurX = 5; _local4.blurY = 5; _local4.distance = 3; _local4.angle = 45; _local4.quality = 2; _local4.alpha = 0.4; this.filters = [_local4]; } public function Ellipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local6:Number = 0; while (_local6 <= _arg5) { _local7 = (_local6 / _arg5); _local8 = magicTrigFunctionX(_local7); _local9 = magicTrigFunctionY(_local7); _local10 = (_arg1 + (_local8 * _arg3)); _local11 = (_arg2 + (_local9 * _arg4)); this.graphics.lineTo(_local10, _local11); _local6++; }; return (1); } public function halfEllipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Boolean):Number{ var _local7:Number; var _local8:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; if (_arg6 == true){ _local7 = (_arg5 / 2); _local8 = _arg5; } else { _local7 = 0; _local8 = (_arg5 / 2); }; this.graphics.moveTo((_arg1 + _arg3), _arg2); var _local9:Number = _local7; while (_local9 <= _local8) { _local10 = (_local9 / _arg5); _local11 = magicTrigFunctionX(_local10); _local12 = magicTrigFunctionY(_local10); _local13 = (_arg1 + (_local11 * _arg3)); _local14 = (_arg2 + (_local12 * _arg4)); this.graphics.lineTo(_local13, _local14); _local9++; }; return (1); } override public function resize(_arg1:ScreenCoordsBase):void{ this.graphics.clear(); var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.bg(_local2.width, _local2.height, _local2.upside_down); this.glass(_local2.width, _local2.height, _local2.upside_down); } private function bg(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local4:Number = (_arg1 / 3); if (_local4 > (_arg1 / 2)){ _local4 = (_arg1 / 2); }; this.graphics.lineStyle(0, 0, 0); var _local5:Array = GetColours(this.colour); var _local6:Array = [1, 1]; var _local7:Array = [0, 0xFF]; var _local8:Matrix = new Matrix(); _local8.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); if (((!(_arg3)) && ((_arg2 > 0)))){ if (_arg2 >= (_arg1 / 2)){ this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); this.graphics.moveTo(0, (_arg1 / 2)); this.graphics.lineTo(0, _arg2); this.graphics.lineTo(_arg1, _arg2); this.graphics.lineTo(_arg1, (_arg1 / 2)); _local11 = (_arg1 / 2); _local12 = (_arg1 / 2); _local9 = (_arg1 / 2); _local10 = _local9; halfEllipse(_local11, _local12, _local9, _local10, 100, true); } else { _local11 = (_arg1 / 2); _local12 = _arg2; _local9 = (_arg1 / 2); _local10 = _arg2; halfEllipse(_local11, _local12, _local9, _local10, 100, true); }; } else { if (_arg2 >= (_arg1 / 2)){ this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); this.graphics.moveTo(0, 0); this.graphics.lineTo(0, (_arg2 - (_arg1 / 2))); this.graphics.lineTo(_arg1, (_arg2 - (_arg1 / 2))); this.graphics.lineTo(_arg1, 0); _local11 = (_arg1 / 2); _local12 = (_arg2 - (_arg1 / 2)); _local9 = (_arg1 / 2); _local10 = _local9; halfEllipse(_local11, _local12, _local9, _local10, 100, false); } else { if (_arg2 > 0){ _local11 = (_arg1 / 2); _local12 = 0; _local9 = (_arg1 / 2); _local10 = _arg2; halfEllipse(_local11, _local12, _local9, _local10, 100, false); } else { this.graphics.beginGradientFill("linear", _local5, _local6, _local7, _local8, "pad"); this.graphics.moveTo(0, (-0.05 * _arg1)); this.graphics.lineTo(0, (_arg2 + (0.05 * _arg1))); this.graphics.lineTo(_arg1, (_arg2 + (0.05 * _arg1))); this.graphics.lineTo(_arg1, (-0.05 * _arg1)); }; }; }; this.graphics.endFill(); } private function glass(_arg1:Number, _arg2:Number, _arg3:Boolean):void{ var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; this.graphics.lineStyle(0, 0, 0); var _local4:Array = GetColours(this.colour); var _local5:Array = [1, 1]; var _local6:Array = [0, 0xFF]; var _local7:Matrix = new Matrix(); _local7.createGradientBox(_arg1, _arg2, ((180 / 180) * Math.PI)); var _local8:Array = [0xFFFFFF, 0xFFFFFF]; var _local9:Array = [0, 0.75]; var _local10:Array = [100, 0xFF]; var _local15:Matrix = new Matrix(); _local15.createGradientBox(width, height, ((180 / 180) * Math.PI)); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); var _local16:Number = (_arg1 / 3); if (((!(_arg3)) && ((_arg2 > 0)))){ if (_arg2 >= (_arg1 / 2)){ this.graphics.moveTo((0 + (0.05 * _arg1)), (_arg1 / 2)); this.graphics.lineTo((0 + (0.05 * _arg1)), (_arg2 - (0.05 * _arg1))); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), (_arg2 - (0.05 * _arg1))); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), (_arg1 / 2)); this.graphics.beginGradientFill("linear", _local4, _local5, _local6, _local7, "pad"); _local13 = (_arg1 / 2); _local14 = (_arg1 / 2); _local11 = (_arg1 / 2); _local12 = _local11; halfEllipse(_local13, _local14, _local11, _local12, 100, true); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = (_arg1 / 2); _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_local11 + (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, true); } else { this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = (_arg2 - (0.05 * _arg1)); _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_arg2 - (2.5 * (0.05 * _arg1))); halfEllipse(_local13, _local14, _local11, _local12, 100, true); }; } else { if (_arg2 >= (_arg1 / 2)){ this.graphics.moveTo((0 + (0.05 * _arg1)), (0 + (0.05 * _arg1))); this.graphics.lineTo((0 + (0.05 * _arg1)), (_arg2 - (_arg1 / 2))); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), (_arg2 - (_arg1 / 2))); this.graphics.lineTo((_arg1 - (0.05 * _arg1)), (0 + (0.05 * _arg1))); this.graphics.beginGradientFill("linear", _local4, _local5, _local6, _local7, "pad"); _local13 = (_arg1 / 2); _local14 = (_arg2 - (_arg1 / 2)); _local11 = (_arg1 / 2); _local12 = _local11; halfEllipse(_local13, _local14, _local11, _local12, 100, false); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = (_arg2 - (_arg1 / 2)); _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_local11 + (0.05 * _arg1)); halfEllipse(_local13, _local14, _local11, _local12, 100, false); } else { if (_arg2 > 0){ this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local15, "pad"); _local13 = (_arg1 / 3); _local14 = (0 + (0.05 * _arg1)); _local11 = ((_arg1 / 3) - (0.05 * _arg1)); _local12 = (_arg2 - (2.5 * (0.05 * _arg1))); halfEllipse(_local13, _local14, _local11, _local12, 100, false); } else { this.graphics.moveTo((0 + (0.025 * _arg1)), (-0.025 * _arg1)); this.graphics.lineTo((0 + (0.025 * _arg1)), (_arg2 + (0.025 * _arg1))); this.graphics.lineTo(_arg1, (_arg2 + (0.025 * _arg1))); this.graphics.lineTo(_arg1, (-0.025 * _arg1)); }; }; }; this.graphics.endFill(); } public static function magicTrigFunctionY(_arg1:Number):Number{ return (Math.sin(((_arg1 * 2) * Math.PI))); } public static function GetColours(_arg1:Number):Array{ var _local2:Number = _arg1; var _local3:Number = ((_local2 & 0xFF0000) >> 16); var _local4:Number = ((_local2 & 0xFF00) >> 8); var _local5:Number = (_local2 & 0xFF); var _local6:Number = 2; var _local7:Number = _arg1; var _local8:Number = _arg1; var _local9:Number = ((_local2 & 0xFF0000) >> 16); var _local10:Number = ((_local2 & 0xFF00) >> 8); var _local11:Number = (_local2 & 0xFF); var _local12:Number = ((_local2 & 0xFF0000) >> 16); var _local13:Number = ((_local2 & 0xFF00) >> 8); var _local14:Number = (_local2 & 0xFF); if (((((((_local3 + (_local3 / _local6)) > 0xFF)) || (((_local4 + (_local4 / _local6)) > 0xFF)))) || (((_local5 + (_local5 / _local6)) > 0xFF)))){ _local9 = (_local3 - (_local3 / _local6)); _local10 = (_local4 - (_local4 / _local6)); _local11 = (_local5 - (_local5 / _local6)); }; _local12 = (_local9 + (_local3 / _local6)); _local14 = (_local11 + (_local5 / _local6)); _local13 = (_local10 + (_local4 / _local6)); _local7 = (((_local9 << 16) | (_local10 << 8)) | _local11); _local8 = (((_local12 << 16) | (_local13 << 8)) | _local14); return ([_local8, _local7]); } public static function magicTrigFunctionX(_arg1:Number):Number{ return (Math.cos(((_arg1 * 2) * Math.PI))); } } }//package charts.series.bars
Section 26
//Sketch (charts.series.bars.Sketch) package charts.series.bars { public class Sketch extends Base { private var outline:Number; private var offset:Number; public function Sketch(_arg1:Number, _arg2:Properties, _arg3:Number){ super(_arg1, _arg2, _arg3); this.outline = _arg2.get_colour("outline-colour"); this.offset = _arg2.get("offset"); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); var _local3:Number = this.offset; var _local4:Number = (_local3 / 2); var _local5:Number = 6; var _local6:Number = (_local2.width / _local5); this.graphics.clear(); this.graphics.lineStyle((_local6 + 1), this.colour, 0.85, true, "none", "round", "miter", 0.8); var _local7:Number = 0; while (_local7 < _local5) { this.graphics.moveTo((((_local6 * _local7) + (_local6 / 2)) + ((Math.random() * _local3) - _local4)), (2 + ((Math.random() * _local3) - _local4))); this.graphics.lineTo((((_local6 * _local7) + (_local6 / 2)) + ((Math.random() * _local3) - _local4)), ((_local2.height - 2) + ((Math.random() * _local3) - _local4))); _local7++; }; this.graphics.lineStyle(2, this.outline, 1); this.graphics.moveTo(((Math.random() * _local3) - _local4), ((Math.random() * _local3) - _local4)); this.graphics.lineTo(((Math.random() * _local3) - _local4), ((_local2.height + (Math.random() * _local3)) - _local4)); this.graphics.moveTo(((Math.random() * _local3) - _local4), ((Math.random() * _local3) - _local4)); this.graphics.lineTo((_local2.width + ((Math.random() * _local3) - _local4)), ((Math.random() * _local3) - _local4)); this.graphics.moveTo((_local2.width + ((Math.random() * _local3) - _local4)), ((Math.random() * _local3) - _local4)); this.graphics.lineTo((_local2.width + ((Math.random() * _local3) - _local4)), (_local2.height + ((Math.random() * _local3) - _local4))); this.graphics.moveTo(((Math.random() * _local3) - _local4), (_local2.height + ((Math.random() * _local3) - _local4))); this.graphics.lineTo((_local2.width + ((Math.random() * _local3) - _local4)), (_local2.height + ((Math.random() * _local3) - _local4))); } } }//package charts.series.bars
Section 27
//Stack (charts.series.bars.Stack) package charts.series.bars { public class Stack extends Base { private var total:Number; public function Stack(_arg1:Number, _arg2:Properties, _arg3:Number){ this.total = _arg2.get("total"); super(_arg1, _arg2, _arg3); } public function replace_x_axis_label(_arg1:String):void{ this.tooltip = this.tooltip.replace("#x_label#", _arg1); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local2:Object = this.resize_helper((_arg1 as ScreenCoords)); this.graphics.clear(); this.graphics.beginFill(this.colour, 1); this.graphics.moveTo(0, 0); this.graphics.lineTo(_local2.width, 0); this.graphics.lineTo(_local2.width, _local2.height); this.graphics.lineTo(0, _local2.height); this.graphics.lineTo(0, 0); this.graphics.endFill(); } override protected function replace_magic_values(_arg1:String):String{ _arg1 = super.replace_magic_values(_arg1); _arg1 = _arg1.replace("#total#", NumberUtils.formatNumber(this.total)); return (_arg1); } } }//package charts.series.bars
Section 28
//StackCollection (charts.series.bars.StackCollection) package charts.series.bars { import flash.geom.*; import elements.axis.*; import charts.series.*; import string.*; public class StackCollection extends Element { public var colours:Array; private var total:Number; protected var tip_pos:Point; private var vals:Array; protected var group:Number; public function StackCollection(_arg1:Number, _arg2:Properties, _arg3:Number){ var _local4:Object; var _local5:String; var _local6:String; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Properties; var _local13:Properties; var _local14:Stack; super(); this.tooltip = _arg2.get("tip"); this.index = _arg1; this.vals = (_arg2.get("values") as Array); this.total = 0; for each (_local4 in this.vals) { if (_local4 != null){ if ((_local4 is Number)){ this.total = (this.total + _local4); } else { this.total = (this.total + _local4.val); }; }; }; this.colours = new Array(); for each (_local5 in _arg2.get("colours")) { this.colours.push(Utils.get_colour(_local5)); }; this.group = _arg3; this.visible = true; _local8 = 0; _local9 = 0; _local11 = 0; for each (_local4 in this.vals) { if (_local4 != null){ _local10 = this.colours[(_local11 % this.colours.length)]; _local12 = new Properties({bottom:_local8, colour:_local10, total:this.total}, _arg2); if ((_local4 is Number)){ _local4 = {val:_local4}; }; if (_local4 == null){ _local4 = {val:null}; }; _local9 = (_local9 + _local4.val); _local4.top = _local9; _local13 = new Properties(_local4, _local12); _local14 = new Stack(_arg1, _local13, _arg3); this.addChild(_local14); _local8 = _local9; _local11++; }; }; } override public function tooltip_replace_labels(_arg1:XAxisLabels):void{ var _local3:Stack; var _local2:Number = 0; while (_local2 < this.numChildren) { _local3 = (this.getChildAt(_local2) as Stack); _local3.replace_x_axis_label(_arg1.get(this.index)); _local2++; }; } public function get_children():Array{ var _local1:Array = []; var _local2:Number = 0; while (_local2 < this.numChildren) { _local1.push(this.getChildAt(_local2)); _local2++; }; return (_local1); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local3:Element; var _local2:Number = 0; while (_local2 < this.numChildren) { _local3 = (this.getChildAt(_local2) as Element); _local3.resize(_arg1); _local2++; }; } override public function get_tip_pos():Object{ var _local1:Element = (this.getChildAt((this.numChildren - 1)) as Element); return (_local1.get_tip_pos()); } override public function get_mid_point():Point{ var _local1:Element = (this.getChildAt(0) as Element); return (_local1.get_mid_point()); } override public function get_tooltip():String{ var _local2:Element; var _local1:Number = 0; while (_local1 < this.numChildren) { _local2 = (this.getChildAt(_local1) as Element); if (_local2.is_tip){ return (_local2.get_tooltip()); }; _local1++; }; return (this.tooltip); } } }//package charts.series.bars
Section 29
//anchor (charts.series.dots.anchor) package charts.series.dots { import flash.display.*; import caurina.transitions.*; import string.*; public class anchor extends PointDotBase { public function anchor(_arg1:Number, _arg2:Properties){ var _local4:Number; var _local5:Number; var _local6:Sprite; var _local3:Number = Utils.get_colour(_arg2.get("colour")); super(_arg1, _arg2); this.tooltip = this.replace_magic_values(_arg2.get("tip")); this.attach_events(); if (_arg2.get("hollow")){ if (_arg2.has("background-colour")){ _local4 = Utils.get_colour(_arg2.get("background-colour")); } else { _local4 = _local3; }; this.graphics.beginFill(_local4, _arg2.get("background-alpha")); } else { this.graphics.beginFill(_local3, _arg2.get("alpha")); }; this.graphics.lineStyle(_arg2.get("width"), _local3, _arg2.get("alpha")); this.drawAnchor(this.graphics, this.radius, _arg2.get("sides"), rotation); if (_arg2.get("halo-size") > 0){ _local5 = (_arg2.get("halo-size") + this.radius); _local6 = new Sprite(); _local6.graphics.lineStyle(0, 0, 0); _local6.graphics.beginFill(0, 1); this.drawAnchor(_local6.graphics, _local5, _arg2.get("sides"), rotation); _local6.blendMode = BlendMode.ERASE; _local6.graphics.endFill(); this.line_mask = _local6; }; } private function drawAnchor(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local7:Number; var _local8:Number; var _local9:Number; if (_arg3 < 3){ _arg3 = 3; }; if (_arg3 > 360){ _arg3 = 360; }; var _local5:Number = (360 / _arg3); var _local6:int; while (_local6 <= _arg3) { _local7 = ((-90 + _arg4) + ((_local6 % _arg3) * _local5)); _local8 = calcXOnCircle(_arg2, _local7); _local9 = calcYOnCircle(_arg2, _local7); if (_local6 == 0){ _arg1.moveTo(_local8, _local9); } else { _arg1.lineTo(_local8, _local9); }; _local6++; }; } override public function set_tip(_arg1:Boolean):void{ if (_arg1){ if (!this.is_tip){ Tweener.addTween(this, {scaleX:1.3, time:0.4, transition:"easeoutbounce"}); Tweener.addTween(this, {scaleY:1.3, time:0.4, transition:"easeoutbounce"}); if (this.line_mask != null){ Tweener.addTween(this.line_mask, {scaleX:1.3, time:0.4, transition:"easeoutbounce"}); Tweener.addTween(this.line_mask, {scaleY:1.3, time:0.4, transition:"easeoutbounce"}); }; }; this.is_tip = true; } else { Tweener.removeTweens(this); Tweener.removeTweens(this.line_mask); this.scaleX = 1; this.scaleY = 1; if (this.line_mask != null){ this.line_mask.scaleX = 1; this.line_mask.scaleY = 1; }; this.is_tip = false; }; } } }//package charts.series.dots
Section 30
//bow (charts.series.dots.bow) package charts.series.dots { import flash.display.*; import caurina.transitions.*; import string.*; public class bow extends PointDotBase { public function bow(_arg1:Number, _arg2:Properties){ var _local4:Number; var _local5:Sprite; var _local3:Number = Utils.get_colour(_arg2.get("colour")); super(_arg1, _arg2); this.tooltip = this.replace_magic_values(_arg2.get("tip")); this.attach_events(); if (_arg2.get("hollow")){ if (_arg2.get("background-colour") != null){ _local4 = Utils.get_colour(_arg2.get("background-colour")); } else { _local4 = _local3; }; this.graphics.beginFill(_local4, _arg2.get("background-alpha")); } else { this.graphics.beginFill(_local3, _arg2.get("alpha")); }; this.graphics.lineStyle(_arg2.get("width"), _local3, _arg2.get("alpha")); this.draw(this.graphics, this.radius, _arg2.get("rotation")); if (_arg2.get("halo-size") > 0){ _local5 = new Sprite(); _local5.graphics.lineStyle(0, 0, 0); _local5.graphics.beginFill(0, 1); this.draw(_local5.graphics, (_arg2.get("halo-size") + this.radius), _arg2.get("rotation")); _local5.blendMode = BlendMode.ERASE; _local5.graphics.endFill(); this.line_mask = _local5; }; } private function draw(_arg1:Graphics, _arg2:Number, _arg3:Number):void{ var _local4:Number = 60; _arg1.moveTo(0, 0); var _local5:Number = ((-90 + _arg3) + _local4); var _local6:Number = calcXOnCircle(_arg2, _local5); var _local7:Number = calcYOnCircle(_arg2, _local5); _arg1.lineTo(_local6, _local7); _local5 = (_local5 + _local4); _local6 = calcXOnCircle(_arg2, _local5); _local7 = calcYOnCircle(_arg2, _local5); _arg1.lineTo(_local6, _local7); _arg1.lineTo(_local6, _local7); _local5 = ((-90 + _arg3) - _local4); _local6 = calcXOnCircle(_arg2, _local5); _local7 = calcYOnCircle(_arg2, _local5); _arg1.lineTo(_local6, _local7); _local5 = (_local5 - _local4); _local6 = calcXOnCircle(_arg2, _local5); _local7 = calcYOnCircle(_arg2, _local5); _arg1.lineTo(_local6, _local7); _arg1.lineTo(_local6, _local7); } override public function set_tip(_arg1:Boolean):void{ if (_arg1){ if (!this.is_tip){ Tweener.addTween(this, {scaleX:1.3, time:0.4, transition:"easeoutbounce"}); Tweener.addTween(this, {scaleY:1.3, time:0.4, transition:"easeoutbounce"}); if (this.line_mask != null){ Tweener.addTween(this.line_mask, {scaleX:1.3, time:0.4, transition:"easeoutbounce"}); Tweener.addTween(this.line_mask, {scaleY:1.3, time:0.4, transition:"easeoutbounce"}); }; }; this.is_tip = true; } else { Tweener.removeTweens(this); Tweener.removeTweens(this.line_mask); this.scaleX = 1; this.scaleY = 1; if (this.line_mask != null){ this.line_mask.scaleX = 1; this.line_mask.scaleY = 1; }; this.is_tip = false; }; } } }//package charts.series.dots
Section 31
//DefaultDotProperties (charts.series.dots.DefaultDotProperties) package charts.series.dots { public class DefaultDotProperties extends Properties { public function DefaultDotProperties(_arg1:Object, _arg2:String, _arg3:String){ var _local4:Properties = new Properties({axis:_arg3, type:"dot", dot-size:5, halo-size:2, colour:_arg2, tip:"#val#", alpha:1, rotation:0, sides:3, width:1}); super(_arg1, _local4); tr.aces("4", this.get("axis")); } } }//package charts.series.dots
Section 32
//dot_factory (charts.series.dots.dot_factory) package charts.series.dots { public class dot_factory { public static function make(_arg1:Number, _arg2:Properties):PointDotBase{ switch (_arg2.get("type")){ case "star": return (new star(_arg1, _arg2)); case "bow": return (new bow(_arg1, _arg2)); case "anchor": return (new anchor(_arg1, _arg2)); case "dot": return (new Point(_arg1, _arg2)); case "solid-dot": return (new PointDot(_arg1, _arg2)); case "hollow-dot": return (new Hollow(_arg1, _arg2)); default: return (new Point(_arg1, _arg2)); }; } } }//package charts.series.dots
Section 33
//Hollow (charts.series.dots.Hollow) package charts.series.dots { import flash.display.*; import string.*; public class Hollow extends PointDotBase { public function Hollow(_arg1:Number, _arg2:Properties){ super(_arg1, _arg2); var _local3:Number = Utils.get_colour(_arg2.get("colour")); this.graphics.clear(); this.graphics.lineStyle(0, 0, 0); this.graphics.beginFill(_local3, 1); this.graphics.drawCircle(0, 0, _arg2.get("dot-size")); this.graphics.drawCircle(0, 0, (_arg2.get("dot-size") - _arg2.get("width"))); this.graphics.endFill(); this.graphics.lineStyle(0, 0, 0); this.graphics.beginFill(0, 0); this.graphics.drawCircle(0, 0, _arg2.get("dot-size")); this.graphics.endFill(); var _local4:Sprite = new Sprite(); _local4.graphics.lineStyle(0, 0, 0); _local4.graphics.beginFill(0, 1); _local4.graphics.drawCircle(0, 0, (_arg2.get("dot-size") + _arg2.get("halo-size"))); _local4.blendMode = BlendMode.ERASE; this.line_mask = _local4; this.attach_events(); } } }//package charts.series.dots
Section 34
//Point (charts.series.dots.Point) package charts.series.dots { import flash.display.*; import string.*; public class Point extends PointDotBase { public function Point(_arg1:Number, _arg2:Properties){ super(_arg1, _arg2); var _local3:Number = Utils.get_colour(_arg2.get("colour")); this.graphics.lineStyle(0, 0, 0); this.graphics.beginFill(_local3, 1); this.graphics.drawCircle(0, 0, _arg2.get("dot-size")); this.visible = false; this.attach_events(); var _local4:Sprite = new Sprite(); _local4.graphics.lineStyle(0, 0, 0); _local4.graphics.beginFill(0, 1); _local4.graphics.drawCircle(0, 0, (_arg2.get("dot-size") + _arg2.get("halo-size"))); _local4.blendMode = BlendMode.ERASE; _local4.visible = false; this.line_mask = _local4; } override public function set_tip(_arg1:Boolean):void{ this.visible = _arg1; this.line_mask.visible = _arg1; } } }//package charts.series.dots
Section 35
//PointDot (charts.series.dots.PointDot) package charts.series.dots { import flash.display.*; import string.*; public class PointDot extends PointDotBase { public function PointDot(_arg1:Number, _arg2:Properties){ super(_arg1, _arg2); var _local3:Number = Utils.get_colour(_arg2.get("colour")); this.graphics.lineStyle(0, 0, 0); this.graphics.beginFill(_local3, 1); this.graphics.drawCircle(0, 0, _arg2.get("dot-size")); this.graphics.endFill(); var _local4:Sprite = new Sprite(); _local4.graphics.lineStyle(0, 0, 0); _local4.graphics.beginFill(0, 1); _local4.graphics.drawCircle(0, 0, (_arg2.get("dot-size") + _arg2.get("halo-size"))); _local4.blendMode = BlendMode.ERASE; this.line_mask = _local4; this.attach_events(); } } }//package charts.series.dots
Section 36
//PointDotBase (charts.series.dots.PointDotBase) package charts.series.dots { import flash.geom.*; import charts.series.*; import caurina.transitions.*; import string.*; public class PointDotBase extends Element { protected var colour:Number; protected var radius:Number; protected var on_show:Properties; private var on_show_animate:Boolean; public function PointDotBase(_arg1:Number, _arg2:Properties){ this.is_tip = false; this.visible = true; this.on_show_animate = true; this.on_show = _arg2.get("on-show"); if (!_arg2.has("y")){ _arg2.set("y", _arg2.get("value")); }; this._y = _arg2.get("y"); if (!_arg2.has("x")){ this.index = (this._x = _arg1); } else { this._x = _arg2.get("x"); this.index = Number.MIN_VALUE; }; this.radius = _arg2.get("dot-size"); this.tooltip = this.replace_magic_values(_arg2.get("tip")); if (_arg2.has("on-click")){ this.set_on_click(_arg2.get("on-click")); }; if (_arg2.has("axis")){ if (_arg2.get("axis") == "right"){ this.right_axis = true; }; }; } protected function calcYOnCircle(_arg1:Number, _arg2:Number):Number{ return ((_arg1 * Math.sin(((_arg2 / 180) * Math.PI)))); } override public function set_tip(_arg1:Boolean):void{ if (_arg1){ this.scaleY = (this.scaleX = 1.3); this.line_mask.scaleY = (this.line_mask.scaleX = 1.3); } else { this.scaleY = (this.scaleX = 1); this.line_mask.scaleY = (this.line_mask.scaleX = 1); }; } protected function replace_magic_values(_arg1:String):String{ _arg1 = _arg1.replace("#val#", NumberUtils.formatNumber(this._y)); _arg1 = _arg1.replace("#x#", NumberUtils.formatNumber(this._x)); _arg1 = _arg1.replace("#y#", NumberUtils.formatNumber(this._y)); _arg1 = _arg1.replace("#size#", NumberUtils.formatNumber(this.radius)); _arg1 = DateUtils.replace_magic_values(_arg1, this._x); return (_arg1); } protected function first_show(_arg1:Number, _arg2:Number, _arg3:ScreenCoordsBase):void{ var x = _arg1; var y = _arg2; var sc = _arg3; this.on_show_animate = false; Tweener.removeTweens(this); var d:Number = (x / this.stage.stageWidth); d = (d * this.on_show.get("cascade")); d = (d + this.on_show.get("delay")); switch (this.on_show.get("type")){ case "pop-up": this.x = x; this.y = sc.get_y_bottom(this.right_axis); Tweener.addTween(this, {y:y, time:1.4, delay:d, transition:Equations.easeOutQuad}); if (this.line_mask != null){ this.line_mask.x = x; this.line_mask.y = sc.get_y_bottom(this.right_axis); Tweener.addTween(this.line_mask, {y:y, time:1.4, delay:d, transition:Equations.easeOutQuad}); }; break; case "explode": this.x = (this.stage.stageWidth / 2); this.y = (this.stage.stageHeight / 2); Tweener.addTween(this, {y:y, x:x, time:1.4, delay:d, transition:Equations.easeOutQuad}); if (this.line_mask != null){ this.line_mask.x = (this.stage.stageWidth / 2); this.line_mask.y = (this.stage.stageHeight / 2); Tweener.addTween(this.line_mask, {y:y, x:x, time:1.4, delay:d, transition:Equations.easeOutQuad}); }; break; case "mid-slide": this.x = x; this.y = (this.stage.stageHeight / 2); this.alpha = 0.2; Tweener.addTween(this, {alpha:1, y:y, time:1.4, delay:d, transition:Equations.easeOutQuad}); if (this.line_mask != null){ this.line_mask.x = x; this.line_mask.y = (this.stage.stageHeight / 2); Tweener.addTween(this.line_mask, {y:y, time:1.4, delay:d, transition:Equations.easeOutQuad}); }; break; case "drop": this.x = x; this.y = (-(height) - 10); Tweener.addTween(this, {y:y, time:1.4, delay:d, transition:Equations.easeOutBounce}); if (this.line_mask != null){ this.line_mask.x = x; this.line_mask.y = (-(height) - 10); Tweener.addTween(this.line_mask, {y:y, time:1.4, delay:d, transition:Equations.easeOutQuad}); }; break; case "fade-in": this.x = x; this.y = y; this.alpha = 0; Tweener.addTween(this, {alpha:1, time:1.2, delay:d, transition:Equations.easeOutQuad}); break; case "shrink-in": this.x = x; this.y = y; this.scaleX = (this.scaleY = 5); this.alpha = 0; Tweener.addTween(this, {scaleX:1, scaleY:1, alpha:1, time:1.2, delay:d, transition:Equations.easeOutQuad, onComplete:function ():void{ tr.ace("Fin"); }}); break; default: this.y = y; this.x = x; }; } override public function resize(_arg1:ScreenCoordsBase):void{ var _local2:Number; var _local3:Number; var _local4:Point; if (this.index != Number.MIN_VALUE){ _local4 = _arg1.get_get_x_from_pos_and_y_from_val(this.index, this._y, this.right_axis); _local2 = _local4.x; _local3 = _local4.y; } else { _local2 = _arg1.get_x_from_val(this._x); _local3 = _arg1.get_y_from_val(this._y, this.right_axis); }; if (this.line_mask != null){ this.line_mask.x = _local2; this.line_mask.y = _local3; }; if (this.on_show_animate){ this.first_show(_local2, _local3, _arg1); } else { this.y = _local3; this.x = _local2; }; } protected function calcXOnCircle(_arg1:Number, _arg2:Number):Number{ return ((_arg1 * Math.cos(((_arg2 / 180) * Math.PI)))); } public function is_tweening():Boolean{ return (Tweener.isTweening(this)); } } }//package charts.series.dots
Section 37
//star (charts.series.dots.star) package charts.series.dots { import flash.display.*; import caurina.transitions.*; import string.*; public class star extends PointDotBase { public function star(_arg1:Number, _arg2:Properties){ var _local4:Number; var _local5:Sprite; var _local3:Number = Utils.get_colour(_arg2.get("colour")); super(_arg1, _arg2); this.tooltip = this.replace_magic_values(_arg2.get("tip")); this.attach_events(); if (_arg2.get("hollow")){ if (_arg2.get("background-colour") != null){ _local4 = Utils.get_colour(_arg2.get("background-colour")); } else { _local4 = _local3; }; this.graphics.beginFill(_local4, _arg2.get("background-alpha")); } else { this.graphics.beginFill(_local3, _arg2.get("alpha")); }; this.graphics.lineStyle(_arg2.get("width"), _local3, _arg2.get("alpha")); this.drawStar_2(this.graphics, this.radius, _arg2.get("rotation")); if (_arg2.get("halo-size") > 0){ _local5 = new Sprite(); _local5.graphics.lineStyle(0, 0, 0); _local5.graphics.beginFill(0, 1); this.drawStar_2(_local5.graphics, (_arg2.get("halo-size") + this.radius), _arg2.get("rotation")); _local5.blendMode = BlendMode.ERASE; _local5.graphics.endFill(); this.line_mask = _local5; }; } private function drawStar_2(_arg1:Graphics, _arg2:Number, _arg3:Number):void{ var _local7:Number; var _local8:Number; var _local9:Number; var _local4:Number = (360 / 10); var _local5:Number = (-90 + _arg3); var _local6:int; while (_local6 < 11) { _local7 = (((_local6 % 2))==0) ? _arg2 : (_arg2 / 2); _local8 = calcXOnCircle(_local7, _local5); _local9 = calcYOnCircle(_local7, _local5); if (_local6 == 0){ _arg1.moveTo(_local8, _local9); } else { _arg1.lineTo(_local8, _local9); }; _local5 = (_local5 + _local4); _local6++; }; } override public function set_tip(_arg1:Boolean):void{ if (_arg1){ if (!this.is_tip){ Tweener.addTween(this, {scaleX:1.3, time:0.4, transition:"easeoutbounce"}); Tweener.addTween(this, {scaleY:1.3, time:0.4, transition:"easeoutbounce"}); if (this.line_mask != null){ Tweener.addTween(this.line_mask, {scaleX:1.3, time:0.4, transition:"easeoutbounce"}); Tweener.addTween(this.line_mask, {scaleY:1.3, time:0.4, transition:"easeoutbounce"}); }; }; this.is_tip = true; } else { Tweener.removeTweens(this); Tweener.removeTweens(this.line_mask); this.scaleX = 1; this.scaleY = 1; if (this.line_mask != null){ this.line_mask.scaleX = 1; this.line_mask.scaleY = 1; }; this.is_tip = false; }; } } }//package charts.series.dots
Section 38
//DefaultPieProperties (charts.series.pies.DefaultPieProperties) package charts.series.pies { public class DefaultPieProperties extends Properties { public function DefaultPieProperties(_arg1:Object){ var _local2:Properties = new Properties({alpha:0.5, start-angle:90, label-colour:null, font-size:10, gradient-fill:false, stroke:1, colours:["#900000", "#009000"], animate:[{type:"fade-in"}], tip:"#val# of #total#", no-labels:false, on-click:null}); super(_arg1, _local2); tr.aces("4", this.get("start-angle")); } } }//package charts.series.pies
Section 39
//PieLabel (charts.series.pies.PieLabel) package charts.series.pies { import charts.series.*; import flash.text.*; import string.*; public class PieLabel extends TextField implements has_tooltip { public var is_over:Boolean; private static var TO_RADIANS:Number = 0.0174532925199433; public function PieLabel(_arg1:Object){ this.text = _arg1.label; var _local2:TextFormat = new TextFormat(); _local2.color = Utils.get_colour(_arg1.colour); _local2.font = "Verdana"; _local2.size = _arg1["font-size"]; _local2.align = "center"; this.setTextFormat(_local2); this.autoSize = "left"; this.mouseEnabled = false; } public function resize(_arg1:ScreenCoords):void{ } public function set_tip(_arg1:Boolean):void{ return ((this.parent as has_tooltip).set_tip(_arg1)); } public function move_label(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean{ var _local5:Number = (_arg2 + (_arg1 * Math.cos((_arg4 * TO_RADIANS)))); var _local6:Number = (_arg3 + (_arg1 * Math.sin((_arg4 * TO_RADIANS)))); if (_local5 < _arg2){ _local5 = (_local5 - this.width); }; if (_local6 < _arg3){ _local6 = (_local6 - this.height); }; this.x = _local5; this.y = _local6; if ((((((((this.x > 0)) && ((this.y > 0)))) && (((this.y + this.height) < this.stage.stageHeight)))) && (((this.x + this.width) < this.stage.stageWidth)))){ return (true); }; return (false); } public function get_tip_pos():Object{ return ((this.parent as has_tooltip).get_tip_pos()); } public function get_tooltip():String{ tr.ace((this.parent as has_tooltip).get_tooltip()); return ((this.parent as has_tooltip).get_tooltip()); } } }//package charts.series.pies
Section 40
//PieSlice (charts.series.pies.PieSlice) package charts.series.pies { import flash.geom.*; import charts.series.*; import flash.display.*; import caurina.transitions.*; public class PieSlice extends Element { public var nolabels:Boolean; public var is_over:Boolean; private var colour:Number; private var TO_RADIANS:Number;// = 0.0174532925199433 private var finished_animating:Boolean; private var gradientFill:Boolean; public var angle:Number; private var animate:Boolean; public var position_original:Point; private var rawToolTip:String; public var position_animate_to:Point; public var value:Number; private var border_width:Number; private var label:String; public var slice_angle:Number; private var pieRadius:Number; public function PieSlice(_arg1:Number, _arg2:Properties){ this.colour = _arg2.get_colour("colour"); this.slice_angle = _arg2.get("angle"); this.border_width = 1; this.angle = _arg2.get("start"); this.animate = _arg2.get("animate"); this.nolabels = _arg2.get("no-labels"); this.value = _arg2.get("value"); this.gradientFill = _arg2.get("gradient-fill"); this.index = _arg1; this.rawToolTip = _arg2.get("tip"); this.label = this.replace_magic_values(_arg2.get("label")); this.tooltip = this.replace_magic_values(_arg2.get("tip")); if (_arg2.has("on-click")){ this.set_on_click(_arg2.get("on-click")); }; this.finished_animating = false; } private function draw_label_line(_arg1:Number, _arg2:Number, _arg3:Number):void{ } override public function set_tip(_arg1:Boolean):void{ } public function pie_resize(_arg1:ScreenCoordsBase, _arg2:Number):void{ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Array; var _local12:Array; var _local13:Array; var _local14:Matrix; this.pieRadius = _arg2; this.x = _arg1.get_center_x(); this.y = _arg1.get_center_y(); var _local3:Number = 10; this.graphics.clear(); this.graphics.lineStyle(this.border_width, this.colour, 1); if (this.gradientFill){ _local11 = [this.colour, this.colour]; _local12 = [1, 0.5]; _local13 = [100, 0xFF]; _local14 = new Matrix(); _local14.createGradientBox((_arg2 * 2), (_arg2 * 2), 0, -(_arg2), -(_arg2)); this.graphics.beginGradientFill(GradientType.RADIAL, _local11, _local12, _local13, _local14); } else { this.graphics.beginFill(this.colour, 1); }; this.graphics.moveTo(0, 0); this.graphics.lineTo(_arg2, 0); var _local4:Number = 4; var _local5:Number = Math.tan(((_local4 / 2) * TO_RADIANS)); var _local6:Number = 0; _local6 = 0; while ((_local6 + _local4) < this.slice_angle) { _local7 = (_arg2 * Math.cos(((_local6 + _local4) * TO_RADIANS))); _local8 = (_arg2 * Math.sin(((_local6 + _local4) * TO_RADIANS))); _local9 = (_local7 + ((_arg2 * _local5) * Math.cos((((_local6 + _local4) - 90) * TO_RADIANS)))); _local10 = (_local8 + ((_arg2 * _local5) * Math.sin((((_local6 + _local4) - 90) * TO_RADIANS)))); this.graphics.curveTo(_local9, _local10, _local7, _local8); _local6 = (_local6 + _local4); }; _local4 = 0.08; _local5 = Math.tan(((_local4 / 2) * TO_RADIANS)); while ((_local6 + _local4) < slice_angle) { _local7 = (_arg2 * Math.cos(((_local6 + _local4) * TO_RADIANS))); _local8 = (_arg2 * Math.sin(((_local6 + _local4) * TO_RADIANS))); _local9 = (_local7 + ((_arg2 * _local5) * Math.cos((((_local6 + _local4) - 90) * TO_RADIANS)))); _local10 = (_local8 + ((_arg2 * _local5) * Math.sin((((_local6 + _local4) - 90) * TO_RADIANS)))); this.graphics.curveTo(_local9, _local10, _local7, _local8); _local6 = (_local6 + _local4); }; this.graphics.endFill(); this.graphics.lineTo(0, 0); if (!this.nolabels){ this.draw_label_line(_arg2, _local3, this.slice_angle); }; if (this.animate){ if (!this.finished_animating){ this.finished_animating = true; Tweener.addTween(this, {rotation:this.angle, time:1.4, transition:Equations.easeOutCirc, onComplete:this.done_animating}); }; } else { this.done_animating(); }; } public function isRightSide():Boolean{ return ((((this.getTicAngle() >= 270)) || ((this.getTicAngle() <= 90)))); } override public function get_tip_pos():Object{ var _local1:Point = this.localToGlobal(new Point(this.mouseX, this.mouseY)); return ({x:_local1.x, y:_local1.y}); } public function get_colour():Number{ return (this.colour); } override public function toString():String{ return (("PieSlice: " + this.get_tooltip())); } private function replace_magic_values(_arg1:String):String{ _arg1 = _arg1.replace("#label#", this.label); _arg1 = _arg1.replace("#val#", NumberUtils.formatNumber(this.value)); _arg1 = _arg1.replace("#radius#", NumberUtils.formatNumber(this.pieRadius)); return (_arg1); } private function done_animating():void{ this.rotation = this.angle; this.finished_animating = true; } override public function get_tooltip():String{ this.tooltip = this.replace_magic_values(this.rawToolTip); return (this.tooltip); } override public function resize(_arg1:ScreenCoordsBase):void{ } public function getTicAngle():Number{ return ((this.angle + (this.slice_angle / 2))); } } }//package charts.series.pies
Section 41
//PieSliceContainer (charts.series.pies.PieSliceContainer) package charts.series.pies { import flash.events.*; import flash.geom.*; import charts.series.*; import caurina.transitions.*; public class PieSliceContainer extends Element { private var TO_RADIANS:Number;// = 0.0174532925199433 private var moveToX:Number; private var moveToY:Number; private var animationOffset:Number;// = 30 private var pieRadius:Number; private var pieLabel:PieLabel; private var label_margin:Number;// = 2 private var animating:Boolean; private var tick_size:Number;// = 10 private var pieSlice:PieSlice; private var tick_extension_size:Number;// = 4 private var original_alpha:Number; private var saveX:Number; private var saveY:Number; public function PieSliceContainer(_arg1:Number, _arg2:Properties){ tr.aces("pie", _arg2.get("animate")); this.pieSlice = new PieSlice(_arg1, _arg2); this.addChild(this.pieSlice); var _local3:String = _arg2.get("label"); this.alpha = (this.original_alpha = _arg2.get("alpha")); if (!_arg2.has("label-colour")){ _arg2.set("label-colour", _arg2.get("colour")); }; var _local4:String = (_arg2.get("no-labels")) ? "" : _arg2.get("label"); this.pieLabel = new PieLabel({label:_local4, colour:_arg2.get("label-colour"), font-size:_arg2.get("font-size"), on-click:_arg2.get("on-click")}); this.addChild(this.pieLabel); this.attach_events__(_arg2); this.animating = false; } public function getLabelTopY():Number{ return (this.pieLabel.y); } public function mouseOut_alpha(_arg1:Event):void{ Tweener.addTween(this, {alpha:this.original_alpha, time:0.8, transition:Equations.easeOutElastic}); } public function isRightSide():Boolean{ return (this.pieSlice.isRightSide()); } public function mouseOver_first(_arg1:Event):void{ if (this.animating){ return; }; this.animating = true; Tweener.removeTweens(this); } public function moveLabelUp(_arg1:ScreenCoordsBase, _arg2:Number):Number{ var _local3:Number; var _local4:Boolean; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; if (this.pieLabel.visible){ _local3 = 1; _local4 = false; _local5 = this.getLabelBottomY(); if (_local5 > _arg2){ _local6 = (_arg2 - _local5); if ((_arg2 - this.pieLabel.height) < (_arg1.top + 1)){ _local6 = (_arg1.top - this.getLabelTopY()); _local4 = true; }; this.pieLabel.y = (this.pieLabel.y + _local6); if (!_local4){ _local7 = (this.pieRadius + this.tick_size); _local8 = (((this.pieLabel.y + (this.pieLabel.height / 2)) - this.pieSlice.y) / _local7); _local8 = Math.max(-1, Math.min(1, _local8)); _local9 = (Math.asin(_local8) / TO_RADIANS); if ((((this.getTicAngle() > 90)) && ((this.getTicAngle() < 270)))){ _local9 = (180 - _local9); _local3 = -1; } else { if (this.getTicAngle() >= 270){ _local9 = (360 + _local9); }; }; _local10 = (this.pieSlice.x + (_local7 * Math.cos((_local9 * TO_RADIANS)))); if (this.isRightSide()){ this.pieLabel.x = ((_local10 + this.tick_extension_size) + this.label_margin); } else { this.pieLabel.x = ((((_local10 - this.pieLabel.width) - this.tick_extension_size) - this.label_margin) - 4); }; }; }; this.drawTicLines(); return (this.pieLabel.y); //unresolved jump }; return (_arg2); } override public function get_tooltip():String{ return (this.pieSlice.get_tooltip()); } public function get_radius_offsets():Object{ var _local2:Number; var _local3:Number; var _local4:Number; var _local1:Object = {top:animationOffset, right:animationOffset, bottom:animationOffset, left:animationOffset}; if (this.pieLabel.visible){ _local2 = this.getTicAngle(); _local3 = 20; _local4 = this.tick_size; if ((((_local2 >= 0)) && ((_local2 <= 90)))){ _local1.bottom = ((((_local2 / 90) * _local4) + (this.pieLabel.height / 2)) + 1); _local1.right = ((((((90 - _local2) / 90) * _local4) + this.tick_extension_size) + this.label_margin) + this.pieLabel.width); } else { if ((((_local2 > 90)) && ((_local2 <= 180)))){ _local1.bottom = (((((180 - _local2) / 90) * _local4) + (this.pieLabel.height / 2)) + 1); _local1.left = (((((((_local2 - 90) / 90) * _local4) + this.tick_extension_size) + this.label_margin) + this.pieLabel.width) + 4); } else { if ((((_local2 > 180)) && ((_local2 < 270)))){ _local1.top = (((((_local2 - 180) / 90) * _local4) + (this.pieLabel.height / 2)) + 1); _local1.left = (((((((270 - _local2) / 90) * _local4) + this.tick_extension_size) + this.label_margin) + this.pieLabel.width) + 4); } else { _local1.top = (((((360 - _local2) / 90) * _local4) + (this.pieLabel.height / 2)) + 1); _local1.right = ((((((_local2 - 270) / 90) * _local4) + this.tick_extension_size) + this.label_margin) + this.pieLabel.width); }; }; }; }; return (_local1); } public function is_label_on_screen(_arg1:ScreenCoordsBase, _arg2:Number):Boolean{ return (this.pieLabel.move_label((_arg2 + 10), _arg1.get_center_x(), _arg1.get_center_y(), (this.pieSlice.angle + (this.pieSlice.slice_angle / 2)))); } public function mouseOut_bounce_out(_arg1:Event):void{ Tweener.addTween(this, {x:this.saveX, y:this.saveY, time:0.4, transition:"easeOutBounce"}); } public function mouseOver_alpha(_arg1:Event):void{ Tweener.addTween(this, {alpha:1, time:0.6, transition:Equations.easeOutCirc}); } override public function resize(_arg1:ScreenCoordsBase):void{ } public function pie_resize(_arg1:ScreenCoordsBase, _arg2:Number):void{ var _local4:Number; var _local5:Number; this.pieRadius = _arg2; this.pieSlice.pie_resize(_arg1, _arg2); var _local3:Number = this.getTicAngle(); this.saveX = this.x; this.saveY = this.y; this.moveToX = (this.x + (animationOffset * Math.cos((_local3 * TO_RADIANS)))); this.moveToY = (this.y + (animationOffset * Math.sin((_local3 * TO_RADIANS)))); if (this.pieLabel.visible){ _local4 = (_arg2 + this.tick_size); _local5 = (_local3 * TO_RADIANS); this.pieLabel.x = (this.pieSlice.x + (_local4 * Math.cos(_local5))); this.pieLabel.y = (this.pieSlice.y + (_local4 * Math.sin(_local5))); if (this.isRightSide()){ this.pieLabel.x = (this.pieLabel.x + (this.tick_extension_size + this.label_margin)); } else { this.pieLabel.x = ((((this.pieLabel.x - this.pieLabel.width) - this.tick_extension_size) - this.label_margin) - 4); }; this.pieLabel.y = (this.pieLabel.y - (this.pieLabel.height / 2)); this.drawTicLines(); }; } public function is_over():Boolean{ return (this.pieSlice.is_over); } public function get_label():PieLabel{ return (this.pieLabel); } override public function get_tip_pos():Object{ var _local1:Point = this.localToGlobal(new Point(this.mouseX, this.mouseY)); return ({x:_local1.x, y:_local1.y}); } public function getTicAngle():Number{ return (this.pieSlice.getTicAngle()); } public function mouseOut_first(_arg1:Event):void{ Tweener.removeTweens(this); this.animating = false; } public function moveLabelDown(_arg1:ScreenCoordsBase, _arg2:Number):Number{ var _local3:Boolean; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; if (this.pieLabel.visible){ _local3 = false; _local4 = this.getLabelTopY(); if (_local4 < _arg2){ _local5 = (_arg2 - _local4); if ((this.pieLabel.height + _arg2) > (_arg1.bottom - 1)){ _local5 = ((_arg1.bottom - this.pieLabel.height) - _local4); _local3 = true; }; this.pieLabel.y = (this.pieLabel.y + _local5); if (!_local3){ _local6 = (this.pieRadius + this.tick_size); _local7 = (((this.pieLabel.y + (this.pieLabel.height / 2)) - this.pieSlice.y) / _local6); _local7 = Math.max(-1, Math.min(1, _local7)); _local8 = (Math.asin(_local7) / TO_RADIANS); if ((((this.getTicAngle() > 90)) && ((this.getTicAngle() < 270)))){ _local8 = (180 - _local8); } else { if (this.getTicAngle() >= 270){ _local8 = (360 + _local8); }; }; _local9 = (this.pieSlice.x + (_local6 * Math.cos((_local8 * TO_RADIANS)))); if (this.isRightSide()){ this.pieLabel.x = ((_local9 + this.tick_extension_size) + this.label_margin); } else { this.pieLabel.x = ((((_local9 - this.pieLabel.width) - this.tick_extension_size) - this.label_margin) - 4); }; }; }; this.drawTicLines(); return ((this.pieLabel.y + this.pieLabel.height)); //unresolved jump }; return (_arg2); } public function get_slice():Element{ return (this.pieSlice); } public function getLabelBottomY():Number{ return ((this.pieLabel.y + this.pieLabel.height)); } protected function attach_events__(_arg1:Properties):void{ var _local4:Object; var _local2:Object = _arg1.get("animate"); if (!(_local2 is Array)){ if ((((_local2 == null)) || (_local2))){ _local2 = [{type:"bounce", distance:5}]; } else { _local2 = new Array(); }; }; var _local3:Array = (_local2 as Array); this.addEventListener(MouseEvent.MOUSE_OVER, this.mouseOver_first, false, 0, true); this.addEventListener(MouseEvent.MOUSE_OUT, this.mouseOut_first, false, 0, true); for each (_local4 in _local3) { switch (_local4.type){ case "bounce": this.addEventListener(MouseEvent.MOUSE_OVER, this.mouseOver_bounce_out, false, 0, true); this.addEventListener(MouseEvent.MOUSE_OUT, this.mouseOut_bounce_out, false, 0, true); this.animationOffset = _local4.distance; break; default: this.addEventListener(MouseEvent.MOUSE_OVER, this.mouseOver_alpha, false, 0, true); this.addEventListener(MouseEvent.MOUSE_OUT, this.mouseOut_alpha, false, 0, true); break; }; }; } protected function drawTicLines():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; if (((!((this.pieLabel.text == ""))) && (this.pieLabel.visible))){ _local1 = this.getTicAngle(); _local2 = (this.pieRadius + this.tick_size); _local3 = (_local1 * TO_RADIANS); if (this.pieSlice.isRightSide()){ _local4 = (this.pieLabel.x - this.label_margin); } else { _local4 = (((this.pieLabel.x + this.pieLabel.width) + this.label_margin) + 4); }; _local5 = (this.pieLabel.y + (this.pieLabel.height / 2)); _local6 = (this.pieSlice.x + (this.pieRadius * Math.cos(_local3))); _local7 = (this.pieSlice.y + (this.pieRadius * Math.sin(_local3))); this.graphics.clear(); this.graphics.lineStyle(1, this.pieSlice.get_colour(), 1); this.graphics.moveTo(_local4, _local5); if (this.pieSlice.isRightSide()){ this.graphics.lineTo((_local4 - this.tick_extension_size), _local5); } else { this.graphics.lineTo((_local4 + this.tick_extension_size), _local5); }; this.graphics.lineTo(_local6, _local7); }; } public function mouseOver_bounce_out(_arg1:Event):void{ Tweener.addTween(this, {x:this.moveToX, y:this.moveToY, time:0.4, transition:"easeOutBounce"}); } } }//package charts.series.pies
Section 42
//Element (charts.series.Element) package charts.series { import flash.events.*; import flash.geom.*; import elements.axis.*; import flash.display.*; import caurina.transitions.*; import flash.net.*; import flash.external.*; public class Element extends Sprite implements has_tooltip { public var _y:Number; protected var tooltip:String; public var is_tip:Boolean; public var index:Number; public var line_mask:Sprite; protected var right_axis:Boolean; public var _x:Number; private var link:String; public function Element(){ this.right_axis = false; } public function die():void{ if (this.line_mask != null){ this.line_mask.graphics.clear(); this.line_mask = null; }; } public function set_tip(_arg1:Boolean):void{ } public function get_tip_pos():Object{ return ({x:this.x, y:this.y}); } private function browse_url(_arg1:String):void{ var url = _arg1; var req:URLRequest = new URLRequest(this.link); try { navigateToURL(req); } catch(e:Error) { trace(("Error opening link: " + this.link)); }; } public function get_x():Number{ return (this._x); } protected function attach_events():void{ this.addEventListener(MouseEvent.MOUSE_OVER, this.mouseOver, false, 0, true); this.addEventListener(MouseEvent.MOUSE_OUT, this.mouseOut, false, 0, true); } public function mouseOver(_arg1:Event):void{ this.pulse(); } public function get_tooltip():String{ return (this.tooltip); } public function pulse():void{ Tweener.addTween(this, {alpha:0.5, time:0.4, transition:"linear"}); Tweener.addTween(this, {alpha:1, time:0.4, delay:0.4, onComplete:this.pulse, transition:"linear"}); } public function set_on_click(_arg1:String):void{ this.link = _arg1; this.buttonMode = true; this.useHandCursor = true; this.addEventListener(MouseEvent.MOUSE_UP, this.mouseUp, false, 0, true); } public function tooltip_replace_labels(_arg1:XAxisLabels):void{ tr.aces("x label", this._x, _arg1.get(this._x)); this.tooltip = this.tooltip.replace("#x_label#", _arg1.get(this._x)); } private function mouseUp(_arg1:Event):void{ if (this.link.substring(0, 6) == "trace:"){ tr.ace(this.link); } else { if (this.link.substring(0, 5) == "http:"){ this.browse_url(this.link); } else { if (this.link.substring(0, 6) == "https:"){ this.browse_url(this.link); } else { ExternalInterface.call(this.link, this.index); }; }; }; } public function mouseOut(_arg1:Event):void{ Tweener.removeTweens(this); Tweener.addTween(this, {alpha:1, time:0.4, transition:Equations.easeOutElastic}); } public function get_mid_point():Point{ return (new Point(this.x, this.y)); } public function resize(_arg1:ScreenCoordsBase):void{ var _local2:Point = _arg1.get_get_x_from_pos_and_y_from_val(this._x, this._y, this.right_axis); this.x = _local2.x; this.y = _local2.y; } } }//package charts.series
Section 43
//has_tooltip (charts.series.has_tooltip) package charts.series { public interface has_tooltip { function get_tooltip():String; function set_tip(_arg1:Boolean):void; function get_tip_pos():Object; } }//package charts.series
Section 44
//Area (charts.Area) package charts { import charts.series.*; import flash.display.*; import string.*; public class Area extends Line { private var fill_colour:Number; private var area_base:Number; public function Area(_arg1:Object){ var _local2:String; super(_arg1); if (_arg1.fill){ _local2 = _arg1.fill; } else { _local2 = _arg1.colour; }; this.fill_colour = Utils.get_colour(_local2); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local2:Boolean; if (props.has("axis")){ if (props.get("axis") == "right"){ _local2 = true; }; }; this.area_base = _arg1.get_y_bottom(_local2); super.resize(_arg1); } private function fill_area():void{ var _local1:Element; var _local3:Sprite; var _local5:Element; var _local2:Boolean; var _local4:Number = 0; while (_local4 < this.numChildren) { _local3 = (this.getChildAt(_local4) as Sprite); if ((_local3 is Element)){ _local5 = (_local3 as Element); if (_local2){ _local2 = false; if (this.props.get("loop")){ this.graphics.moveTo(_local5.x, _local5.y); } else { this.graphics.moveTo(_local5.x, this.area_base); }; this.graphics.lineStyle(0, 0, 0); this.graphics.beginFill(this.fill_colour, this.props.get("fill-alpha")); if (!this.props.get("loop")){ this.graphics.lineTo(_local5.x, _local5.y); }; } else { this.graphics.lineTo(_local5.x, _local5.y); _local1 = _local5; }; }; _local4++; }; if (_local1 != null){ if (!this.props.get("loop")){ this.graphics.lineTo(_local1.x, this.area_base); }; }; this.graphics.endFill(); } override protected function draw():void{ this.graphics.clear(); this.fill_area(); this.draw_line(); } } }//package charts
Section 45
//Bar (charts.Bar) package charts { import charts.series.*; import charts.series.bars.*; public class Bar extends BarBase { public function Bar(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new Bar(_arg1, this.get_element_helper_prop(_arg2), this.group)); } } }//package charts
Section 46
//Bar3D (charts.Bar3D) package charts { import charts.series.*; import charts.series.bars.*; public class Bar3D extends BarBase { public function Bar3D(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new Bar3D(_arg1, this.get_element_helper_prop(_arg2), this.group)); } } }//package charts
Section 47
//BarBase (charts.BarBase) package charts { import charts.series.*; public class BarBase extends Base { protected var props:Properties; protected var on_show:Properties; protected var group:Number; public function BarBase(_arg1:Object, _arg2:Number){ var _local3:Properties = new Properties({values:[], colour:"#3030d0", text:"", font-size:12, tip:"#val#<br>#x_label#", alpha:0.6, on-click:false, axis:"left"}); this.props = new Properties(_arg1, _local3); this.on_show = this.get_on_show(_arg1["on-show"]); this.colour = this.props.get_colour("colour"); this.key = this.props.get("text"); this.font_size = this.props.get("font-size"); this.props.set("tip", this.props.get("tip").replace("#key#", this.key)); this.group = _arg2; this.values = this.props.get("values"); this.add_values(); } override public function get_min_x():Number{ return (0); } override public function get_max_x():Number{ var _local3:Element; var _local1:Number = Number.MIN_VALUE; var _local2:Number = 0; while (_local2 < this.numChildren) { _local3 = (this.getChildAt(_local2) as Element); _local1 = Math.max(_local1, _local3.index); _local2++; }; return (_local1); } override public function die():void{ super.die(); this.props.die(); } protected function get_element_helper_prop(_arg1:Object):Properties{ var _local3:Properties; var _local2:Properties = new Properties({colour:this.props.get("colour"), tip:this.props.get("tip"), alpha:this.props.get("alpha"), on-click:this.props.get("on-click"), axis:this.props.get("axis"), on-show:this.on_show}); if ((_arg1 is Number)){ _local3 = new Properties({top:_arg1}, _local2); } else { _local3 = new Properties(_arg1, _local2); }; return (_local3); } protected function get_on_show(_arg1:Object):Properties{ var _local2:Properties = new Properties({type:"none", cascade:3, delay:0}); return (new Properties(_arg1, _local2)); } override public function closest(_arg1:Number, _arg2:Number):Object{ var _local7:Element; var _local8:Number; var _local9:Number; var _local10:Number; var _local3:Number = Number.MAX_VALUE; var _local4:Element; var _local5:Number = 0; while (_local5 < this.numChildren) { _local7 = (this.getChildAt(_local5) as Element); _local7.is_tip = false; if ((((_arg1 > _local7.x)) && ((_arg1 < (_local7.x + _local7.width))))){ _local3 = Math.min(Math.abs((_arg1 - _local7.x)), Math.abs((_arg1 - (_local7.x + _local7.width)))); _local4 = _local7; break; } else { _local8 = Math.abs((_arg1 - _local7.x)); _local9 = Math.abs((_arg1 - (_local7.x + _local7.width))); _local10 = Math.min(_local8, _local9); if (_local10 < _local3){ _local3 = _local10; _local4 = _local7; }; }; _local5++; }; var _local6:Number = Math.abs((_arg2 - _local4.y)); return ({element:_local4, distance_x:_local3, distance_y:_local6}); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local3:Element; var _local2:Number = 0; while (_local2 < this.numChildren) { _local3 = (this.getChildAt(_local2) as Element); _local3.resize(_arg1); _local2++; }; } } }//package charts
Section 48
//BarCylinder (charts.BarCylinder) package charts { import charts.series.*; import charts.series.bars.*; public class BarCylinder extends BarBase { public function BarCylinder(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new Cylinder(_arg1, this.get_element_helper_prop(_arg2), this.group)); } } }//package charts
Section 49
//BarCylinderOutline (charts.BarCylinderOutline) package charts { import charts.series.*; import charts.series.bars.*; public class BarCylinderOutline extends BarBase { public function BarCylinderOutline(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new CylinderOutline(_arg1, this.get_element_helper_prop(_arg2), this.group)); } } }//package charts
Section 50
//BarDome (charts.BarDome) package charts { import charts.series.*; import charts.series.bars.*; public class BarDome extends BarBase { public function BarDome(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new Dome(_arg1, this.get_element_helper_prop(_arg2), this.group)); } } }//package charts
Section 51
//BarFade (charts.BarFade) package charts { import charts.series.*; import charts.Elements.*; public class BarFade extends BarBase { public function BarFade(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new PointBarFade(_arg1, _arg2, this.colour, this.group)); } } }//package charts
Section 52
//BarGlass (charts.BarGlass) package charts { import charts.series.*; import charts.series.bars.*; public class BarGlass extends BarBase { public function BarGlass(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new Glass(_arg1, this.get_element_helper_prop(_arg2), this.group)); } } }//package charts
Section 53
//BarOutline (charts.BarOutline) package charts { import charts.series.*; import charts.series.bars.*; public class BarOutline extends BarBase { protected var style:Object; private var outline_colour:Number; public function BarOutline(_arg1:Object, _arg2:Number){ this.style = {outline-colour:"#000000"}; object_helper.merge_2(_arg1, this.style); super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ var _local3:Properties = new Properties({outline-colour:this.style["outline-colour"]}); var _local4:Properties = this.get_element_helper_prop(_arg2); _local4.set_parent(_local3); return (new Outline(_arg1, _local4, this.group)); } } }//package charts
Section 54
//BarPlastic (charts.BarPlastic) package charts { import charts.series.*; import charts.series.bars.*; public class BarPlastic extends BarBase { public function BarPlastic(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new Plastic(_arg1, this.get_element_helper_prop(_arg2), this.group)); } } }//package charts
Section 55
//BarPlasticFlat (charts.BarPlasticFlat) package charts { import charts.series.*; import charts.series.bars.*; public class BarPlasticFlat extends BarBase { public function BarPlasticFlat(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new PlasticFlat(_arg1, this.get_element_helper_prop(_arg2), this.group)); } } }//package charts
Section 56
//BarRound (charts.BarRound) package charts { import charts.series.*; import charts.series.bars.*; public class BarRound extends BarBase { public function BarRound(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new Round(_arg1, this.get_element_helper_prop(_arg2), this.group)); } } }//package charts
Section 57
//BarRound3D (charts.BarRound3D) package charts { import charts.series.*; import charts.series.bars.*; public class BarRound3D extends BarBase { public function BarRound3D(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new Round3D(_arg1, this.get_element_helper_prop(_arg2), this.group)); } } }//package charts
Section 58
//BarRoundGlass (charts.BarRoundGlass) package charts { import charts.series.*; import charts.series.bars.*; public class BarRoundGlass extends BarBase { public function BarRoundGlass(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new RoundGlass(_arg1, this.get_element_helper_prop(_arg2), this.group)); } } }//package charts
Section 59
//BarSketch (charts.BarSketch) package charts { import charts.series.*; import charts.series.bars.*; public class BarSketch extends BarBase { protected var style:Object; private var offset:Number; private var outline_colour:Number; public function BarSketch(_arg1:Object, _arg2:Number){ this.style = {outline-colour:"#000000", offset:6}; object_helper.merge_2(_arg1, this.style); super(style, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ var _local3:Properties = new Properties({outline-colour:this.style["outline-colour"], offset:this.style.offset}); var _local4:Properties = this.get_element_helper_prop(_arg2); _local4.set_parent(_local3); return (new Sketch(_arg1, _local4, this.group)); } } }//package charts
Section 60
//BarStack (charts.BarStack) package charts { import flash.geom.*; import charts.series.*; import string.*; import charts.series.bars.*; public class BarStack extends BarBase { public function BarStack(_arg1:Object, _arg2:Number, _arg3:Number){ super({}, 0); var _local4:Properties = new Properties({values:[], keys:[], colours:["#FF0000", "#00FF00"], text:"", font-size:12, tip:"#x_label# : #val#<br>Total: #total#", alpha:0.6, on-click:false, axis:"left"}); this.props = new Properties(_arg1, _local4); this.on_show = this.get_on_show(_arg1["on-show"]); this.group = _arg3; this.values = _arg1.values; this.add_values(); } override protected function get_all_at_this_x_pos(_arg1:Number):Array{ var _local3:Point; var _local4:StackCollection; var _local6:Array; var _local7:Element; var _local2:Array = new Array(); var _local5:Number = 0; while (_local5 < this.numChildren) { if ((this.getChildAt(_local5) is Element)){ _local4 = (this.getChildAt(_local5) as StackCollection); _local3 = _local4.get_mid_point(); if (_local3.x == _arg1){ _local6 = _local4.get_children(); for each (_local7 in _local6) { _local2.push(_local7); }; }; }; _local5++; }; return (_local2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ var _local3:Properties = new Properties({colours:this.props.get("colours"), tip:this.props.get("tip"), alpha:this.props.get("alpha"), on-click:this.props.get("on-click"), axis:this.props.get("axis"), on-show:this.on_show, values:_arg2}); return (new StackCollection(_arg1, _local3, this.group)); } override public function get_keys():Object{ var _local2:Object; var _local1:Array = []; for each (_local2 in this.props.get("keys")) { if (((((_local2.text) && (_local2["font-size"]))) && (_local2.colour))){ _local2.colour = Utils.get_colour(_local2.colour); _local1.push(_local2); }; }; return (_local1); } } }//package charts
Section 61
//Base (charts.Base) package charts { import flash.geom.*; import elements.axis.*; import charts.series.*; import flash.display.*; public class Base extends Sprite { public var line_width:Number; public var colour:Number; public var circle_size:Number; protected var key:String; protected var axis:Number; public var values:Array; protected var font_size:Number; public function add_values():void{ var _local2:Object; var _local3:Element; var _local1:Number = 0; for each (_local2 in this.values) { if (_local2 != null){ _local3 = this.get_element(_local1, _local2); if (_local3.line_mask != null){ this.addChild(_local3.line_mask); }; this.addChild(_local3); }; _local1++; }; } public function mouse_out():void{ var _local2:Element; var _local1:Number = 0; while (_local1 < this.numChildren) { if ((this.getChildAt(_local1) is Element)){ _local2 = (this.getChildAt(_local1) as Element); _local2.set_tip(false); }; _local1++; }; } public function die():void{ var _local2:Element; var _local1:Number = 0; while (_local1 < this.numChildren) { if ((this.getChildAt(_local1) is Element)){ _local2 = (this.getChildAt(_local1) as Element); _local2.die(); }; _local1++; }; while (this.numChildren > 0) { this.removeChildAt(0); }; } protected function which_axis_am_i_attached_to(_arg1:Array, _arg2:Number):Number{ var _local3:Array; var _local4:Number; if (_arg1["show_y2"] != undefined){ if (_arg1["show_y2"] != "false"){ if (_arg1["y2_lines"] != undefined){ _local3 = _arg1.y2_lines.split(","); _local4 = _local3.indexOf(_arg2.toString()); if (_local4 == -1){ return (1); }; return (2); }; }; }; return (1); } private function closest_x(_arg1:Number):Number{ var _local3:Point; var _local4:Number; var _local5:Number; var _local7:Element; var _local2:Number = Number.MAX_VALUE; var _local6:Number = 0; while (_local6 < this.numChildren) { if ((this.getChildAt(_local6) is Element)){ _local7 = (this.getChildAt(_local6) as Element); _local3 = _local7.get_mid_point(); _local5 = Math.abs((_arg1 - _local3.x)); if (_local5 < _local2){ _local2 = _local5; _local4 = _local3.x; }; }; _local6++; }; return (_local4); } public function closest_2(_arg1:Number, _arg2:Number):Array{ _arg1 = closest_x(_arg1); var _local3:Array = this.get_all_at_this_x_pos(_arg1); var _local4:Array = this.get_closest_y(_local3, _arg2); var _local5:Number = Math.abs((_arg2 - _local4.y)); return (_local4); } public function get_colour():Number{ return (this.colour); } public function closest(_arg1:Number, _arg2:Number):Object{ var _local5:Number; var _local8:Element; var _local3:Number = Number.MAX_VALUE; var _local4:Element; var _local6:Number = 0; while (_local6 < this.numChildren) { if ((this.getChildAt(_local6) is Element)){ _local8 = (this.getChildAt(_local6) as Element); _local8.set_tip(false); _local5 = Math.abs((_arg1 - _local8.x)); if (_local5 < _local3){ _local3 = _local5; _local4 = _local8; }; }; _local6++; }; var _local7:Number = 0; if (_local4){ _local7 = Math.abs((_arg2 - _local4.y)); }; return ({element:_local4, distance_x:_local3, distance_y:_local7}); } protected function get_element(_arg1:Number, _arg2:Object):Element{ return (null); } public function mouse_proximity(_arg1:Number, _arg2:Number):Array{ var _local4:Point; var _local5:Number; var _local6:Element; var _local3:Number = Number.MAX_VALUE; var _local7:Point = new Point(_arg1, _arg2); _local5 = 0; while (_local5 < this.numChildren) { if ((this.getChildAt(_local5) is Element)){ _local6 = (this.getChildAt(_local5) as Element); _local3 = Math.min(Point.distance(_local6.get_mid_point(), _local7), _local3); }; _local5++; }; var _local8:Array = []; _local5 = 0; while (_local5 < this.numChildren) { if ((this.getChildAt(_local5) is Element)){ _local6 = (this.getChildAt(_local5) as Element); if (Point.distance(_local6.get_mid_point(), _local7) == _local3){ _local8.push(_local6); }; }; _local5++; }; return (_local8); } public function tooltip_replace_labels(_arg1:XAxisLabels):void{ var _local3:Element; var _local2:Number = 0; while (_local2 < this.numChildren) { if ((this.getChildAt(_local2) is Element)){ _local3 = (this.getChildAt(_local2) as Element); _local3.tooltip_replace_labels(_arg1); }; _local2++; }; } private function get_closest_y(_arg1:Array, _arg2:Number):Array{ var _local4:Number; var _local6:Point; var _local7:Element; var _local3:Number = Number.MAX_VALUE; var _local5:Array = new Array(); for each (_local7 in _arg1) { _local6 = _local7.get_mid_point(); _local4 = Math.abs((_arg2 - _local6.y)); _local3 = Math.min(_local4, _local3); }; for each (_local7 in _arg1) { _local6 = _local7.get_mid_point(); _local4 = Math.abs((_arg2 - _local6.y)); if (_local4 == _local3){ _local5.push(_local7); }; }; return (_local5); } protected function get_all_at_this_x_pos(_arg1:Number):Array{ var _local3:Point; var _local4:Element; var _local2:Array = new Array(); var _local5:Number = 0; while (_local5 < this.numChildren) { if ((this.getChildAt(_local5) is Element)){ _local4 = (this.getChildAt(_local5) as Element); _local3 = _local4.get_mid_point(); if (_local3.x == _arg1){ _local2.push(_local4); }; }; _local5++; }; return (_local2); } public function resize(_arg1:ScreenCoordsBase):void{ } public function get_min_x():Number{ var _local3:Element; var _local1:Number = Number.MAX_VALUE; var _local2:Number = 0; while (_local2 < this.numChildren) { if ((this.getChildAt(_local2) is Element)){ _local3 = (this.getChildAt(_local2) as Element); _local1 = Math.min(_local1, _local3.get_x()); }; _local2++; }; return (_local1); } public function get_max_x():Number{ var _local3:Element; var _local1:Number = Number.MIN_VALUE; var _local2:Number = 0; while (_local2 < this.numChildren) { if ((this.getChildAt(_local2) is Element)){ _local3 = (this.getChildAt(_local2) as Element); _local1 = Math.max(_local1, _local3.get_x()); }; _local2++; }; return (_local1); } public function get_keys():Object{ var _local1:Array = []; if ((((this.font_size > 0)) && (!((this.key == ""))))){ _local1.push({text:this.key, font-size:this.font_size, colour:this.get_colour()}); }; return (_local1); } } }//package charts
Section 62
//Candle (charts.Candle) package charts { import charts.series.*; import charts.series.bars.*; public class Candle extends BarBase { public function Candle(_arg1:Object, _arg2:Number){ super(_arg1, _arg2); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ return (new ECandle(_arg1, this.get_element_helper_prop(_arg2), this.group)); } } }//package charts
Section 63
//Factory (charts.Factory) package charts { public class Factory { private var attach_right:Array; public static function MakeChart(_arg1:Object):ObjectCollection{ var _local9:Array; var _local2:ObjectCollection = new ObjectCollection(); var _local3:Number = 0; var _local4 = ""; var _local5:Number = 1; var _local6:Array = (_arg1["elements"] as Array); var _local7:Number = 0; while (_local7 < _local6.length) { switch (_local6[_local7]["type"]){ case "bar": _local2.add(new Bar(_local6[_local7], _local3)); _local3++; break; case "line": _local2.add(new Line(_local6[_local7])); break; case "area": _local2.add(new Area(_local6[_local7])); break; case "pie": _local2.add(new Pie(_local6[_local7])); break; case "hbar": _local2.add(new HBar(_local6[_local7])); _local3++; break; case "bar_stack": _local2.add(new BarStack(_local6[_local7], _local5, _local3)); _local3++; break; case "scatter": _local2.add(new Scatter(_local6[_local7])); break; case "scatter_line": _local2.add(new ScatterLine(_local6[_local7])); break; case "bar_sketch": _local2.add(new BarSketch(_local6[_local7], _local3)); _local3++; break; case "bar_glass": _local2.add(new BarGlass(_local6[_local7], _local3)); _local3++; break; case "bar_cylinder": _local2.add(new BarCylinder(_local6[_local7], _local3)); _local3++; break; case "bar_cylinder_outline": _local2.add(new BarCylinderOutline(_local6[_local7], _local3)); _local3++; break; case "bar_dome": _local2.add(new BarDome(_local6[_local7], _local3)); _local3++; break; case "bar_round": _local2.add(new BarRound(_local6[_local7], _local3)); _local3++; break; case "bar_round_glass": _local2.add(new BarRoundGlass(_local6[_local7], _local3)); _local3++; break; case "bar_round3d": _local2.add(new BarRound3D(_local6[_local7], _local3)); _local3++; break; case "bar_fade": _local2.add(new BarFade(_local6[_local7], _local3)); _local3++; break; case "bar_3d": _local2.add(new Bar3D(_local6[_local7], _local3)); _local3++; break; case "bar_filled": _local2.add(new BarOutline(_local6[_local7], _local3)); _local3++; break; case "bar_plastic": _local2.add(new BarPlastic(_local6[_local7], _local3)); _local3++; break; case "bar_plastic_flat": _local2.add(new BarPlasticFlat(_local6[_local7], _local3)); _local3++; break; case "shape": _local2.add(new Shape(_local6[_local7])); break; case "candle": _local2.add(new Candle(_local6[_local7], _local3)); _local3++; break; }; _local7++; }; var _local8:Boolean; _local2.groups = _local3; return (_local2); } } }//package charts
Section 64
//HBar (charts.HBar) package charts { import charts.series.*; import string.*; import charts.series.bars.*; public class HBar extends Base { protected var style:Object; protected var group:Number; public function HBar(_arg1:Object){ this.style = {values:[], colour:"#3030d0", text:"", font-size:12, tip:"#val#"}; object_helper.merge_2(_arg1, style); this.colour = Utils.get_colour(style.colour); this.key = _arg1.text; this.font_size = _arg1["font-size"]; this.group = 0; this.values = _arg1["values"]; this.style["on-click"] = _arg1["on-click"]; this.add_values(); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local3:Horizontal; var _local2:Number = 0; while (_local2 < this.numChildren) { _local3 = (this.getChildAt(_local2) as Horizontal); _local3.resize(_arg1); _local2++; }; } override public function get_min_x():Number{ return (0); } override protected function get_element(_arg1:Number, _arg2:Object):Element{ var _local3:Object = {colour:this.style.colour, tip:this.style.tip, on-click:this.style["on-click"]}; if ((_arg2 is Number)){ _local3.top = _arg2; } else { object_helper.merge_2(_arg2, _local3); }; if ((_local3.colour is String)){ _local3.colour = Utils.get_colour(_local3.colour); }; return (new Horizontal(_arg1, _local3, this.group)); } override public function get_max_x():Number{ var _local3:Horizontal; var _local1:Number = 0; var _local2:Number = 0; while (_local2 < this.numChildren) { if ((this.getChildAt(_local2) is Horizontal)){ _local3 = (this.getChildAt(_local2) as Horizontal); _local1 = Math.max(_local1, _local3.get_max_x()); }; _local2++; }; return (_local1); } } }//package charts
Section 65
//Line (charts.Line) package charts { import flash.events.*; import flash.utils.*; import charts.series.*; import flash.display.*; import charts.series.dots.*; public class Line extends Base { private var on_show_timer:Timer; private var line_style:LineStyle; private var on_show_start:Boolean; protected var props:Properties; private var dot_style:Properties; private var on_show:Properties; public function Line(_arg1:Object){ var _local2:Properties = new Properties({values:[], width:2, colour:"#3030d0", text:"", font-size:12, tip:"#val#", loop:false, axis:"left"}); this.props = new Properties(_arg1, _local2); this.line_style = new LineStyle(_arg1["line-style"]); this.dot_style = new DefaultDotProperties(_arg1["dot-style"], this.props.get("colour"), this.props.get("axis")); var _local3:Properties = new Properties({type:"none", cascade:0.5, delay:0}); this.on_show = new Properties(_arg1["on-show"], _local3); this.on_show_start = true; this.key = this.props.get("text"); this.font_size = this.props.get("font-size"); this.values = this.props.get("values"); this.add_values(); this.blendMode = BlendMode.LAYER; } public function dash_line():void{ var _local10:Sprite; var _local11:Element; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Boolean; var _local1:Boolean; var _local2:int; var _local3:int; var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = this.line_style.on; var _local7:Number = this.line_style.off; var _local8:Boolean; var _local9:Number = 0; while (_local9 < this.numChildren) { _local10 = (this.getChildAt(_local9) as Sprite); if ((_local10 is Element)){ _local11 = (_local10 as Element); if (_local1){ this.graphics.moveTo(_local11.x, _local11.y); _local4 = _local6; _local5 = _local7; _local8 = true; _local1 = false; _local2 = _local11.x; _local3 = _local11.y; _local12 = _local2; _local14 = _local3; } else { _local16 = Math.sqrt((((_local11.x - _local2) * (_local11.x - _local2)) + ((_local11.y - _local3) * (_local11.y - _local3)))); _local17 = ((_local11.y - _local3) / _local16); _local18 = ((_local11.x - _local2) / _local16); _local19 = _local16; _local20 = true; while (_local20) { if (_local8){ if (_local4 < _local19){ _local13 = (_local12 + (_local4 * _local18)); _local15 = (_local14 + (_local4 * _local17)); _local12 = _local13; _local14 = _local15; _local19 = (_local19 - _local4); _local8 = false; _local5 = _local7; } else { _local13 = _local11.x; _local15 = _local11.y; _local12 = _local13; _local14 = _local15; _local4 = (_local4 - _local19); _local20 = false; }; this.graphics.lineTo(_local13, _local15); } else { if (_local5 < _local19){ _local13 = (_local12 + (_local5 * _local18)); _local15 = (_local14 + (_local5 * _local17)); _local12 = _local13; _local14 = _local15; _local19 = (_local19 - _local5); _local8 = true; _local4 = _local6; } else { _local13 = _local11.x; _local15 = _local11.y; _local12 = _local13; _local14 = _local15; _local5 = (_local5 - _local19); _local20 = false; }; this.graphics.moveTo(_local13, _local15); }; }; }; _local2 = _local11.x; _local3 = _local11.y; }; _local9++; }; } override protected function get_element(_arg1:Number, _arg2:Object):Element{ if ((_arg2 is Number)){ _arg2 = {value:_arg2}; }; var _local3:Properties = new Properties(_arg2, this.dot_style); _local3.set("tip", _local3.get("tip").replace("#key#", this.key)); _local3.set("on-show", this.on_show); return (dot_factory.make(_arg1, _local3)); } protected function draw():void{ this.graphics.clear(); this.draw_line(); } public function solid_line():void{ var _local2:Number; var _local3:Sprite; var _local4:Number; var _local5:Number; var _local6:Element; var _local1:Boolean; _local2 = 0; while (_local2 < this.numChildren) { _local3 = (this.getChildAt(_local2) as Sprite); if ((_local3 is Element)){ _local6 = (_local3 as Element); if (_local1){ this.graphics.moveTo(_local6.x, _local6.y); _local4 = _local6.x; _local5 = _local6.y; _local1 = false; } else { this.graphics.lineTo(_local6.x, _local6.y); }; }; _local2++; }; if (this.props.get("loop")){ this.graphics.lineTo(_local4, _local5); }; } protected function animationManager(_arg1:TimerEvent):void{ this.draw(); if (!this.still_animating()){ tr.ace("Line.as : on show animation stop"); this.on_show_timer.stop(); }; } private function still_animating():Boolean{ var _local1:Number; var _local2:Sprite; var _local3:PointDotBase; _local1 = 0; while (_local1 < this.numChildren) { _local2 = (this.getChildAt(_local1) as Sprite); if ((_local2 is PointDotBase)){ _local3 = (_local2 as PointDotBase); if (_local3.is_tweening()){ return (true); }; }; _local1++; }; return (false); } override public function resize(_arg1:ScreenCoordsBase):void{ this.x = (this.y = 0); this.move_dots(_arg1); if (this.on_show_start){ this.start_on_show_timer(); } else { this.draw(); }; } private function start_on_show_timer():void{ this.on_show_start = false; this.on_show_timer = new Timer((1000 / 60)); this.on_show_timer.addEventListener("timer", animationManager); this.on_show_timer.start(); } public function move_dots(_arg1:ScreenCoordsBase):void{ var _local2:Number; var _local3:Sprite; var _local4:Element; _local2 = 0; while (_local2 < this.numChildren) { _local3 = (this.getChildAt(_local2) as Sprite); if ((_local3 is Element)){ _local4 = (_local3 as Element); _local4.resize(_arg1); }; _local2++; }; } override public function get_colour():Number{ return (this.props.get_colour("colour")); } protected function draw_line():void{ this.graphics.lineStyle(this.props.get_colour("width"), this.props.get_colour("colour")); if (this.line_style.style != "solid"){ this.dash_line(); } else { this.solid_line(); }; } } }//package charts
Section 66
//LineStyle (charts.LineStyle) package charts { public class LineStyle { public var style:String; public var on:Number; public var off:Number; public function LineStyle(_arg1:Object){ this.style = "solid"; this.on = 1; this.off = 5; object_helper.merge_2(_arg1, this); } } }//package charts
Section 67
//ObjectCollection (charts.ObjectCollection) package charts { import flash.geom.*; import elements.axis.*; import charts.series.*; public class ObjectCollection { public var sets:Array; public var groups:Number; public function ObjectCollection(){ this.sets = new Array(); } public function die():void{ var _local1:Base; for each (_local1 in this.sets) { _local1.die(); }; } public function add(_arg1:Base):void{ this.sets.push(_arg1); } public function resize(_arg1:ScreenCoordsBase):void{ var _local2:Base; for each (_local2 in this.sets) { _local2.resize(_arg1); }; } public function closest_2(_arg1:Number, _arg2:Number):Array{ var _local3:Element; var _local4:Base; var _local5:Point; var _local7:Number; var _local8:Array; var _local9:Number; var _local10:Array; var _local11:Array; var _local6:Array = new Array(); for each (_local4 in this.sets) { _local11 = _local4.closest_2(_arg1, _arg2); for each (_local3 in _local11) { _local6.push(_local3); }; }; _local7 = Number.MAX_VALUE; for each (_local3 in _local6) { _local5 = _local3.get_mid_point(); _local7 = Math.min(_local7, Math.abs((_arg1 - _local5.x))); }; _local8 = new Array(); for each (_local3 in _local6) { _local5 = _local3.get_mid_point(); if (Math.abs((_arg1 - _local5.x)) == _local7){ _local8.push(_local3); }; }; _local9 = Number.MAX_VALUE; for each (_local3 in _local8) { _local5 = _local3.get_mid_point(); _local9 = Math.min(_local9, Math.abs((_arg2 - _local5.y))); }; _local10 = new Array(); for each (_local3 in _local8) { _local5 = _local3.get_mid_point(); if (Math.abs((_arg2 - _local5.y)) == _local9){ _local10.push(_local3); }; }; return (_local10); } public function tooltip_replace_labels(_arg1:XAxisLabels):void{ var _local2:Base; for each (_local2 in this.sets) { _local2.tooltip_replace_labels(_arg1); }; } public function has_pie():Boolean{ if ((((this.sets.length > 0)) && ((this.sets[0] is Pie)))){ return (true); }; return (false); } public function get_min_x():Number{ var _local2:Base; var _local1:Number = Number.MAX_VALUE; for each (_local2 in this.sets) { _local1 = Math.min(_local1, _local2.get_min_x()); }; return (_local1); } public function mouse_move(_arg1:Number, _arg2:Number):Element{ var _local3:Element; if (!_local3){ _local3 = this.closest(_arg1, _arg2); }; return (_local3); } public function mouse_out():void{ var _local1:Base; for each (_local1 in this.sets) { _local1.mouse_out(); }; } public function mouse_move_proximity(_arg1:Number, _arg2:Number):Array{ var _local3:Element; var _local4:Base; var _local5:Point; var _local7:Number; var _local8:Point; var _local9:Array; var _local10:Array; var _local6:Array = new Array(); for each (_local4 in this.sets) { _local10 = _local4.mouse_proximity(_arg1, _arg2); for each (_local3 in _local10) { _local6.push(_local3); }; }; _local7 = Number.MAX_VALUE; _local8 = new Point(_arg1, _arg2); for each (_local3 in _local6) { _local7 = Math.min(Point.distance(_local3.get_mid_point(), _local8), _local7); }; _local9 = []; for each (_local3 in _local6) { if (Point.distance(_local3.get_mid_point(), _local8) == _local7){ _local9.push(_local3); }; }; return (_local9); } private function closest(_arg1:Number, _arg2:Number):Element{ var _local3:Object; var _local4:Base; var _local6:Number; var _local7:Object; var _local5:Array = new Array(); for each (_local4 in this.sets) { _local5.push(_local4.closest(_arg1, _arg2)); }; _local6 = Number.MAX_VALUE; for each (_local3 in _local5) { _local6 = Math.min(_local6, _local3.distance_x); }; _local7 = {element:null, distance_x:Number.MAX_VALUE, distance_y:Number.MAX_VALUE}; for each (_local3 in _local5) { if (_local3.distance_x == _local6){ if (_local3.distance_y < _local7.distance_y){ _local7 = _local3; }; }; }; if (_local7.element){ _local7.element.set_tip(true); }; return (_local7.element); } public function get_max_x():Number{ var _local2:Base; var _local1:Number = Number.MIN_VALUE; for each (_local2 in this.sets) { _local1 = Math.max(_local1, _local2.get_max_x()); }; return (_local1); } } }//package charts
Section 68
//Pie (charts.Pie) package charts { import global.*; import charts.series.pies.*; import string.*; public class Pie extends Base { private var gradientFill:String;// = "true" private var label_line:Number; private var colours:Array; private var easing:Function; private var props:Properties; public var style:Object; public var total_value:Number;// = 0 private var links:Array; private var border_width:Number;// = 1 private var labels:Array; public function Pie(_arg1:Object){ var _local2:String; super(); this.labels = new Array(); this.links = new Array(); this.colours = new Array(); this.style = {colours:["#900000", "#009000"]}; object_helper.merge_2(_arg1, this.style); for each (_local2 in this.style.colours) { this.colours.push(Utils.get_colour(_local2)); }; this.props = new DefaultPieProperties(_arg1); this.label_line = 10; this.values = _arg1.values; this.add_values(); } override public function add_values():void{ var _local4:Number; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:String; var _local1:Global = Global.getInstance(); var _local2:Number = 0; var _local3:Number = this.props.get("start-angle"); for each (_local5 in this.values) { if ((_local5 is Number)){ _local2 = (_local2 + _local5); } else { _local2 = (_local2 + _local5.value); }; }; this.total_value = _local2; _local4 = 0; for each (_local5 in this.values) { _local6 = ((_local5 is Number)) ? (_local5 as Number) : _local5.value; _local7 = ((_local6 * 360) / _local2); if (_local7 >= 0){ _local8 = this.props.get("tip").replace("#total#", NumberUtils.formatNumber(this.total_value)); _local8 = _local8.replace("#percent#", (NumberUtils.formatNumber(((_local6 / this.total_value) * 100)) + "%")); this.addChild(this.add_slice(_local4, _local3, _local7, _local5, _local8, this.colours[(_local4 % this.colours.length)])); }; _local4++; _local3 = (_local3 + _local7); }; } override public function toString():String{ return ((("Pie with " + this.numChildren) + " children")); } override public function closest(_arg1:Number, _arg2:Number):Object{ return ({Element:null, distance_x:0, distance_y:0}); } private function add_slice(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Object, _arg5:String, _arg6:String):PieSliceContainer{ var _local7:Properties = new Properties({colour:_arg6, tip:_arg5, start:_arg2, angle:_arg3}, this.props); var _local8:Object = {}; if ((_arg4 is Number)){ _local8.value = _arg4; } else { _local8 = _arg4; }; var _local9:Properties = new Properties(_local8, _local7); if (!_local9.has("label")){ _local9.set("label", _local9.get("value").toString()); }; return (new PieSliceContainer(_arg1, _local9)); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local14:Object; var _local15:Number; var _local16:PieSliceContainer; var _local17:Number; var _local18:Object; var _local19:Object; var _local20:Number; var _local2:Number = this.style.radius; if (isNaN(_local2)){ _local2 = (Math.min(_arg1.width, _arg1.height) / 2); _local14 = {top:0, right:0, bottom:0, left:0}; trace("sc.width, sc.height, radius", _arg1.width, _arg1.height, _local2); _local15 = 0; while (_local15 < this.numChildren) { _local16 = (this.getChildAt(_local15) as PieSliceContainer); _local18 = _local16.get_radius_offsets(); for (_local19 in _local14) { if (_local18[_local19] > _local14[_local19]){ _local14[_local19] = _local18[_local19]; }; }; _local15++; }; _local17 = _local2; _local17 = (_local17 - Math.max(_local14.top, _local14.bottom)); if ((_local17 + _local14.left) > (_arg1.width / 2)){ _local17 = ((_arg1.width / 2) - _local14.left); }; if ((_local17 + _local14.right) > (_arg1.width / 2)){ _local17 = ((_arg1.width / 2) - _local14.right); }; _local2 = Math.max(_local17, 10); }; var _local3:Number = 720; var _local4:Number = -1; var _local5:Number = -720; var _local6:Number = -1; var _local7:Number = 720; var _local8:Number = -1; var _local9:Number = -720; var _local10:Number = -1; _local15 = 0; while (_local15 < this.numChildren) { _local16 = (this.getChildAt(_local15) as PieSliceContainer); _local16.pie_resize(_arg1, _local2); _local20 = _local16.getTicAngle(); if (_local20 >= 270){ if ((((_local20 < _local3)) || ((_local3 <= 90)))){ _local3 = _local20; _local4 = _local15; }; if ((((_local5 < 0)) || ((((_local5 > 90)) && ((_local5 < _local20)))))){ _local5 = _local20; _local6 = _local15; }; } else { if (_local20 <= 90){ if ((((_local20 > _local5)) || ((_local5 > 90)))){ _local5 = _local20; _local6 = _local15; }; if ((((_local3 > 360)) || ((((_local3 <= 90)) && ((_local20 < _local5)))))){ _local3 = _local20; _local4 = _local15; }; } else { if (_local20 <= 180){ if ((((_local9 < 0)) || ((_local20 < _local9)))){ _local9 = _local20; _local10 = _local15; }; if ((((_local7 > 360)) || ((_local7 < _local20)))){ _local7 = _local20; _local8 = _local15; }; } else { if ((((_local7 > 360)) || ((_local20 > _local7)))){ _local7 = _local20; _local8 = _local15; }; if ((((_local9 < 0)) || ((_local9 > _local20)))){ _local9 = _local20; _local10 = _local15; }; }; }; }; _local15++; }; var _local11:Number = _local4; var _local12:Number = _arg1.top; var _local13:Boolean; while ((((_local11 >= 0)) && (!(_local13)))) { _local16 = (this.getChildAt(_local11) as PieSliceContainer); _local20 = _local16.getTicAngle(); if ((((_local20 >= 270)) || ((_local20 <= 90)))){ _local12 = _local16.moveLabelDown(_arg1, _local12); ++_local11; if (_local11 >= this.numChildren){ _local11 = 0; }; _local13 = (_local11 == _local4); } else { _local13 = true; }; }; _local11 = _local6; _local12 = _arg1.bottom; _local13 = false; while ((((_local11 >= 0)) && (!(_local13)))) { _local16 = (this.getChildAt(_local11) as PieSliceContainer); _local20 = _local16.getTicAngle(); if ((((_local20 >= 270)) || ((_local20 <= 90)))){ _local12 = _local16.moveLabelUp(_arg1, _local12); --_local11; if (_local11 < 0){ _local11 = (this.numChildren - 1); }; _local13 = (_local11 == _local6); } else { _local13 = true; }; }; _local11 = _local10; _local12 = _arg1.bottom; _local13 = false; while ((((_local11 >= 0)) && (!(_local13)))) { _local16 = (this.getChildAt(_local11) as PieSliceContainer); _local20 = _local16.getTicAngle(); if ((((_local20 > 90)) && ((_local20 < 270)))){ _local12 = _local16.moveLabelUp(_arg1, _local12); ++_local11; if (_local11 >= this.numChildren){ _local11 = 0; }; _local13 = (_local11 == _local10); } else { _local13 = true; }; }; _local11 = _local8; _local12 = _arg1.top; _local13 = false; while ((((_local11 >= 0)) && (!(_local13)))) { _local16 = (this.getChildAt(_local11) as PieSliceContainer); _local20 = _local16.getTicAngle(); if ((((_local20 > 90)) && ((_local20 < 270)))){ _local12 = _local16.moveLabelDown(_arg1, _local12); --_local11; if (_local11 < 0){ _local11 = (this.numChildren - 1); }; _local13 = (_local11 == _local8); } else { _local13 = true; }; }; } } }//package charts
Section 69
//Scatter (charts.Scatter) package charts { import charts.series.dots.*; import string.*; public class Scatter extends ScatterBase { public function Scatter(_arg1:Object){ var _local3:Object; super(_arg1); this.style = {values:[], width:2, colour:"#3030d0", text:"", font-size:12, tip:"[#x#,#y#] #size#", axis:"left"}; var _local2:Object = _arg1["dot-style"]; object_helper.merge_2(_arg1, style); this.default_style = new DefaultDotProperties(_arg1["dot-style"], this.style.colour, this.style.axis); this.line_width = style.width; this.colour = Utils.get_colour(style.colour); this.key = style.text; this.font_size = style["font-size"]; this.circle_size = style["dot-size"]; for each (_local3 in style.values) { if (_local3["dot-size"] == null){ _local3["dot-size"] = style["dot-size"]; }; }; this.values = style.values; this.add_values(); } } }//package charts
Section 70
//ScatterBase (charts.ScatterBase) package charts { import charts.series.*; import flash.display.*; import charts.series.dots.*; import string.*; public class ScatterBase extends Base { protected var props:Properties; protected var style:Object; protected var default_style:DefaultDotProperties; private var dot_style:Properties; private var on_show:Properties; public function ScatterBase(_arg1:Object){ var _local2:Properties = new Properties({colour:"#3030d0", text:"", font-size:12, tip:"#val#", axis:"left"}); this.props = new Properties(_arg1, _local2); this.dot_style = new DefaultDotProperties(_arg1["dot-style"], this.props.get("colour"), this.props.get("axis")); var _local3:Properties = new Properties({type:"explode", cascade:0, delay:0.3}); this.on_show = new Properties(_arg1["on-show"], _local3); } override public function resize(_arg1:ScreenCoordsBase):void{ var _local2:Sprite; var _local4:Element; var _local3:Number = 0; while (_local3 < this.numChildren) { _local2 = (this.getChildAt(_local3) as Sprite); if ((_local2 is Element)){ _local4 = (_local2 as Element); _local4.resize(_arg1); }; _local3++; }; } override protected function get_element(_arg1:Number, _arg2:Object):Element{ var _local3:Object = {width:this.style.width, colour:this.style.colour, tip:this.style.tip}; object_helper.merge_2(this.style["dot-style"], _local3); object_helper.merge_2(_arg2, _local3); if ((_local3.colour is String)){ _local3.colour = Utils.get_colour(_local3.colour); }; var _local4:Properties = new Properties(_arg2, this.dot_style); _local4.set("on-show", this.on_show); return (dot_factory.make(_arg1, _local4)); } } }//package charts
Section 71
//ScatterLine (charts.ScatterLine) package charts { import charts.series.*; import flash.display.*; import charts.series.dots.*; import string.*; public class ScatterLine extends ScatterBase { public var stepgraph:Number;// = 0 public static const STEP_VERTICAL:Number = 2; public static const STEP_HORIZONTAL:Number = 1; public function ScatterLine(_arg1:Object){ super(_arg1); this.blendMode = BlendMode.LAYER; this.style = {values:[], width:2, colour:"#3030d0", text:"", font-size:12, stepgraph:0, axis:"left"}; var _local2:Object = _arg1["dot-style"]; object_helper.merge_2(_arg1, style); this.default_style = new DefaultDotProperties(_arg1["dot-style"], this.style.colour, this.style.axis); this.style.colour = Utils.get_colour(style.colour); this.line_width = style.width; this.colour = this.style.colour; this.key = style.text; this.font_size = style["font-size"]; switch (style["stepgraph"]){ case "horizontal": stepgraph = STEP_HORIZONTAL; break; case "vertical": stepgraph = STEP_VERTICAL; break; }; this.values = style.values; this.add_values(); } public function solid_line(_arg1:ScreenCoordsBase):void{ var _local13:Sprite; var _local14:Element; var _local15:Number; var _local16:Number; var _local2:Boolean; var _local3:Number = 0; var _local4:Number = 0; var _local5:Boolean; var _local6:Boolean; var _local7:Number = NaN; var _local8:Number = NaN; var _local9:Number = this.colour; var _local10:Number = 0.4; var _local11:Object = this.style["area-style"]; if (_local11 != null){ _local6 = true; if (_local11.x != null){ _local7 = _local11.x; }; if (_local11.y != null){ _local8 = _local11.y; }; if (_local11.colour != null){ _local9 = Utils.get_colour(_local11.colour); }; if (_local11.alpha != null){ _local10 = _local11.alpha; }; if (!isNaN(_local7)){ _local7 = _arg1.get_x_from_val(_local7); }; if (!isNaN(_local8)){ _local8 = _arg1.get_y_from_val(_local8); }; }; var _local12:Number = 0; while (_local12 < this.numChildren) { _local13 = (this.getChildAt(_local12) as Sprite); tr.ace("!!"); if ((_local13 is Element)){ _local14 = (_local13 as Element); tr.ace(_local14.x); _local14.resize(_arg1); if (!_local14.visible){ if (((_local6) && ((_local12 > 0)))){ _local15 = (isNaN(_local7)) ? _local3 : _local7; _local16 = (isNaN(_local8)) ? _local4 : _local8; this.graphics.lineStyle(0, _local9, 0); this.graphics.lineTo(_local15, _local16); this.graphics.endFill(); _local5 = true; }; _local2 = true; } else { if (_local2){ if (_local6){ _local15 = (isNaN(_local7)) ? _local14.x : _local7; _local16 = (isNaN(_local8)) ? _local14.y : _local8; this.graphics.beginFill(_local9, _local10); this.graphics.lineStyle(0, _local9, 0); this.graphics.moveTo(_local15, _local16); this.graphics.lineTo(_local14.x, _local14.y); _local5 = false; this.graphics.lineStyle(this.style.width, this.style.colour, 1); } else { this.graphics.moveTo(_local14.x, _local14.y); }; _local2 = false; } else { if (this.stepgraph == STEP_HORIZONTAL){ this.graphics.lineTo(_local14.x, _local4); } else { if (this.stepgraph == STEP_VERTICAL){ this.graphics.lineTo(_local3, _local14.y); }; }; this.graphics.lineTo(_local14.x, _local14.y); }; }; _local3 = _local14.x; _local4 = _local14.y; }; _local12++; }; if (((_local6) && (!(_local5)))){ _local15 = (isNaN(_local7)) ? _local3 : _local7; _local16 = (isNaN(_local8)) ? _local4 : _local8; this.graphics.lineStyle(0, _local9, 0); this.graphics.lineTo(_local15, _local16); this.graphics.endFill(); }; } override public function resize(_arg1:ScreenCoordsBase):void{ super.resize(_arg1); this.graphics.clear(); this.graphics.lineStyle(this.style.width, this.style.colour); this.solid_line(_arg1); } } }//package charts
Section 72
//Shape (charts.Shape) package charts { import flash.geom.*; import string.*; public class Shape extends Base { private var style:Object; public function Shape(_arg1:Object){ var _local2:Object; super(); this.style = {points:[], colour:"#808080", alpha:0.5}; object_helper.merge_2(_arg1, this.style); this.style.colour = Utils.get_colour(this.style.colour); for each (_local2 in _arg1.values) { this.style.points.push(new Point(_local2.x, _local2.y)); }; } override public function resize(_arg1:ScreenCoordsBase):void{ var _local3:Point; this.graphics.clear(); this.graphics.lineStyle(0, 0, 0); this.graphics.beginFill(this.style.colour, this.style.alpha); var _local2:Boolean; for each (_local3 in this.style.points) { if (!_local2){ this.graphics.moveTo(_arg1.get_x_from_val(_local3.x), _arg1.get_y_from_val(_local3.y)); } else { this.graphics.lineTo(_arg1.get_x_from_val(_local3.x), _arg1.get_y_from_val(_local3.y)); }; _local2 = true; }; this.graphics.endFill(); } } }//package charts
Section 73
//PNGEncoder (com.adobe.images.PNGEncoder) package com.adobe.images { import flash.utils.*; import flash.display.*; public class PNGEncoder { private static var crcTableComputed:Boolean = false; private static var crcTable:Array; private static function writeChunk(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray):void{ var _local8:uint; var _local9:uint; var _local10:uint; if (!crcTableComputed){ crcTableComputed = true; crcTable = []; _local9 = 0; while (_local9 < 0x0100) { _local8 = _local9; _local10 = 0; while (_local10 < 8) { if ((_local8 & 1)){ _local8 = uint((uint(3988292384) ^ uint((_local8 >>> 1)))); } else { _local8 = uint((_local8 >>> 1)); }; _local10++; }; crcTable[_local9] = _local8; _local9++; }; }; var _local4:uint; if (_arg3 != null){ _local4 = _arg3.length; }; _arg1.writeUnsignedInt(_local4); var _local5:uint = _arg1.position; _arg1.writeUnsignedInt(_arg2); if (_arg3 != null){ _arg1.writeBytes(_arg3); }; var _local6:uint = _arg1.position; _arg1.position = _local5; _local8 = 4294967295; var _local7:int; while (_local7 < (_local6 - _local5)) { _local8 = uint((crcTable[((_local8 ^ _arg1.readUnsignedByte()) & uint(0xFF))] ^ uint((_local8 >>> 8)))); _local7++; }; _local8 = uint((_local8 ^ uint(4294967295))); _arg1.position = _local6; _arg1.writeUnsignedInt(_local8); } public static function encode(_arg1:BitmapData):ByteArray{ var _local6:uint; var _local7:int; var _local2:ByteArray = new ByteArray(); _local2.writeUnsignedInt(2303741511); _local2.writeUnsignedInt(218765834); var _local3:ByteArray = new ByteArray(); _local3.writeInt(_arg1.width); _local3.writeInt(_arg1.height); _local3.writeUnsignedInt(134610944); _local3.writeByte(0); writeChunk(_local2, 1229472850, _local3); var _local4:ByteArray = new ByteArray(); var _local5:int; while (_local5 < _arg1.height) { _local4.writeByte(0); if (!_arg1.transparent){ _local7 = 0; while (_local7 < _arg1.width) { _local6 = _arg1.getPixel(_local7, _local5); _local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | 0xFF))); _local7++; }; } else { _local7 = 0; while (_local7 < _arg1.width) { _local6 = _arg1.getPixel32(_local7, _local5); _local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | (_local6 >>> 24)))); _local7++; }; }; _local5++; }; _local4.compress(); writeChunk(_local2, 1229209940, _local4); writeChunk(_local2, 1229278788, null); return (_local2); } } }//package com.adobe.images
Section 74
//JSON (com.serialization.json.JSON) package com.serialization.json { public class JSON { public static function serialize(_arg1):String{ var _local2:String; var _local3:Number; var _local4:Number; var _local6:*; var _local7:String; var _local8:Number; var _local5 = ""; switch (typeof(_arg1)){ case "object": if (_arg1){ if ((_arg1 is Array)){ _local4 = _arg1.length; _local3 = 0; while (_local3 < _local4) { _local6 = serialize(_arg1[_local3]); if (_local5){ _local5 = (_local5 + ","); }; _local5 = (_local5 + _local6); _local3++; }; return ((("[" + _local5) + "]")); } else { if (typeof(_arg1.toString) != "undefined"){ for (_local7 in _arg1) { _local6 = _arg1[_local7]; if (((!((typeof(_local6) == "undefined"))) && (!((typeof(_local6) == "function"))))){ _local6 = serialize(_local6); if (_local5){ _local5 = (_local5 + ","); }; _local5 = (_local5 + ((serialize(_local7) + ":") + _local6)); }; }; return ((("{" + _local5) + "}")); }; }; }; return ("null"); case "number": return ((isFinite(_arg1)) ? String(_arg1) : "null"); case "string": _local4 = _arg1.length; _local5 = "\""; _local3 = 0; while (_local3 < _local4) { _local2 = _arg1.charAt(_local3); if (_local2 >= " "){ if ((((_local2 == "\\")) || ((_local2 == "\"")))){ _local5 = (_local5 + "\\"); }; _local5 = (_local5 + _local2); } else { switch (_local2){ case "\b": _local5 = (_local5 + "\\b"); break; case "\f": _local5 = (_local5 + "\\f"); break; case "\n": _local5 = (_local5 + "\\n"); break; case "\r": _local5 = (_local5 + "\\r"); break; case "\t": _local5 = (_local5 + "\\t"); break; default: _local8 = _local2.charCodeAt(); _local5 = (_local5 + (("\\u00" + Math.floor((_local8 / 16)).toString(16)) + (_local8 % 16).toString(16))); }; }; _local3 = (_local3 + 1); }; return ((_local5 + "\"")); case "boolean": return (String(_arg1)); default: return ("null"); }; } public static function deserialize(_arg1:String){ var at:Number; var ch:String; var _isDigit:Function; var _isHexDigit:Function; var _white:Function; var _string:Function; var _next:Function; var _array:Function; var _object:Function; var _number:Function; var _word:Function; var _value:Function; var _error:Function; var source = _arg1; source = new String(source); at = 0; ch = " "; _isDigit = function (_arg1:String){ return (((("0" <= _arg1)) && ((_arg1 <= "9")))); }; _isHexDigit = function (_arg1:String){ return (((((_isDigit(_arg1)) || (((("A" <= _arg1)) && ((_arg1 <= "F")))))) || (((("a" <= _arg1)) && ((_arg1 <= "f")))))); }; _error = function (_arg1:String):void{ throw (new Error(_arg1, (at - 1))); }; _next = function (){ ch = source.charAt(at); at = (at + 1); return (ch); }; _white = function ():void{ while (ch) { if (ch <= " "){ _next(); } else { if (ch == "/"){ switch (_next()){ case "/": do { } while (((((_next()) && (!((ch == "\n"))))) && (!((ch == "\r"))))); break; case "*": _next(); while (true) { if (ch){ if (ch == "*"){ if (_next() == "/"){ _next(); break; }; } else { _next(); }; } else { _error("Unterminated Comment"); }; }; break; default: _error("Syntax Error"); }; } else { break; }; }; }; }; _string = function (){ var _local3:*; var _local4:*; var _local1:* = ""; var _local2:* = ""; var _local5:Boolean; if (ch == "\""){ while (_next()) { if (ch == "\""){ _next(); return (_local2); }; if (ch == "\\"){ switch (_next()){ case "b": _local2 = (_local2 + "\b"); break; case "f": _local2 = (_local2 + "\f"); break; case "n": _local2 = (_local2 + "\n"); break; case "r": _local2 = (_local2 + "\r"); break; case "t": _local2 = (_local2 + "\t"); break; case "u": _local4 = 0; _local1 = 0; while (_local1 < 4) { _local3 = parseInt(_next(), 16); if (!isFinite(_local3)){ _local5 = true; break; }; _local4 = ((_local4 * 16) + _local3); _local1 = (_local1 + 1); }; if (_local5){ _local5 = false; break; }; _local2 = (_local2 + String.fromCharCode(_local4)); break; default: _local2 = (_local2 + ch); }; } else { _local2 = (_local2 + ch); }; }; }; _error("Bad String"); return (null); }; _array = function (){ var _local1:Array = []; if (ch == "["){ _next(); _white(); if (ch == "]"){ _next(); return (_local1); }; while (ch) { _local1.push(_value()); _white(); if (ch == "]"){ _next(); return (_local1); }; if (ch != ","){ break; }; _next(); _white(); }; }; _error("Bad Array"); return (null); }; _object = function (){ var _local1:* = {}; var _local2:* = {}; if (ch == "{"){ _next(); _white(); if (ch == "}"){ _next(); return (_local2); }; while (ch) { _local1 = _string(); _white(); if (ch != ":"){ break; }; _next(); _local2[_local1] = _value(); _white(); if (ch == "}"){ _next(); return (_local2); }; if (ch != ","){ break; }; _next(); _white(); }; }; _error("Bad Object"); }; _number = function (){ var _local2:*; var _local1:* = ""; var _local3 = ""; var _local4 = ""; if (ch == "-"){ _local1 = "-"; _local4 = _local1; _next(); }; if (ch == "0"){ _next(); if ((((ch == "x")) || ((ch == "X")))){ _next(); while (_isHexDigit(ch)) { _local3 = (_local3 + ch); _next(); }; if (_local3 == ""){ _error("mal formed Hexadecimal"); } else { return (Number(((_local4 + "0x") + _local3))); }; } else { _local1 = (_local1 + "0"); }; }; while (_isDigit(ch)) { _local1 = (_local1 + ch); _next(); }; if (ch == "."){ _local1 = (_local1 + "."); while (((((_next()) && ((ch >= "0")))) && ((ch <= "9")))) { _local1 = (_local1 + ch); }; }; _local2 = (1 * _local1); if (!isFinite(_local2)){ _error("Bad Number"); } else { return (_local2); }; return (NaN); }; _word = function (){ switch (ch){ case "t": if ((((((_next() == "r")) && ((_next() == "u")))) && ((_next() == "e")))){ _next(); return (true); }; break; case "f": if ((((((((_next() == "a")) && ((_next() == "l")))) && ((_next() == "s")))) && ((_next() == "e")))){ _next(); return (false); }; break; case "n": if ((((((_next() == "u")) && ((_next() == "l")))) && ((_next() == "l")))){ _next(); return (null); }; break; }; _error("Syntax Error"); return (null); }; _value = function (){ _white(); switch (ch){ case "{": return (_object()); case "[": return (_array()); case "\"": return (_string()); case "-": return (_number()); default: return (((((ch >= "0")) && ((ch <= "9")))) ? _number() : _word()); }; }; return (_value()); } } }//package com.serialization.json
Section 75
//AxisLabel (elements.axis.AxisLabel) package elements.axis { import flash.geom.*; import flash.text.*; import flash.display.*; public class AxisLabel extends TextField { public var rightOverhang:Number;// = 0 public var yVal:Number;// = NAN public var xVal:Number;// = NAN public var leftOverhang:Number;// = 0 public var yAdj:Number;// = 0 public var xAdj:Number;// = 0 public function rotate_and_align(_arg1:Number, _arg2:String, _arg3:Sprite):void{ _arg1 = (_arg1 % 360); if (_arg1 < 0){ _arg1 = (_arg1 + 360); }; var _local4:Number = (this.width * Math.cos(((_arg1 * Math.PI) / 180))); var _local5:Number = (this.height * Math.cos((((90 - _arg1) * Math.PI) / 180))); var _local6:Number = (this.height * Math.sin((((90 - _arg1) * Math.PI) / 180))); var _local7:Number = (this.width * Math.sin(((_arg1 * Math.PI) / 180))); if (((((_arg1 % 90) == 0)) || ((_arg2 == "center")))){ this.xAdj = ((_local5 - _local4) / 2); } else { this.xAdj = ((_arg1)<180) ? (_local5 / 2) : (-(_local4) + (_local5 / 2)); }; if (_arg1 > 90){ this.yAdj = -(_local6); }; if (_arg1 > 180){ this.yAdj = (-(_local6) - _local7); }; if (_arg1 > 270){ this.yAdj = -(_local7); }; this.rotation = _arg1; var _local8:Rectangle = this.getBounds(_arg3); this.leftOverhang = Math.abs((_local8.x + this.xAdj)); this.rightOverhang = Math.abs(((_local8.x + _local8.width) + this.xAdj)); } } }//package elements.axis
Section 76
//RadarAxis (elements.axis.RadarAxis) package elements.axis { import flash.geom.*; import flash.display.*; import string.*; public class RadarAxis extends Sprite { private var grid_colour:Number; private var colour:Number; private var TO_RADIANS:Number;// = 0.0174532925199433 private var style:Object; private var spoke_labels:RadarSpokeLabels; private var labels:RadarAxisLabels; public function RadarAxis(_arg1:Object){ this.style = {stroke:2, colour:"#784016", grid-colour:"#F5E1AA", min:0, max:null, steps:1}; if (_arg1 != null){ object_helper.merge_2(_arg1, this.style); }; this.colour = Utils.get_colour(this.style.colour); this.grid_colour = Utils.get_colour(this.style["grid-colour"]); this.labels = new RadarAxisLabels(_arg1.labels); this.addChild(this.labels); this.spoke_labels = new RadarSpokeLabels(_arg1["spoke-labels"]); this.addChild(this.spoke_labels); } public function die():void{ this.style = null; this.labels.die(); this.spoke_labels.die(); this.graphics.clear(); while (this.numChildren > 0) { this.removeChildAt(0); }; } private function draw_grid(_arg1:ScreenCoordsRadar, _arg2:Number):void{ var _local5:Point; var _local7:Number; this.graphics.lineStyle(1, this.grid_colour, 1, true); var _local3:Number = (_arg1.get_max() + 1E-5); var _local4:Number = this.style.steps; var _local6:Number = _local4; while (_local6 <= _local3) { _local5 = _arg1.get_get_x_from_pos_and_y_from_val(0, _local6); this.graphics.moveTo(_local5.x, _local5.y); _local7 = 1; while (_local7 < (_arg2 + 1)) { _local5 = _arg1.get_get_x_from_pos_and_y_from_val(_local7, _local6); this.graphics.lineTo(_local5.x, _local5.y); _local7++; }; _local6 = (_local6 + _local4); }; } private function draw_axis(_arg1:ScreenCoordsRadar, _arg2:Number):void{ var _local4:Point; var _local5:Point; this.graphics.lineStyle(this.style.stroke, this.colour, 1, true); var _local3:Number = 0; while (_local3 < _arg2) { _local4 = _arg1.get_get_x_from_pos_and_y_from_val(_local3, 0); this.graphics.moveTo(_local4.x, _local4.y); _local5 = _arg1.get_get_x_from_pos_and_y_from_val(_local3, _arg1.get_max()); this.graphics.lineTo(_local5.x, _local5.y); _local3++; }; } public function get_range():Range{ return (new Range(this.style.min, this.style.max, this.style.steps, false)); } public function resize(_arg1:ScreenCoordsRadar):void{ this.x = 0; this.y = 0; this.graphics.clear(); this.spoke_labels.resize(_arg1); var _local2:Number = _arg1.get_angles(); this.draw_grid(_arg1, _local2); this.draw_axis(_arg1, _local2); this.labels.resize(_arg1); } } }//package elements.axis
Section 77
//RadarAxisLabels (elements.axis.RadarAxisLabels) package elements.axis { import flash.text.*; import flash.display.*; import string.*; public class RadarAxisLabels extends Sprite { private var style:Object; public var labels:Array; public function RadarAxisLabels(_arg1:Object){ var _local2:Array; var _local4:Object; super(); this.style = {colour:"#784016", steps:1}; if (_arg1 != null){ object_helper.merge_2(_arg1, this.style); }; this.style.colour = Utils.get_colour(this.style.colour); this.labels = new Array(); var _local3:Boolean; if ((((this.style.labels is Array)) && ((this.style.labels.length > 0)))){ for each (_local4 in this.style.labels) { this.add(_local4, this.style); }; }; } public function die():void{ this.style = null; this.labels = null; this.graphics.clear(); while (this.numChildren > 0) { this.removeChildAt(0); }; } public function add(_arg1:Object, _arg2:Object):void{ var _local3:Object = {colour:_arg2.colour, text:"", size:_arg2.size, visible:true}; if ((_arg1 is String)){ _local3.text = (_arg1 as String); } else { object_helper.merge_2(_arg1, _local3); }; if ((_local3.colour is String)){ _local3.colour = Utils.get_colour(_local3.colour); }; this.labels.push(_local3.text); if (_local3.visible == null){ if (((this.labels.length - 1) % _arg2.steps) == 0){ _local3.visible = true; } else { _local3.visible = false; }; }; var _local4:TextField = this.make_label(_local3); this.addChild(_local4); } public function resize(_arg1:ScreenCoordsRadar):void{ var _local2:Number; var _local3:TextField; var _local4:Number = _arg1.get_center_x(); _local2 = 0; while (_local2 < this.numChildren) { _local3 = (this.getChildAt(_local2) as TextField); _local3.x = (_local4 - _local3.width); _local2++; }; _local2 = 0; while (_local2 < this.numChildren) { _local3 = (this.getChildAt(_local2) as TextField); _local3.y = (_arg1.get_y_from_val(_local2, false) - (_local3.height / 2)); _local2++; }; } public function make_label(_arg1:Object):TextField{ var _local2:TextField = new TextField(); _local2.x = 0; _local2.y = 0; _local2.text = _arg1.text; var _local3:TextFormat = new TextFormat(); _local3.color = _arg1.colour; _local3.font = "Verdana"; _local3.size = _arg1.size; _local3.align = "right"; _local2.setTextFormat(_local3); _local2.autoSize = "left"; _local2.visible = _arg1.visible; return (_local2); } } }//package elements.axis
Section 78
//RadarSpokeLabels (elements.axis.RadarSpokeLabels) package elements.axis { import flash.geom.*; import flash.text.*; import flash.display.*; import string.*; public class RadarSpokeLabels extends Sprite { private var style:Object; public var labels:Array; public function RadarSpokeLabels(_arg1:Object){ var _local2:Array; var _local4:Object; super(); this.style = {colour:"#784016"}; if (_arg1 != null){ object_helper.merge_2(_arg1, this.style); }; this.style.colour = Utils.get_colour(this.style.colour); this.labels = new Array(); var _local3:Boolean; if ((((this.style.labels is Array)) && ((this.style.labels.length > 0)))){ for each (_local4 in this.style.labels) { this.add(_local4, this.style); }; }; } public function die():void{ this.style = null; this.labels = null; this.graphics.clear(); while (this.numChildren > 0) { this.removeChildAt(0); }; } public function add(_arg1:Object, _arg2:Object):void{ var _local3:Object = {colour:_arg2.colour, text:"", size:11}; if ((_arg1 is String)){ _local3.text = (_arg1 as String); } else { object_helper.merge_2(_arg1, _local3); }; if ((_local3.colour is String)){ _local3.colour = Utils.get_colour(_local3.colour); }; this.labels.push(_local3.text); var _local4:TextField = this.make_label(_local3); this.addChild(_local4); } public function resize(_arg1:ScreenCoordsRadar):void{ var _local2:TextField; var _local4:Boolean; var _local3:Number = 0; do { _local4 = false; this.resize_2(_arg1); _local3 = 0; while (_local3 < this.numChildren) { _local2 = (this.getChildAt(_local3) as TextField); if ((((((((_local2.x < _arg1.left)) || ((_local2.y < _arg1.top)))) || (((_local2.y + _local2.height) > _arg1.bottom)))) || (((_local2.x + _local2.width) > _arg1.right)))){ _local4 = true; }; _local3++; }; _arg1.reduce_radius(); } while (((_local4) && ((_arg1.get_radius() > 10)))); } private function resize_2(_arg1:ScreenCoordsRadar):void{ var _local2:Number; var _local3:TextField; var _local5:Point; var _local4:Number = _arg1.get_center_x(); _local2 = 0; while (_local2 < this.numChildren) { _local3 = (this.getChildAt(_local2) as TextField); _local5 = _arg1.get_get_x_from_pos_and_y_from_val(_local2, _arg1.get_max()); if (_local5.x > _local4){ _local3.x = _local5.x; } else { _local3.x = (_local5.x - _local3.width); }; if (_local2 == 0){ _local3.y = (_local5.y - _local3.height); _local3.x = _local5.x; } else { _local3.y = _local5.y; }; _local2++; }; } public function make_label(_arg1:Object):TextField{ var _local2:TextField = new TextField(); _local2.x = 0; _local2.y = 0; var _local3:Array = _arg1.text.split("<br>"); var _local4:String = _local3.join("\n"); _local2.text = _local4; var _local5:TextFormat = new TextFormat(); _local5.color = _arg1.colour; _local5.font = "Verdana"; _local5.size = _arg1.size; _local5.align = "right"; _local2.setTextFormat(_local5); _local2.autoSize = "left"; _local2.visible = true; return (_local2); } } }//package elements.axis
Section 79
//XAxis (elements.axis.XAxis) package elements.axis { import flash.geom.*; import flash.display.*; import string.*; import charts.series.bars.*; public class XAxis extends Sprite { private var user_ticks:Boolean; private var three_d:Boolean; private var tick_height:Number; private var colour:Number; public var offset:Boolean; private var alt_axis_step:Number; private var alt_axis_colour:Number; private var three_d_height:Number; private var grid_colour:Number; private var steps:Number; private var style:Object; private var user_labels:Array; private var stroke:Number; private var grid_visible:Boolean; public var labels:XAxisLabels; public function XAxis(_arg1:Object, _arg2:Number, _arg3:Number){ this.style = {stroke:2, tick-height:3, colour:"#784016", offset:true, grid-colour:"#F5E1AA", grid-visible:true, 3d:0, steps:1, min:0, max:null}; if (_arg1 != null){ object_helper.merge_2(_arg1.x_axis, this.style); }; this.calcSteps(); this.stroke = this.style.stroke; this.tick_height = this.style["tick-height"]; this.colour = this.style.colour; this.offset = this.style.offset; this.grid_visible = this.style["grid-visible"]; this.colour = Utils.get_colour(this.style.colour); this.grid_colour = Utils.get_colour(this.style["grid-colour"]); if (style["3d"] > 0){ this.three_d = true; this.three_d_height = int(this.style["3d"]); } else { this.three_d = false; }; if (_arg1){ if (_arg1.x_label_style != undefined){ if (_arg1.x_label_style.alt_axis_step != undefined){ this.alt_axis_step = _arg1.x_label_style.alt_axis_step; }; if (_arg1.x_label_style.alt_axis_colour != undefined){ this.alt_axis_colour = Utils.get_colour(_arg1.x_label_style.alt_axis_colour); }; }; }; this.labels = new XAxisLabels(_arg1); this.addChild(this.labels); if (!this.range_set()){ if (this.labels.need_labels){ this.set_range(_arg2, _arg3); } else { if (this.labels.count() > _arg3){ this.set_range(0, this.labels.count()); } else { this.set_range(_arg2, _arg3); }; }; } else { this.labels.auto_label(this.get_range(), this.get_steps()); }; this.make_user_ticks(); } public function first_label_width():Number{ return (this.labels.first_label_width()); } public function get_steps():Number{ return (this.steps); } public function die():void{ this.style = null; this.graphics.clear(); while (this.numChildren > 0) { this.removeChildAt(0); }; if (this.labels != null){ this.labels.die(); }; this.labels = null; } private function make_user_ticks():void{ var _local1:Object; var _local2:Object; if (((((((!((this.style.labels == null))) && (!((this.style.labels.labels == null))))) && ((this.style.labels.labels is Array)))) && ((this.style.labels.labels.length > 0)))){ this.user_labels = new Array(); for each (_local1 in this.style.labels.labels) { if (!(_local1 is String)){ if (_local1.x != null){ _local2 = {x:_local1.x}; if (_local1["grid-colour"]){ _local2["grid-colour"] = Utils.get_colour(_local1["grid-colour"]); } else { _local2["grid-colour"] = this.grid_colour; }; this.user_ticks = true; this.user_labels.push(_local2); }; }; }; }; } private function calcSteps():void{ var _local1:Number; var _local2:Boolean; if (this.style.max == null){ this.steps = 1; } else { _local1 = (this.style.max - this.style.min); _local2 = (this.style.min >= this.style.max); this.steps = (((!((this.style.steps == null))) && (!((this.style.steps == 0))))) ? this.style.steps : 1; if ((Math.abs(_local1) / this.steps) > 250){ this.steps = (_local1 / 250); }; this.steps = (_local2) ? -(Math.abs(this.steps)) : Math.abs(this.steps); }; } public function three_d_axis(_arg1:ScreenCoords):void{ var _local12:Object; var _local13:Number; var _local14:Number; var _local15:Number; var _local2:Number = this.three_d_height; var _local3:Number = 12; var _local4:Number = (_local2 + _local3); var _local5:Number = (_arg1.width / this.style.max); this.graphics.lineStyle(0, 0, 0); var _local6:Number = 1; if (this.user_ticks){ for each (_local12 in this.user_labels) { _local13 = _arg1.get_x_from_val(_local12.x); this.graphics.beginFill(this.colour, 1); this.graphics.drawRect(_local13, (_arg1.bottom + _local4), _local6, this.tick_height); this.graphics.endFill(); }; } else { _local14 = 0; while (_local14 < this.style.max) { _local15 = _arg1.get_x_tick_pos(_local14); this.graphics.beginFill(this.colour, 1); this.graphics.drawRect(_local15, (_arg1.bottom + _local4), _local6, this.tick_height); this.graphics.endFill(); _local14 = (_local14 + this.steps); }; }; var _local7:Number = Bar3D.Lighten(this.colour); var _local8:Array = [this.colour, _local7]; var _local9:Array = [100, 100]; var _local10:Array = [0, 0xFF]; var _local11:Matrix = new Matrix(); _local11.createGradientBox(_arg1.width_(), _local3, ((270 / 180) * Math.PI), (_arg1.left - _local3), _arg1.bottom); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local11, "pad"); this.graphics.moveTo(_arg1.left, _arg1.bottom); this.graphics.lineTo(_arg1.right, _arg1.bottom); this.graphics.lineTo((_arg1.right - _local3), (_arg1.bottom + _local3)); this.graphics.lineTo((_arg1.left - _local3), (_arg1.bottom + _local3)); this.graphics.endFill(); _local8 = [this.colour, _local7]; _local9 = [100, 100]; _local10 = [0, 0xFF]; _local11.createGradientBox(_arg1.width_(), _local2, ((270 / 180) * Math.PI), (_arg1.left - _local3), (_arg1.bottom + _local3)); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local11); this.graphics.moveTo((_arg1.left - _local3), (_arg1.bottom + _local3)); this.graphics.lineTo((_arg1.right - _local3), (_arg1.bottom + _local3)); this.graphics.lineTo((_arg1.right - _local3), ((_arg1.bottom + _local3) + _local2)); this.graphics.lineTo((_arg1.left - _local3), ((_arg1.bottom + _local3) + _local2)); this.graphics.endFill(); _local8 = [this.colour, _local7]; _local9 = [100, 100]; _local10 = [0, 0xFF]; _local11.createGradientBox(_arg1.width_(), _local2, ((225 / 180) * Math.PI), (_arg1.left - _local3), (_arg1.bottom + _local3)); this.graphics.beginGradientFill("linear", _local8, _local9, _local10, _local11); this.graphics.moveTo(_arg1.right, _arg1.bottom); this.graphics.lineTo(_arg1.right, (_arg1.bottom + _local2)); this.graphics.lineTo((_arg1.right - _local3), ((_arg1.bottom + _local3) + _local2)); this.graphics.lineTo((_arg1.right - _local3), (_arg1.bottom + _local3)); this.graphics.endFill(); } public function range_set():Boolean{ return (!((this.style.max == null))); } public function last_label_width():Number{ return (this.labels.last_label_width()); } public function get_range():Range{ return (new Range(this.style.min, this.style.max, this.steps, this.offset)); } public function set_range(_arg1:Number, _arg2:Number):void{ this.style.min = _arg1; this.style.max = _arg2; this.calcSteps(); this.labels.auto_label(this.get_range(), this.get_steps()); } public function two_d_axis(_arg1:ScreenCoords):void{ var _local4:Object; var _local5:Number; var _local6:Number; var _local2:Number = (_arg1.width / this.style.max); var _local3:Number = (_arg1.left + (_local2 / 2)); this.graphics.lineStyle(0, 0, 0); this.graphics.beginFill(this.colour); this.graphics.drawRect(_arg1.left, _arg1.bottom, _arg1.width, this.stroke); this.graphics.endFill(); if (this.user_ticks){ for each (_local4 in this.user_labels) { _local5 = _arg1.get_x_from_val(_local4.x); this.graphics.beginFill(this.colour, 1); this.graphics.drawRect((_local5 - (this.stroke / 2)), (_arg1.bottom + this.stroke), this.stroke, this.tick_height); this.graphics.endFill(); }; } else { _local6 = this.style.min; while (_local6 <= this.style.max) { _local5 = _arg1.get_x_from_val(_local6); this.graphics.beginFill(this.colour, 1); this.graphics.drawRect((_local5 - (this.stroke / 2)), (_arg1.bottom + this.stroke), this.stroke, this.tick_height); this.graphics.endFill(); _local6 = (_local6 + this.steps); }; }; } public function get_height():Number{ if (this.three_d){ return ((((this.three_d_height + 12) + this.tick_height) + this.labels.get_height())); }; return (((this.stroke + this.tick_height) + this.labels.get_height())); } public function resize(_arg1:ScreenCoords, _arg2:Number):void{ var _local3:Object; var _local4:Number; var _local5:Boolean; var _local6:Number; var _local7:Number; this.graphics.clear(); if (this.user_ticks){ for each (_local3 in this.user_labels) { this.graphics.beginFill(_local3["grid-colour"], 1); _local4 = _arg1.get_x_from_val(_local3.x); this.graphics.drawRect(_local4, _arg1.top, 1, _arg1.height); this.graphics.endFill(); }; } else { if (this.grid_visible){ _local5 = (this.style.min >= this.style.max); _local6 = this.style.max; _local7 = this.style.min; while ((_local5) ? (_local7 >= _local6) : (_local7 <= _local6)) { if ((((this.alt_axis_step > 1)) && (((_local7 % this.alt_axis_step) == 0)))){ this.graphics.beginFill(this.alt_axis_colour, 1); } else { this.graphics.beginFill(this.grid_colour, 1); }; _local4 = _arg1.get_x_from_val(_local7); this.graphics.drawRect(_local4, _arg1.top, 1, _arg1.height); this.graphics.endFill(); _local7 = (_local7 + this.steps); }; }; }; if (this.three_d){ this.three_d_axis(_arg1); } else { this.two_d_axis(_arg1); }; this.labels.resize(_arg1, _arg2); } } }//package elements.axis
Section 80
//XAxisLabels (elements.axis.XAxisLabels) package elements.axis { import flash.text.*; import flash.display.*; import string.*; public class XAxisLabels extends Sprite { public var need_labels:Boolean; private var userSpecifiedVisible:Object; private var style:Object; public var axis_labels:Array; public static var ArialFont__:Class = XAxisLabels_ArialFont__; public function XAxisLabels(_arg1:Object){ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; super(); this.need_labels = true; this.style = {rotate:0, visible:null, labels:null, text:"#val#", steps:null, size:10, align:"auto", colour:"#000000", visible-steps:null}; this.axis_labels = new Array(); if (((!((_arg1.x_axis == null))) && (!((_arg1.x_axis.labels == null))))){ object_helper.merge_2(_arg1.x_axis.labels, this.style); }; this.userSpecifiedVisible = this.style.visible; if (this.style.visible == null){ this.style.visible = true; }; if ((this.style.rotate is String)){ if (this.style.rotate == "vertical"){ this.style.rotate = 270; } else { if (this.style.rotate == "diagonal"){ this.style.rotate = -45; }; }; }; this.style.colour = Utils.get_colour(this.style.colour); if ((((this.style.labels is Array)) && ((this.style.labels.length > 0)))){ this.need_labels = false; if (this.style.steps == null){ this.style.steps = 1; }; _local2 = 0; _local3 = 0; _local4 = ((this.style["visible-steps"])==null) ? this.style.steps : this.style["visible-steps"]; for each (_local5 in this.style.labels) { _local6 = {}; object_helper.merge_2(this.style, _local6); _local6.visible = ((_local3 % _local4) == 0); _local6.x = _local2; this.add(_local5, _local6); _local2++; _local3++; }; }; } public function die():void{ this.axis_labels = null; this.style = null; this.graphics.clear(); while (this.numChildren > 0) { this.removeChildAt(0); }; } public function make_label(_arg1:Object):TextField{ var _local2:AxisLabel = new AxisLabel(); _local2.x = 0; _local2.y = 0; _local2.text = _arg1.text; var _local3:TextFormat = new TextFormat(); _local3.color = _arg1.colour; if (_arg1.rotate != 0){ _local3.font = "spArial"; _local2.embedFonts = true; } else { _local3.font = "Verdana"; }; _local3.size = _arg1.size; _local3.align = "left"; _local2.setTextFormat(_local3); _local2.autoSize = "left"; _local2.rotate_and_align(_arg1.rotate, _arg1.align, this); _local2.visible = _arg1.visible; if (_arg1.x != null){ _local2.xVal = _arg1.x; }; return (_local2); } public function auto_label(_arg1:Range, _arg2:Number):void{ var _local3:Boolean; var _local4:Number; var _local5:Number; var _local6:Object; var _local7:Number; var _local8:Number; if (this.need_labels){ _local3 = (_arg1.min >= _arg1.max); _local4 = 1; if (this.style.steps != null){ _local4 = this.style.steps; }; if (Math.abs((_arg1.count() / _local4)) > 250){ _local4 = (_arg1.count() / 250); }; _local4 = (_local3) ? -(Math.abs(_local4)) : Math.abs(_local4); _local5 = ((this.style["visible-steps"])==null) ? _arg2 : this.style["visible-steps"]; _local6 = {}; object_helper.merge_2(this.style, _local6); _local7 = 0; _local8 = _arg1.min; while ((_local3) ? (_local8 >= _arg1.max) : (_local8 <= _arg1.max)) { _local6.x = _local8; if (this.userSpecifiedVisible == null){ _local6.visible = ((_local7 % _local5) == 0); _local7++; } else { _local6.visible = this.userSpecifiedVisible; }; this.add(null, _local6); _local8 = (_local8 + _local4); }; }; } public function first_label_width():Number{ if (this.numChildren > 0){ return ((AxisLabel(this.getChildAt(0)).leftOverhang * 2)); }; return (0); } public function count():Number{ return ((this.axis_labels.length - 1)); } public function last_label_width():Number{ if (this.numChildren > 0){ return ((AxisLabel(this.getChildAt((this.numChildren - 1))).rightOverhang * 2)); }; return (0); } public function resize(_arg1:ScreenCoords, _arg2:Number):void{ var _local5:AxisLabel; this.graphics.clear(); var _local3:Number = 0; var _local4:Number = 0; while (_local4 < this.numChildren) { _local5 = (this.getChildAt(_local4) as AxisLabel); if (isNaN(_local5.xVal)){ _local5.x = (_arg1.get_x_tick_pos(_local4) + _local5.xAdj); } else { _local5.x = (_arg1.get_x_from_val(_local5.xVal) + _local5.xAdj); }; _local5.y = (_arg2 + _local5.yAdj); _local4++; }; } public function get(_arg1:Number):String{ if (_arg1 < this.axis_labels.length){ return (this.axis_labels[_arg1]); }; return (""); } public function get_height():Number{ var _local3:DisplayObject; var _local1:Number = 0; var _local2:Number = 0; while (_local2 < this.numChildren) { _local3 = this.getChildAt(_local2); _local1 = Math.max(_local1, _local3.height); _local2++; }; return (_local1); } public function add(_arg1:Object, _arg2:Object):void{ var _local5:TextField; var _local3:Object = {colour:_arg2.colour, text:_arg2.text, rotate:_arg2.rotate, size:_arg2.size, align:_arg2.align, visible:_arg2.visible, x:_arg2.x}; if ((_arg1 is String)){ _local3.text = (_arg1 as String); } else { object_helper.merge_2(_arg1, _local3); }; if (_local3.x != null){ _local3.text = this.replace_magic_values(_local3.text, _local3.x); }; var _local4:Array = _local3.text.split("<br>"); _local3.text = _local4.join("\n"); this.axis_labels[_local3.x] = _local3.text; if (_local3.visible){ if ((_local3.colour is String)){ _local3.colour = Utils.get_colour(_local3.colour); }; _local5 = this.make_label(_local3); this.addChild(_local5); }; } private function replace_magic_values(_arg1:String, _arg2:Number):String{ _arg1 = _arg1.replace("#val#", NumberUtils.formatNumber(_arg2)); _arg1 = DateUtils.replace_magic_values(_arg1, _arg2); return (_arg1); } } }//package elements.axis
Section 81
//XAxisLabels_ArialFont__ (elements.axis.XAxisLabels_ArialFont__) package elements.axis { import mx.core.*; public class XAxisLabels_ArialFont__ extends FontAsset { } }//package elements.axis
Section 82
//YAxisBase (elements.axis.YAxisBase) package elements.axis { import flash.display.*; import string.*; public class YAxisBase extends Sprite { private var user_ticks:Boolean; protected var colour:Number; protected var tick_length:Number; protected var grid_colour:Number; public var style:Object; protected var stroke:Number; private var user_labels:Array; protected var labels:YAxisLabelsBase; public function die():void{ this.style = null; if (this.labels != null){ this.labels.die(); }; this.labels = null; this.graphics.clear(); while (this.numChildren > 0) { this.removeChildAt(0); }; } public function set_y_max(_arg1:Number):void{ this.style.max = _arg1; } private function get_steps(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (this.style.steps == 0){ this.style.steps = 1; }; if (this.style.steps < 0){ this.style.steps = (this.style.steps * -1); }; var _local4:Number = ((_arg2 - _arg1) / this.style.steps); if (_local4 > (_arg3 / 2)){ return (((_arg2 - _arg1) / 5)); }; return (this.style.steps); } public function get_style():Object{ return (null); } public function get_range():Range{ return (new Range(this.style.min, this.style.max, this.style.steps, this.style.offset)); } public function init(_arg1:Object):void{ } protected function resize_helper(_arg1:Number, _arg2:ScreenCoords, _arg3:Boolean):void{ var _local5:Number; var _local6:Number; var _local7:Object; var _local10:Number; var _local11:Number; var _local12:Number; var _local4:Number = 0; var _local8:Number = Math.min(this.style.min, this.style.max); var _local9:Number = Math.max(this.style.min, this.style.max); if (!_arg3){ this.labels.resize(_arg1, _arg2); } else { this.labels.resize(((_arg2.right + this.stroke) + this.tick_length), _arg2); }; if (!this.style.visible){ return; }; this.graphics.clear(); this.graphics.lineStyle(0, 0, 0); if (this.style["grid-visible"]){ this.draw_grid_lines(this.style.steps, _local8, _local9, _arg3, _arg2); }; if (!_arg3){ _local10 = (_arg2.left - this.stroke); } else { _local10 = _arg2.right; }; this.graphics.beginFill(this.colour, 1); this.graphics.drawRect(int(_local10), _arg2.top, this.stroke, _arg2.height); this.graphics.endFill(); if (this.user_ticks){ for each (_local7 in this.user_labels) { _local6 = _arg2.get_y_from_val(_local7.y, _arg3); if (!_arg3){ _local12 = ((_arg2.left - this.stroke) - this.tick_length); } else { _local12 = (_arg2.right + this.stroke); }; this.graphics.beginFill(this.colour, 1); this.graphics.drawRect(_local12, (_local6 - (this.stroke / 2)), this.tick_length, this.stroke); this.graphics.endFill(); }; } else { _local5 = _local8; while (_local5 <= _local9) { _local6 = _arg2.get_y_from_val(_local5, _arg3); if (!_arg3){ _local12 = ((_arg2.left - this.stroke) - this.tick_length); } else { _local12 = (_arg2.right + this.stroke); }; this.graphics.beginFill(this.colour, 1); this.graphics.drawRect(_local12, (_local6 - (this.stroke / 2)), this.tick_length, this.stroke); this.graphics.endFill(); _local5 = (_local5 + this.style.steps); }; }; } public function get_width():Number{ return (((this.stroke + this.tick_length) + this.labels.width)); } private function draw_grid_lines(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:ScreenCoords):void{ var _local6:Number; var _local7:Object; var _local8:Number; if (this.user_ticks){ for each (_local7 in this.user_labels) { _local6 = _arg5.get_y_from_val(_local7.y, _arg4); this.graphics.beginFill(_local7["grid-colour"], 1); this.graphics.drawRect(_arg5.left, _local6, _arg5.width, 1); this.graphics.endFill(); }; } else { _arg3 = (_arg3 + 4E-6); _local8 = _arg2; while (_local8 <= _arg3) { _local6 = _arg5.get_y_from_val(_local8, _arg4); this.graphics.beginFill(this.grid_colour, 1); this.graphics.drawRect(int(_arg5.left), int(_local6), _arg5.width, 1); this.graphics.endFill(); _local8 = (_local8 + _arg1); }; }; } public function auto_range(_arg1:Number):Number{ var _local2:Number = (Math.max(_arg1) * 1.07); var _local3:Number = Math.round((Math.log(_local2) / Math.log(10))); var _local4:Number = (Math.pow(10, _local3) / 2); _local2 = (Math.round(((_local2 * 1.1) / _local4)) * _local4); return (_local2); } protected function _init(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local6:Object; var _local7:Object; tr.aces("YAxisBase.init() stage", this.stage.stageHeight); this.style = _arg3; if (_arg1[_arg2]){ object_helper.merge_2(_arg1[_arg2], this.style); }; this.colour = Utils.get_colour(_arg3.colour); this.grid_colour = Utils.get_colour(_arg3["grid-colour"]); this.stroke = _arg3.stroke; this.tick_length = _arg3["tick-length"]; tr.aces("YAxisBase auto", this.auto_range(50001)); if (this.style.max == null){ this.style.max = this.labels.y_max; }; var _local4:Number = Math.min(this.style.min, this.style.max); var _local5:Number = Math.max(this.style.min, this.style.max); this.style.steps = this.get_steps(_local4, _local5, this.stage.stageHeight); if (this.labels.i_need_labels){ this.labels.make_labels(_local4, _local5, this.style.steps); }; if (((((((!((this.style.labels == null))) && (!((this.style.labels.labels == null))))) && ((this.style.labels.labels is Array)))) && ((this.style.labels.labels.length > 0)))){ this.user_labels = new Array(); for each (_local6 in this.style.labels.labels) { if (!(_local6 is String)){ if (_local6.y != null){ _local7 = {y:_local6.y}; if (_local6["grid-colour"]){ _local7["grid-colour"] = Utils.get_colour(_local6["grid-colour"]); } else { _local7["grid-colour"] = this.grid_colour; }; this.user_ticks = true; this.user_labels.push(_local7); }; }; }; }; } public function resize(_arg1:Number, _arg2:ScreenCoords):void{ } } }//package elements.axis
Section 83
//YAxisLabelsBase (elements.axis.YAxisLabelsBase) package elements.axis { import flash.text.*; import flash.display.*; import string.*; public class YAxisLabelsBase extends Sprite { protected var lblText:String; private var steps:Number; private var right:Boolean; protected var style:Object; public var i_need_labels:Boolean; public var y_max:Number; public function YAxisLabelsBase(_arg1:Object, _arg2:String){ var _local3:Number; var _local4:String; var _local5:Array; var _local6:Number; var _local8:Number; var _local9:Number; var _local10:Object; var _local11:Object; super(); this.y_max = 10; if (_arg1[_arg2]){ if ((_arg1[_arg2].labels is Array)){ _local5 = []; _local3 = (((_arg1[_arg2]) && (_arg1[_arg2].min))) ? _arg1[_arg2].min : 0; for each (_local4 in _arg1[_arg2].labels) { _local5.push({val:_local4, pos:_local3}); _local3++; }; this.y_max = (((_arg1[_arg2]) && (_arg1[_arg2].max))) ? _arg1[_arg2].max : (_local5.length - 1); this.i_need_labels = false; }; }; if (_arg1[_arg2]){ if ((_arg1[_arg2].labels is Object)){ if ((_arg1[_arg2].labels.text is String)){ this.lblText = _arg1[_arg2].labels.text; }; _local8 = 1; if ((_arg1[_arg2].steps is Number)){ _local8 = _arg1[_arg2].steps; }; if ((_arg1[_arg2].labels.steps is Number)){ _local8 = _arg1[_arg2].labels.steps; }; if ((_arg1[_arg2].labels.labels is Array)){ _local5 = []; _local9 = (((_arg1[_arg2]) && (_arg1[_arg2].min))) ? _arg1[_arg2].min : 0; for each (_local10 in _arg1[_arg2].labels.labels) { if ((_local10 is Number)){ _local5.push({val:lblText, pos:_local10}); } else { if ((_local10 is String)){ _local5.push({val:_local10, pos:_local9, visible:((_local9 % _local8) == 0)}); } else { if ((_local10.y is Number)){ _local4 = ((_local10.text is String)) ? _local10.text : lblText; _local11 = {val:_local4, pos:_local10.y}; if (_local10.colour != null){ _local11.colour = _local10.colour; }; if (_local10.size != null){ _local11.size = _local10.size; }; if (_local10.rotate != null){ _local11.rotate = _local10.rotate; }; _local5.push(_local11); }; }; }; _local9++; }; this.i_need_labels = false; }; }; }; this.steps = _local6; var _local7:YLabelStyle = new YLabelStyle(_arg1, name); this.style = _local7.style; if (((!(_arg1[_arg2])) && (!((_arg2 == "y_axis"))))){ this.style.show_labels = false; }; if (((_arg1[_arg2]) && (_arg1[_arg2].rotate))){ this.style.rotate = _arg1[_arg2].rotate; }; if (((!((_arg1[_arg2] == null))) && (!((_arg1[_arg2].labels == null))))){ object_helper.merge_2(_arg1[_arg2].labels, this.style); }; this.add_labels(_local5); } public function die():void{ while (this.numChildren > 0) { this.removeChildAt(0); }; } private function make_label(_arg1:Object):YTextField{ _arg1.colour = Utils.get_colour(_arg1.colour); var _local2:YTextField = new YTextField(); _local2.text = this.replace_magic_values(_arg1.val, _arg1.pos); var _local3:TextFormat = new TextFormat(); _local3.color = _arg1.colour; _local3.font = ((_arg1.rotate == "vertical")) ? "spArial" : "Verdana"; _local3.size = _arg1.size; _local3.align = "right"; _local2.setTextFormat(_local3); _local2.autoSize = "right"; if (_arg1.rotate == "vertical"){ _local2.rotation = 270; _local2.embedFonts = true; _local2.antiAliasType = AntiAliasType.ADVANCED; }; return (_local2); } public function get_width():Number{ var _local3:YTextField; var _local1:Number = 0; var _local2:Number = 0; while (_local2 < this.numChildren) { _local3 = (this.getChildAt(_local2) as YTextField); _local1 = Math.max(_local1, _local3.width); _local2++; }; return (_local1); } protected function make_labels_(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Number, _arg5:String):void{ var _local6:Array = []; var _local7:Number = Math.min(_arg1, _arg2); var _local8:Number = Math.max(_arg1, _arg2); _local8 = (_local8 + 4E-6); var _local9:Number = 0; var _local10:Number = _local7; while (_local10 <= _local8) { _local6.push({val:_arg5, pos:_local10}); var _temp1 = _local9; _local9 = (_local9 + 1); if (_temp1 > 250){ break; }; _local10 = (_local10 + _arg4); }; this.add_labels(_local6); } public function make_labels(_arg1:Number, _arg2:Number, _arg3:Number):void{ tr.aces("make_labels", this.i_need_labels, _arg1, _arg2, false, _arg3, this.lblText); tr.aces(this.style.show_labels); if (!this.i_need_labels){ return; }; this.i_need_labels = false; this.make_labels_(_arg1, _arg2, false, _arg3, this.lblText); } public function resize(_arg1:Number, _arg2:ScreenCoords):void{ } private function add_labels(_arg1:Array):void{ var _local3:Object; var _local4:Object; var _local5:YTextField; if (!this.style.show_labels){ return; }; var _local2:Number = 0; for each (_local3 in _arg1) { _local4 = {}; object_helper.merge_2(this.style, _local4); object_helper.merge_2(_local3, _local4); if (_local4.visible){ _local5 = this.make_label(_local4); _local5.y_val = _local3.pos; this.addChild(_local5); _local2++; }; }; } private function replace_magic_values(_arg1:String, _arg2:Number):String{ _arg1 = _arg1.replace("#val#", NumberUtils.formatNumber(_arg2)); return (_arg1); } } }//package elements.axis
Section 84
//YAxisLabelsLeft (elements.axis.YAxisLabelsLeft) package elements.axis { public class YAxisLabelsLeft extends YAxisLabelsBase { public function YAxisLabelsLeft(_arg1:Object){ this.lblText = "#val#"; this.i_need_labels = true; super(_arg1, "y_axis"); } override public function resize(_arg1:Number, _arg2:ScreenCoords):void{ var _local4:Number; var _local5:YTextField; var _local3:Number = this.get_width(); _local4 = 0; while (_local4 < this.numChildren) { _local5 = (this.getChildAt(_local4) as YTextField); _local5.x = ((_arg1 - _local5.width) + _local3); _local4++; }; _local4 = 0; while (_local4 < this.numChildren) { _local5 = (this.getChildAt(_local4) as YTextField); if (_local5.rotation != 0){ _local5.y = (_arg2.get_y_from_val(_local5.y_val, false) + (_local5.height / 2)); } else { _local5.y = (_arg2.get_y_from_val(_local5.y_val, false) - (_local5.height / 2)); }; if ((((_local5.y < 0)) && ((_arg2.top == 0)))){ _local5.y = ((_local5.rotation)!=0) ? _local5.height : (_local5.textHeight - _local5.height); }; _local4++; }; } } }//package elements.axis
Section 85
//YAxisLabelsRight (elements.axis.YAxisLabelsRight) package elements.axis { public class YAxisLabelsRight extends YAxisLabelsBase { public function YAxisLabelsRight(_arg1:Object){ this.lblText = "#val#"; this.i_need_labels = true; super(_arg1, "y_axis_right"); } override public function resize(_arg1:Number, _arg2:ScreenCoords):void{ var _local4:Number; var _local5:YTextField; var _local3:Number = this.get_width(); _local4 = 0; while (_local4 < this.numChildren) { _local5 = (this.getChildAt(_local4) as YTextField); _local5.x = _arg1; _local4++; }; _local4 = 0; while (_local4 < this.numChildren) { _local5 = (this.getChildAt(_local4) as YTextField); if (_local5.rotation != 0){ _local5.y = (_arg2.get_y_from_val(_local5.y_val, true) + (_local5.height / 2)); } else { _local5.y = (_arg2.get_y_from_val(_local5.y_val, true) - (_local5.height / 2)); }; if ((((_local5.y < 0)) && ((_arg2.top == 0)))){ _local5.y = ((_local5.rotation)!=0) ? _local5.height : (_local5.textHeight - _local5.height); }; _local4++; }; } } }//package elements.axis
Section 86
//YAxisLeft (elements.axis.YAxisLeft) package elements.axis { public class YAxisLeft extends YAxisBase { override public function init(_arg1:Object):void{ this.labels = new YAxisLabelsLeft(_arg1); this.addChild(this.labels); var _local2:Object = {stroke:2, tick-length:3, colour:"#784016", offset:false, grid-colour:"#F5E1AA", grid-visible:true, 3d:0, steps:1, visible:true, min:0, max:null}; super._init(_arg1, "y_axis", _local2); } override public function resize(_arg1:Number, _arg2:ScreenCoords):void{ super.resize_helper(_arg1, _arg2, false); } } }//package elements.axis
Section 87
//YAxisRight (elements.axis.YAxisRight) package elements.axis { public class YAxisRight extends YAxisBase { override public function init(_arg1:Object):void{ this.labels = new YAxisLabelsRight(_arg1); this.addChild(this.labels); var _local2:Object = {stroke:2, tick-length:3, colour:"#784016", offset:false, grid-colour:"#F5E1AA", grid-visible:false, 3d:0, steps:1, visible:false, min:0, max:10}; if (_arg1.y_axis_right){ _local2.visible = true; }; super._init(_arg1, "y_axis_right", _local2); } override public function resize(_arg1:Number, _arg2:ScreenCoords):void{ super.resize_helper(_arg1, _arg2, true); } } }//package elements.axis
Section 88
//YLabelStyle (elements.axis.YLabelStyle) package elements.axis { import string.*; public class YLabelStyle { public var style:Object; public function YLabelStyle(_arg1:Object, _arg2:String){ var _local3:Number; var _local4:Number; var _local5:Array; super(); this.style = {size:10, colour:0, show_labels:true, visible:true}; if (_arg1[(_arg2 + "_label_style")] == undefined){ return; }; _local3 = _arg1[(_arg2 + "_label_style")].lastIndexOf(","); if (_local3 < 0){ _local4 = _arg1[(_arg2 + "_label_style")].lastIndexOf("none", 0); if (_local4 > -1){ this.style.show_labels = false; }; } else { _local5 = _arg1[(_arg2 + "_label_style")].split(","); if (_local5.length > 0){ this.style.size = _local5[0]; }; if (_local5.length > 1){ this.style.colour = Utils.get_colour(_local5[1]); }; }; } } }//package elements.axis
Section 89
//YTextField (elements.axis.YTextField) package elements.axis { import flash.text.*; public class YTextField extends TextField { public var y_val:Number; public function YTextField(){ this.y_val = 0; } } }//package elements.axis
Section 90
//BaseLabel (elements.labels.BaseLabel) package elements.labels { import flash.text.*; import flash.display.*; import string.*; public class BaseLabel extends Sprite { public var style:String; protected var css:Css; protected var _height:Number; public var text:String; public function die():void{ this.graphics.clear(); while (this.numChildren > 0) { this.removeChildAt(0); }; } public function get_width():Number{ return (this.getChildAt(0).width); } protected function build(_arg1:String):void{ var _local2:TextField = new TextField(); _local2.x = 0; _local2.y = 0; this.text = _arg1; _local2.htmlText = this.text; var _local3:TextFormat = new TextFormat(); _local3.color = this.css.color; _local3.font = (this.css.font_family) ? this.css.font_family : "Verdana"; _local3.bold = ((this.css.font_weight == "bold")) ? true : false; _local3.size = this.css.font_size; _local3.align = "center"; _local2.setTextFormat(_local3); _local2.autoSize = "left"; _local2.y = (this.css.padding_top + this.css.margin_top); _local2.x = (this.css.padding_left + this.css.margin_left); if (this.css.background_colour_set){ this.graphics.beginFill(this.css.background_colour, 1); this.graphics.drawRect(0, 0, ((this.css.padding_left + _local2.width) + this.css.padding_right), ((this.css.padding_top + _local2.height) + this.css.padding_bottom)); this.graphics.endFill(); }; this.addChild(_local2); } } }//package elements.labels
Section 91
//Keys (elements.labels.Keys) package elements.labels { import charts.*; import flash.text.*; import flash.display.*; public class Keys extends Sprite { private var _height:Number;// = 0 public var colours:Array; private var count:Number;// = 0 public function Keys(_arg1:ObjectCollection){ var _local3:Base; var _local4:Object; super(); this.colours = new Array(); var _local2:Number = 0; for each (_local3 in _arg1.sets) { for each (_local4 in _local3.get_keys()) { this.make_key(_local4.text, _local4["font-size"], _local4.colour); this.colours.push(_local4.colour); _local2++; }; }; this.count = _local2; } public function get_height():Number{ return (this._height); } private function draw_line(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg2 = (_arg2 + (_arg3 / 2)); this.graphics.beginFill(_arg4, 100); this.graphics.drawRect(_arg1, (_arg2 - 1), 10, 2); this.graphics.endFill(); return ((_arg1 + 12)); } public function resize(_arg1:Number, _arg2:Number):void{ var _local5:Number; if (this.count == 0){ return; }; this.x = _arg1; this.y = _arg2; var _local3:Number = 0; _arg1 = 0; _arg2 = 0; this.graphics.clear(); var _local4:Number = 0; while (_local4 < this.numChildren) { _local5 = this.getChildAt(_local4).width; if ((((this.x + _arg1) + _local5) + 12) > this.stage.stageWidth){ _arg1 = 0; _arg2 = (_arg2 + this.getChildAt(_local4).height); _local3 = (_local3 + this.getChildAt(_local4).height); }; this.draw_line(_arg1, _arg2, this.getChildAt(_local4).height, this.colours[_local4]); _arg1 = (_arg1 + 12); this.getChildAt(_local4).x = _arg1; this.getChildAt(_local4).y = _arg2; _arg1 = (_arg1 + (_local5 + 10)); _local4++; }; _local3 = (_local3 + this.getChildAt(0).height); this._height = _local3; } public function die():void{ this.colours = null; this.graphics.clear(); while (this.numChildren > 0) { this.removeChildAt(0); }; } private function make_key(_arg1:String, _arg2:Number, _arg3:Number):void{ var _local4:TextField = new TextField(); _local4.text = _arg1; var _local5:TextFormat = new TextFormat(); _local5.color = _arg3; _local5.font = "Verdana"; _local5.size = _arg2; _local5.align = "left"; _local4.setTextFormat(_local5); _local4.autoSize = "left"; this.addChild(_local4); } } }//package elements.labels
Section 92
//Title (elements.labels.Title) package elements.labels { import string.*; public class Title extends BaseLabel { public var size:Number; private var top_padding:Number;// = 0 public var colour:Number; public function Title(_arg1:Object){ if (!_arg1){ return; }; this.style = "font-size: 12px"; object_helper.merge_2(_arg1, this); this.css = new Css(this.style); this.build(this.text); } public function get_height():Number{ if (this.text == null){ return (0); }; return (((((this.css.padding_top + this.css.margin_top) + this.getChildAt(0).height) + this.css.padding_bottom) + this.css.margin_bottom)); } public function resize():void{ if (this.text == null){ return; }; this.getChildAt(0).width = this.stage.stageWidth; var _local1:String = this.css.text_align; switch (_local1){ case "left": this.x = this.css.margin_left; break; case "right": this.x = (this.stage.stageWidth - (this.get_width() + this.css.margin_right)); break; case "center": default: this.x = ((this.stage.stageWidth / 2) - (this.get_width() / 2)); break; }; this.y = this.css.margin_top; } } }//package elements.labels
Section 93
//XLegend (elements.labels.XLegend) package elements.labels { import string.*; public class XLegend extends BaseLabel { public function XLegend(_arg1:Object){ if (!_arg1){ return; }; object_helper.merge_2(_arg1, this); this.css = new Css(this.style); this.build(this.text); } public function get_height():Number{ return (this.height); } public function resize(_arg1:ScreenCoords):void{ if (this.text == null){ return; }; this.x = (_arg1.left + ((_arg1.width / 2) - (this.get_width() / 2))); this.getChildAt(0).y = (this.stage.stageHeight - this.getChildAt(0).height); } } }//package elements.labels
Section 94
//YLegendBase (elements.labels.YLegendBase) package elements.labels { import flash.text.*; import flash.display.*; import string.*; public class YLegendBase extends Sprite { private var css:Css; public var text:String; public var style:String; public var tf:TextField; public static var ArialFont:Class = YLegendBase_ArialFont; public function YLegendBase(_arg1:Object, _arg2:String){ if (_arg1[(_arg2 + "_legend")] == undefined){ return; }; if (_arg1[(_arg2 + "_legend")]){ object_helper.merge_2(_arg1[(_arg2 + "_legend")], this); }; this.css = new Css(this.style); this.build(this.text); } public function die():void{ while (this.numChildren > 0) { this.removeChildAt(0); }; } private function build(_arg1:String):void{ var _local2:TextField = new TextField(); _local2.x = 0; _local2.y = 0; var _local3:TextFormat = new TextFormat(); _local3.color = this.css.color; _local3.font = "spArial"; _local3.size = this.css.font_size; _local3.align = "center"; _local2.htmlText = _arg1; _local2.setTextFormat(_local3); _local2.autoSize = "left"; _local2.embedFonts = true; _local2.rotation = 270; _local2.height = _local2.textHeight; _local2.antiAliasType = AntiAliasType.ADVANCED; _local2.autoSize = TextFieldAutoSize.LEFT; this.addChild(_local2); } public function resize():void{ if (this.text == null){ return; }; } public function get_width():Number{ if (this.numChildren == 0){ return (0); }; return (this.getChildAt(0).width); } } }//package elements.labels
Section 95
//YLegendBase_ArialFont (elements.labels.YLegendBase_ArialFont) package elements.labels { import mx.core.*; public class YLegendBase_ArialFont extends FontAsset { } }//package elements.labels
Section 96
//YLegendLeft (elements.labels.YLegendLeft) package elements.labels { public class YLegendLeft extends YLegendBase { public function YLegendLeft(_arg1:Object){ super(_arg1, "y"); } override public function resize():void{ if (this.numChildren == 0){ return; }; this.y = ((this.stage.stageHeight / 2) + (this.getChildAt(0).height / 2)); this.x = 0; } } }//package elements.labels
Section 97
//YLegendRight (elements.labels.YLegendRight) package elements.labels { public class YLegendRight extends YLegendBase { public function YLegendRight(_arg1:Object){ super(_arg1, "y2"); } override public function resize():void{ if (this.numChildren == 0){ return; }; this.y = ((this.stage.stageHeight / 2) + (this.getChildAt(0).height / 2)); this.x = (this.stage.stageWidth - this.getChildAt(0).width); } } }//package elements.labels
Section 98
//CameraIcon (elements.menu.CameraIcon) package elements.menu { import flash.display.*; public class CameraIcon extends menuItem { public function CameraIcon(_arg1:String, _arg2:Properties){ super(_arg1, _arg2); } private function draw_camera():void{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0x505050); _local1.graphics.drawRoundRect(2, 4, 26, 14, 2, 2); _local1.graphics.drawRect(20, 1, 5, 3); _local1.graphics.endFill(); _local1.graphics.beginFill(0x202020); _local1.graphics.drawCircle(9, 11, 4.5); _local1.graphics.endFill(); this.addChild(_local1); } override protected function add_elements():Number{ this.draw_camera(); var _local1:Number = this.add_text(this.props.get("text"), 35); return ((_local1 + 30)); } } }//package elements.menu
Section 99
//DefaultCameraIconProperties (elements.menu.DefaultCameraIconProperties) package elements.menu { public class DefaultCameraIconProperties extends Properties { public function DefaultCameraIconProperties(_arg1:Object){ var _local2:Properties = new Properties({colour:"#0000E0", text:"Save chart", javascript-function:"save_image", background-colour:"#ffffff", glow-colour:"#148DCF", text-colour:"#0000ff"}); super(_arg1, _local2); } } }//package elements.menu
Section 100
//DefaultMenuProperties (elements.menu.DefaultMenuProperties) package elements.menu { public class DefaultMenuProperties extends Properties { public function DefaultMenuProperties(_arg1:Object){ var _local2:Properties = new Properties({colour:"#E0E0E0", outline-colour:"#707070", camera-text:"Save chart"}); super(_arg1, _local2); } } }//package elements.menu
Section 101
//Menu (elements.menu.Menu) package elements.menu { import flash.events.*; import flash.display.*; import caurina.transitions.*; import string.*; public class Menu extends Sprite { private var original_alpha:Number; private var first_showing:Boolean; private var props:Properties; private var hidden_pos:Number; public function Menu(_arg1:String, _arg2:Object){ var _local5:Object; var _local6:Number; var _local7:Number; var _local8:DefaultCameraIconProperties; var _local9:menuItem; super(); this.props = new DefaultMenuProperties(_arg2); this.original_alpha = 0.4; this.alpha = 1; var _local3:Number = 5; var _local4:Number = 0; this.first_showing = true; for each (_local5 in _arg2.values) { _local8 = new DefaultCameraIconProperties(_local5); _local9 = menu_item_factory.make(_arg1, _local8); _local9.x = 5; _local9.y = _local3; this.addChild(_local9); _local4 = ((_local9.y + _local9.height) + 5); _local3 = (_local3 + (_local9.height + 5)); }; _local6 = 0; _local7 = 0; while (_local7 < this.numChildren) { _local6 = Math.max(_local6, this.getChildAt(_local7).width); _local7++; }; this.draw((_local6 + 10), _local4); this.hidden_pos = _local4; this.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); this.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler); } public function mouseOutHandler(_arg1:MouseEvent):void{ this.hide_menu(); } private function draw(_arg1:Number, _arg2:Number):void{ this.graphics.clear(); var _local3:Number = Utils.get_colour(this.props.get("colour")); var _local4:Number = Utils.get_colour(this.props.get("outline-colour")); this.graphics.lineStyle(1, _local4); this.graphics.beginFill(_local3, 1); this.graphics.moveTo(0, -2); this.graphics.lineTo(0, _arg2); this.graphics.lineTo((_arg1 - 25), _arg2); this.graphics.lineTo((_arg1 - 20), (_arg2 + 10)); this.graphics.lineTo(_arg1, (_arg2 + 10)); this.graphics.lineTo(_arg1, -2); this.graphics.endFill(); this.graphics.lineStyle(1, _local4); this.graphics.moveTo((_arg1 - 15), (_arg2 + 3)); this.graphics.lineTo((_arg1 - 10), (_arg2 + 8)); this.graphics.lineTo((_arg1 - 5), (_arg2 + 3)); this.graphics.moveTo((_arg1 - 15), _arg2); this.graphics.lineTo((_arg1 - 10), (_arg2 + 5)); this.graphics.lineTo((_arg1 - 5), _arg2); } public function mouseOverHandler(_arg1:MouseEvent):void{ Tweener.removeTweens(this); Tweener.addTween(this, {y:0, time:0.4, transition:Equations.easeOutBounce}); Tweener.addTween(this, {alpha:1, time:0.4, transition:Equations.easeOutBounce}); } public function resize():void{ if (this.first_showing){ this.y = 0; this.first_showing = false; Tweener.removeTweens(this); Tweener.addTween(this, {time:3, onComplete:this.hide_menu}); } else { this.y = (-(this.height) + 10); }; this.x = ((this.stage.stageWidth - this.width) - 5); } private function hide_menu():void{ Tweener.removeTweens(this); Tweener.addTween(this, {y:-(this.hidden_pos), time:0.4, transition:Equations.easeOutBounce}); Tweener.addTween(this, {alpha:this.original_alpha, time:0.4, transition:Equations.easeOutBounce}); } } }//package elements.menu
Section 102
//menu_item_factory (elements.menu.menu_item_factory) package elements.menu { public class menu_item_factory { public static function make(_arg1:String, _arg2:Properties):menuItem{ switch (_arg2.get("type")){ case "camera-icon": return (new CameraIcon(_arg1, _arg2)); default: return (new menuItem(_arg1, _arg2)); }; } } }//package elements.menu
Section 103
//menuItem (elements.menu.menuItem) package elements.menu { import flash.events.*; import flash.text.*; import flash.display.*; import flash.filters.*; import string.*; import flash.external.*; public class menuItem extends Sprite { protected var props:Properties; protected var chartId:String; public function menuItem(_arg1:String, _arg2:Properties){ this.props = _arg2; this.buttonMode = true; this.useHandCursor = true; this.chartId = _arg1; this.alpha = 0.5; var _local3:Number = this.add_elements(); this.draw_bg((_local3 + 10)); this.addEventListener(MouseEvent.CLICK, mouseClickHandler); this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); this.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); this.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler); } public function mouseOverHandler(_arg1:MouseEvent):void{ this.alpha = 1; var _local2:GlowFilter = new GlowFilter(); _local2.color = Utils.get_colour(this.props.get("glow-colour")); _local2.alpha = 0.8; _local2.blurX = 4; _local2.blurY = 4; _local2.inner = false; this.filters = new Array(_local2); } protected function add_elements():Number{ var _local1:Number = this.add_text(this.props.get("text"), 5); return (_local1); } public function mouseOutHandler(_arg1:MouseEvent):void{ this.alpha = 0.5; this.filters = new Array(); } public function mouseDownHandler(_arg1:MouseEvent):void{ this.alpha = 1; } protected function add_text(_arg1:String, _arg2:Number):Number{ var _local3:TextField = new TextField(); _local3.x = _arg2; _local3.y = 0; _local3.htmlText = _arg1; var _local4:TextFormat = new TextFormat(); _local4.color = Utils.get_colour(this.props.get("text-colour")); _local4.font = "Verdana"; _local4.size = 10; _local4.underline = true; _local3.setTextFormat(_local4); _local3.autoSize = "left"; _local3.mouseEnabled = false; this.addChild(_local3); return (_local3.width); } public function mouseClickHandler(_arg1:MouseEvent):void{ this.alpha = 0; tr.aces("Menu item clicked:", (((this.props.get("javascript-function") + "(") + this.chartId) + ")")); ExternalInterface.call(this.props.get("javascript-function"), this.chartId); this.alpha = 1; } private function draw_bg(_arg1:Number):void{ this.graphics.beginFill(Utils.get_colour(this.props.get("background-colour"))); this.graphics.drawRoundRect(0, 0, _arg1, 20, 5, 5); this.graphics.endFill(); } } }//package elements.menu
Section 104
//Background (elements.Background) package elements { import flash.display.*; import string.*; public class Background extends Sprite { private var colour:Number; private var img_x:Number; private var img_y:Number; public function Background(_arg1:Object){ if (_arg1.bg_colour != undefined){ this.colour = Utils.get_colour(_arg1.bg_colour); } else { this.colour = 16316632; }; if (_arg1.bg_image != undefined){ this.load_img(_arg1.bg_image); }; } public function die():void{ this.graphics.clear(); } private function load_img(_arg1:Object):void{ if (_arg1.bg_image_x != undefined){ this.img_x = _arg1.bg_image_x; }; if (_arg1.bg_image_y != undefined){ this.img_y = _arg1.bg_image_y; }; } public function resize():void{ this.graphics.beginFill(this.colour); this.graphics.drawRect(0, 0, this.stage.stageWidth, this.stage.stageHeight); } } }//package elements
Section 105
//Global (global.Global) package global { import elements.labels.*; import elements.axis.*; public class Global { private var tooltip:String; public var x_legend:XLegend; public var x_labels:XAxisLabels; private static var allowInstantiation:Boolean = false; private static var instance:Global = null; public function set_tooltip_string(_arg1:String):void{ tr.ace("@@@@@@@"); tr.ace(_arg1); this.tooltip = _arg1; } public function get_x_legend():String{ if (this.x_legend == null){ return (null); }; return (this.x_legend.text); } public function get_x_label(_arg1:Number):String{ tr.ace("xxx"); tr.ace((this.x_labels == null)); tr.ace(_arg1); if (this.x_labels == null){ return (null); }; return (this.x_labels.get(_arg1)); } public function get_tooltip_string():String{ return (this.tooltip); } public static function getInstance():Global{ if (Global.instance == null){ Global.allowInstantiation = true; Global.instance = new (Global); Global.allowInstantiation = false; }; return (Global.instance); } } }//package global
Section 106
//FontAsset (mx.core.FontAsset) package mx.core { import flash.text.*; public class FontAsset extends Font implements IFlexAsset { mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.core
Section 107
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 108
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 109
//Base64Encoder (mx.utils.Base64Encoder) package mx.utils { import flash.utils.*; public class Base64Encoder { private var _line:uint; private var _count:uint; private var _buffers:Array; public var insertNewLines:Boolean;// = true private var _work:Array; private static const MAX_BUFFER_SIZE:uint = 0xFFFF; private static const ALPHABET_CHAR_CODES:Array = [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47]; public static const CHARSET_UTF_8:String = "UTF-8"; private static const ESCAPE_CHAR_CODE:Number = 61; public static var newLine:int = 10; public function Base64Encoder(){ _work = [0, 0, 0]; super(); reset(); } public function flush():String{ if (_count > 0){ encodeBlock(); }; var _local1:String = drain(); reset(); return (_local1); } public function toString():String{ return (flush()); } public function reset():void{ _buffers = []; _buffers.push([]); _count = 0; _line = 0; _work[0] = 0; _work[1] = 0; _work[2] = 0; } public function encodeBytes(_arg1:ByteArray, _arg2:uint=0, _arg3:uint=0):void{ if (_arg3 == 0){ _arg3 = _arg1.length; }; var _local4:uint = _arg1.position; _arg1.position = _arg2; var _local5:uint = _arg2; while (_local5 < _arg3) { _work[_count] = _arg1[_local5]; _count++; if ((((_count == _work.length)) || ((((_arg2 + _arg3) - _local5) == 1)))){ encodeBlock(); _count = 0; _work[0] = 0; _work[1] = 0; _work[2] = 0; }; _local5++; }; _arg1.position = _local4; } public function encode(_arg1:String, _arg2:uint=0, _arg3:uint=0):void{ if (_arg3 == 0){ _arg3 = _arg1.length; }; var _local4:uint = _arg2; while (_local4 < (_arg2 + _arg3)) { _work[_count] = _arg1.charCodeAt(_local4); _count++; if ((((_count == _work.length)) || ((((_arg2 + _arg3) - _local4) == 1)))){ encodeBlock(); _count = 0; _work[0] = 0; _work[1] = 0; _work[2] = 0; }; _local4++; }; } private function encodeBlock():void{ var _local1:Array = (_buffers[(_buffers.length - 1)] as Array); if (_local1.length >= MAX_BUFFER_SIZE){ _local1 = []; _buffers.push(_local1); }; _local1.push(ALPHABET_CHAR_CODES[((_work[0] & 0xFF) >> 2)]); _local1.push(ALPHABET_CHAR_CODES[(((_work[0] & 3) << 4) | ((_work[1] & 240) >> 4))]); if (_count > 1){ _local1.push(ALPHABET_CHAR_CODES[(((_work[1] & 15) << 2) | ((_work[2] & 192) >> 6))]); } else { _local1.push(ESCAPE_CHAR_CODE); }; if (_count > 2){ _local1.push(ALPHABET_CHAR_CODES[(_work[2] & 63)]); } else { _local1.push(ESCAPE_CHAR_CODE); }; if (insertNewLines){ if ((_line = (_line + 4)) == 76){ _local1.push(newLine); _line = 0; }; }; } public function encodeUTFBytes(_arg1:String):void{ var _local2:ByteArray = new ByteArray(); _local2.writeUTFBytes(_arg1); _local2.position = 0; encodeBytes(_local2); } public function drain():String{ var _local3:Array; var _local1 = ""; var _local2:uint; while (_local2 < _buffers.length) { _local3 = (_buffers[_local2] as Array); _local1 = (_local1 + String.fromCharCode.apply(null, _local3)); _local2++; }; _buffers = []; _buffers.push([]); return (_local1); } } }//package mx.utils
Section 110
//FlashConnect (org.flashdevelop.utils.FlashConnect) package org.flashdevelop.utils { import flash.events.*; import flash.utils.*; import flash.xml.*; import flash.net.*; public class FlashConnect { public static var onReturnData:Function; public static var port:Number = 1978; private static var interval:Number; private static var messages:Array; public static var onConnection:Function; public static var host:String = "localhost"; public static var status:Number = 0; private static var socket:XMLSocket; public static var limit:Number = 1000; private static var counter:Number; private static function onIOError(_arg1:IOErrorEvent):void{ FlashConnect.status = -1; if (FlashConnect.onConnection != null){ FlashConnect.onConnection(); }; } public static function atrace(... _args):void{ var _local2:String = _args.join(","); var _local3:XMLNode = createMsgNode(_local2, TraceLevel.DEBUG); FlashConnect.send(_local3); } private static function createMsgNode(_arg1:String, _arg2:Number):XMLNode{ if (isNaN(_arg2)){ _arg2 = TraceLevel.DEBUG; }; var _local3:XMLNode = new XMLNode(1, null); var _local4:XMLNode = new XMLNode(3, encodeURI(_arg1)); _local3.attributes.state = _arg2.toString(); _local3.attributes.cmd = "trace"; _local3.nodeName = "message"; _local3.appendChild(_local4); return (_local3); } public static function send(_arg1:XMLNode):void{ if (messages == null){ initialize(); }; messages.push(_arg1); } private static function onSecurityError(_arg1:SecurityErrorEvent):void{ FlashConnect.status = -1; if (FlashConnect.onConnection != null){ FlashConnect.onConnection(); }; } private static function onConnect(_arg1:Event):void{ FlashConnect.status = 1; if (FlashConnect.onConnection != null){ FlashConnect.onConnection(); }; } public static function trace(_arg1:String, _arg2:Number=1):void{ var _local3:XMLNode = createMsgNode(_arg1, _arg2); FlashConnect.send(_local3); } private static function initialize():void{ counter = 0; messages = new Array(); socket = new XMLSocket(); socket.addEventListener(DataEvent.DATA, onData); socket.addEventListener(Event.CONNECT, onConnect); socket.addEventListener(IOErrorEvent.IO_ERROR, onIOError); socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError); interval = setInterval(sendStack, 50); socket.connect(host, port); } private static function sendStack():void{ var _local1:XMLDocument; var _local2:XMLNode; var _local3:String; var _local4:XMLNode; var _local5:XMLNode; if ((((messages.length > 0)) && ((status == 1)))){ _local1 = new XMLDocument(); _local2 = _local1.createElement("flashconnect"); while (messages.length != 0) { counter++; if (counter > limit){ clearInterval(interval); _local3 = new String("FlashConnect aborted. You have reached the limit of maximum messages."); _local4 = createMsgNode(_local3, TraceLevel.ERROR); _local2.appendChild(_local4); break; } else { _local5 = XMLNode(messages.shift()); _local2.appendChild(_local5); }; }; _local1.appendChild(_local2); socket.send(_local1); }; } private static function onData(_arg1:DataEvent):void{ FlashConnect.status = 1; if (FlashConnect.onReturnData != null){ FlashConnect.onReturnData(_arg1.data); }; } public static function mtrace(_arg1:Object, _arg2:String, _arg3:String, _arg4:Number):void{ var _local5:String = _arg3.split("/").join("\\"); var _local6:String = ((((_local5 + ":") + _arg4) + ":") + _arg1); FlashConnect.trace(_local6, TraceLevel.DEBUG); } } }//package org.flashdevelop.utils
Section 111
//TraceLevel (org.flashdevelop.utils.TraceLevel) package org.flashdevelop.utils { public class TraceLevel { public static const DEBUG:Number = 1; public static const FATAL:Number = 4; public static const WARNING:Number = 2; public static const INFO:Number = 0; public static const ERROR:Number = 3; } }//package org.flashdevelop.utils
Section 112
//Css (string.Css) package string { public class Css { private var text_decoration:String; private var padding:String; public var padding_bottom:Number;// = 0 public var background_colour_set:Boolean; public var padding_top:Number;// = 0 private var margin:String; private var stop_process:Number; public var font_style:String; private var display:String; public var margin_top:Number; public var margin_right:Number; public var font_family:String; public var margin_bottom:Number; public var font_weight:String; public var padding_right:Number;// = 0 public var font_size:Number; public var color:Number; public var text_align:String; public var padding_left:Number;// = 0 public var margin_left:Number; public var background_colour:Number; public function Css(_arg1:String){ _arg1.toLowerCase(); _arg1 = _arg1.replace("{", ""); _arg1 = _arg1.replace("}", ""); this.margin_top = 0; this.margin_bottom = 0; this.margin_left = 0; this.margin_right = 0; this.padding_top = 0; this.padding_bottom = 0; this.padding_left = 0; this.padding_right = 0; this.color = 0; this.background_colour_set = false; this.font_size = 9; var _local2:Array = _arg1.split(";"); var _local3:Number = 0; while (_local3 < _local2.length) { getAttribute(_local2[_local3]); _local3++; }; } private function removeDoubleSpaces(_arg1:String):String{ var _local2:String; var _local3:String; _local2 = _arg1; do { _local3 = _local2; _local2.replace(" ", " "); } while (_local3.length != _local2.length); return (_local2); } private function trim(_arg1:String):String{ var _local2:Number = 0; var _local3:Number = (_arg1.length - 1); while ((((_arg1.charAt(_local2) == " ")) || ((_arg1.charAt(_local2) == "\t")))) { _local2++; }; while ((((_arg1.charAt(_local3) == " ")) || ((_arg1.charAt(_local3) == "\t")))) { _local3--; }; return (_arg1.substring(_local2, (_local3 + 1))); } private function setMargin(_arg1:String):void{ _arg1 = trim(_arg1); var _local2:Array = _arg1.split(" "); switch (_local2.length){ case 1: this.margin_top = ToNumber(_local2[0]); this.margin_right = ToNumber(_local2[0]); this.margin_bottom = ToNumber(_local2[0]); this.margin_left = ToNumber(_local2[0]); break; case 2: this.margin_top = ToNumber(_local2[0]); this.margin_right = ToNumber(_local2[1]); this.margin_bottom = ToNumber(_local2[0]); this.margin_left = ToNumber(_local2[1]); break; case 3: this.margin_top = ToNumber(_local2[0]); this.margin_right = ToNumber(_local2[1]); this.margin_bottom = ToNumber(_local2[2]); this.margin_left = ToNumber(_local2[1]); break; default: this.margin_top = ToNumber(_local2[0]); this.margin_right = ToNumber(_local2[1]); this.margin_bottom = ToNumber(_local2[2]); this.margin_left = ToNumber(_local2[3]); }; } private function ToNumber(_arg1:String):Number{ _arg1 = _arg1.replace("px", ""); if (isNaN(Number(_arg1))){ return (0); }; return (Number(_arg1)); } public function set_color(_arg1:String):void{ this.color = Utils.get_colour(_arg1); } private function setPadding(_arg1:String):void{ _arg1 = trim(_arg1); var _local2:Array = _arg1.split(" "); switch (_local2.length){ case 1: this.padding_top = ToNumber(_local2[0]); this.padding_right = ToNumber(_local2[0]); this.padding_bottom = ToNumber(_local2[0]); this.padding_left = ToNumber(_local2[0]); break; case 2: this.padding_top = ToNumber(_local2[0]); this.padding_right = ToNumber(_local2[1]); this.padding_bottom = ToNumber(_local2[0]); this.padding_left = ToNumber(_local2[1]); break; case 3: this.padding_top = ToNumber(_local2[0]); this.padding_right = ToNumber(_local2[1]); this.padding_bottom = ToNumber(_local2[2]); this.padding_left = ToNumber(_local2[1]); break; default: this.padding_top = ToNumber(_local2[0]); this.padding_right = ToNumber(_local2[1]); this.padding_bottom = ToNumber(_local2[2]); this.padding_left = ToNumber(_local2[3]); }; } public function set_font_size(_arg1:String):void{ this.font_size = ToNumber(_arg1); } public function set(_arg1:String, _arg2:String):void{ _arg1 = trim(_arg1); switch (_arg1){ case "text-align": this.text_align = _arg2; break; case "font-size": this.set_font_size(_arg2); break; case "text-decoration": this.text_decoration = _arg2; break; case "margin": this.setMargin(_arg2); break; case "margin-top": this.margin_top = ToNumber(_arg2); break; case "margin-bottom": this.margin_bottom = ToNumber(_arg2); break; case "margin-left": this.margin_left = ToNumber(_arg2); break; case "margin-right": this.margin_right = ToNumber(_arg2); break; case "padding": this.setPadding(_arg2); break; case "padding-top": this.padding_top = ToNumber(_arg2); break; case "padding-bottom": this.padding_bottom = ToNumber(_arg2); break; case "padding-left": this.padding_left = ToNumber(_arg2); break; case "padding-right": this.padding_right = ToNumber(_arg2); break; case "font-weight": this.font_weight = _arg2; break; case "font-style": this.font_style = _arg2; break; case "font-family": this.font_family = _arg2; break; case "color": this.set_color(_arg2); break; case "background-color": this.background_colour = Utils.get_colour(_arg2); this.background_colour_set = true; break; case "display": this.display = _arg2; break; }; } public function clear():void{ this.text_align = undefined; this.font_size = undefined; this.text_decoration = undefined; this.margin_top = undefined; this.margin_bottom = undefined; this.margin_left = undefined; this.margin_right = undefined; this.font_weight = undefined; this.font_style = undefined; this.font_family = undefined; this.color = undefined; this.display = undefined; } private function getAttribute(_arg1:String):void{ var _local2:Array = _arg1.split(":"); if (_local2.length == 2){ this.stop_process = 1; this.set(_local2[0], trim(_local2[1])); }; } } }//package string
Section 113
//DateUtils (string.DateUtils) package string { public class DateUtils { protected static var dateConsts:Object = {shortMonths:["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], longMonths:["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], shortDays:["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], longDays:["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]}; public static function formatUTCDate(_arg1:Date, _arg2:String):String{ var _local5:String; var _local3 = ""; var _local4:int; while (_local4 < _arg2.length) { _local5 = _arg2.charAt(_local4); switch (_local5){ case "d": _local3 = (_local3 + (((_arg1.getUTCDate() < 10)) ? "0" : "" + _arg1.getUTCDate())); break; case "D": _local3 = (_local3 + _slot1.dateConsts.shortDays[_arg1.getUTCDate()]); break; case "j": _local3 = (_local3 + _arg1.getUTCDate()); break; case "l": _local3 = (_local3 + _slot1.dateConsts.longDays[_arg1.getUTCDay()]); break; case "N": _local3 = (_local3 + (_arg1.getUTCDay() + 1)); break; case "S": _local3 = (_local3 + (((((_arg1.getUTCDate() % 10) == 1)) && (!((_arg1.getUTCDate() == 11))))) ? "st" : (((((_arg1.getUTCDate() % 10) == 2)) && (!((_arg1.getUTCDate() == 12))))) ? "nd" : (((((_arg1.getUTCDate() % 10) == 3)) && (!((_arg1.getUTCDate() == 13))))) ? "rd" : "th"); break; case "w": _local3 = (_local3 + _arg1.getUTCDay()); break; case "F": _local3 = (_local3 + _slot1.dateConsts.longMonths[_arg1.getUTCMonth()]); break; case "m": _local3 = (_local3 + (((_arg1.getUTCMonth() < 9)) ? "0" : "" + (_arg1.getUTCMonth() + 1))); break; case "M": _local3 = (_local3 + _slot1.dateConsts.shortMonths[_arg1.getUTCMonth()]); break; case "n": _local3 = (_local3 + (_arg1.getUTCMonth() + 1)); break; case "Y": _local3 = (_local3 + _arg1.getUTCFullYear()); break; case "y": _local3 = (_local3 + ("" + _arg1.getUTCFullYear()).substr(2)); break; case "a": _local3 = (_local3 + ((_arg1.getUTCHours() < 12)) ? "am" : "pm"); break; case "A": _local3 = (_local3 + ((_arg1.getUTCHours() < 12)) ? "AM" : "PM"); break; case "g": _local3 = (_local3 + ((_arg1.getUTCHours() == 0)) ? 12 : ((_arg1.getUTCHours() > 12)) ? (_arg1.getUTCHours() - 12) : _arg1.getHours()); break; case "G": _local3 = (_local3 + _arg1.getUTCHours()); break; case "h": _local3 = (_local3 + (((((_arg1.getUTCHours() < 10)) || (((12 < _arg1.getUTCHours()) < 22)))) ? "0" : "" + ((_arg1.getUTCHours() < 10)) ? (_arg1.getUTCHours() + 1) : (_arg1.getUTCHours() - 12))); break; case "H": _local3 = (_local3 + (((_arg1.getUTCHours() < 10)) ? "0" : "" + _arg1.getUTCHours())); break; case "i": _local3 = (_local3 + (((_arg1.getUTCMinutes() < 10)) ? "0" : "" + _arg1.getUTCMinutes())); break; case "s": _local3 = (_local3 + (((_arg1.getUTCSeconds() < 10)) ? "0" : "" + _arg1.getUTCSeconds())); break; case "O": _local3 = (_local3 + "+0000"); break; case "Z": _local3 = (_local3 + 0); break; case "r": _local3 = (_local3 + _arg1.toUTCString()); break; case "U": _local3 = (_local3 + (_arg1.getTime() / 1000)); break; default: _local3 = (_local3 + _local5); }; _local4++; }; return (_local3); } public static function formatDate(_arg1:Date, _arg2:String):String{ var _local5:String; var _local3 = ""; var _local4:int; while (_local4 < _arg2.length) { _local5 = _arg2.charAt(_local4); switch (_local5){ case "d": _local3 = (_local3 + (((_arg1.getDate() < 10)) ? "0" : "" + _arg1.getDate())); break; case "D": _local3 = (_local3 + _slot1.dateConsts.shortDays[_arg1.getDate()]); break; case "j": _local3 = (_local3 + _arg1.getDate()); break; case "l": _local3 = (_local3 + _slot1.dateConsts.longDays[_arg1.getDay()]); break; case "N": _local3 = (_local3 + (_arg1.getDay() + 1)); break; case "S": _local3 = (_local3 + (((((_arg1.getDate() % 10) == 1)) && (!((_arg1.getDate() == 11))))) ? "st" : (((((_arg1.getDate() % 10) == 2)) && (!((_arg1.getDate() == 12))))) ? "nd" : (((((_arg1.getDate() % 10) == 3)) && (!((_arg1.getDate() == 13))))) ? "rd" : "th"); break; case "w": _local3 = (_local3 + _arg1.getDay()); break; case "F": _local3 = (_local3 + _slot1.dateConsts.longMonths[_arg1.getMonth()]); break; case "m": _local3 = (_local3 + (((_arg1.getMonth() < 9)) ? "0" : "" + (_arg1.getMonth() + 1))); break; case "M": _local3 = (_local3 + _slot1.dateConsts.shortMonths[_arg1.getMonth()]); break; case "n": _local3 = (_local3 + (_arg1.getMonth() + 1)); break; case "Y": _local3 = (_local3 + _arg1.getFullYear()); break; case "y": _local3 = (_local3 + ("" + _arg1.getFullYear()).substr(2)); break; case "a": _local3 = (_local3 + ((_arg1.getHours() < 12)) ? "am" : "pm"); break; case "A": _local3 = (_local3 + ((_arg1.getHours() < 12)) ? "AM" : "PM"); break; case "g": _local3 = (_local3 + ((_arg1.getHours() == 0)) ? 12 : ((_arg1.getHours() > 12)) ? (_arg1.getHours() - 12) : _arg1.getHours()); break; case "G": _local3 = (_local3 + _arg1.getHours()); break; case "h": _local3 = (_local3 + (((((_arg1.getHours() < 10)) || (((12 < _arg1.getHours()) < 22)))) ? "0" : "" + ((_arg1.getHours() < 10)) ? (_arg1.getHours() + 1) : (_arg1.getHours() - 12))); break; case "H": _local3 = (_local3 + (((_arg1.getHours() < 10)) ? "0" : "" + _arg1.getHours())); break; case "i": _local3 = (_local3 + (((_arg1.getMinutes() < 10)) ? "0" : "" + _arg1.getMinutes())); break; case "s": _local3 = (_local3 + (((_arg1.getSeconds() < 10)) ? "0" : "" + _arg1.getSeconds())); break; case "O": _local3 = (_local3 + (((((_arg1.getTimezoneOffset() < 0)) ? "-" : "+" + (((_arg1.getTimezoneOffset() / 60) < 10)) ? "0" : "") + (_arg1.getTimezoneOffset() / 60)) + "00")); break; case "Z": _local3 = (_local3 + (_arg1.getTimezoneOffset() * 60)); break; case "r": _local3 = (_local3 + _arg1.toString()); break; case "U": _local3 = (_local3 + (_arg1.getTime() / 1000)); break; default: _local3 = (_local3 + _local5); }; _local4++; }; return (_local3); } public static function replace_magic_values(_arg1:String, _arg2:Number):String{ var _local5:int; var _local6:String; var _local7:String; var _local8:String; var _local3:Date = new Date((_arg2 * 1000)); _arg1 = _arg1.replace("#date#", _slot1.formatDate(_local3, "Y-m-d")); var _local4:int = _arg1.indexOf("#date:"); while (_local4 >= 0) { _local5 = (_arg1.indexOf("#", (_local4 + 1)) + 1); _local6 = _arg1.substr(_local4, (_local5 - _local4)); _local7 = _local6.substr(6, (_local6.length - 7)); _local8 = _slot1.formatDate(_local3, _local7); _arg1 = _arg1.replace(_local6, _local8); _local4 = _arg1.indexOf("#date:"); }; _local4 = _arg1.indexOf("#gmdate:"); while (_local4 >= 0) { _local5 = (_arg1.indexOf("#", (_local4 + 1)) + 1); _local6 = _arg1.substr(_local4, (_local5 - _local4)); _local7 = _local6.substr(8, (_local6.length - 9)); _local8 = _slot1.formatUTCDate(_local3, _local7); _arg1 = _arg1.replace(_local6, _local8); _local4 = _arg1.indexOf("#gmdate:"); }; return (_arg1); } } }//package string
Section 114
//Utils (string.Utils) package string { public class Utils { public static function get_colour(_arg1:String):Number{ if (_arg1.substr(0, 2) == "0x"){ return (Number(_arg1)); }; if (_arg1.substr(0, 1) == "#"){ return (Number(("0x" + _arg1.substr(1, _arg1.length)))); }; if (_arg1.length == 6){ return (Number(("0x" + _arg1))); }; return (Number(_arg1)); } } }//package string
Section 115
//ErrorMsg (ErrorMsg) package { import flash.text.*; import flash.display.*; public class ErrorMsg extends Sprite { public function ErrorMsg(_arg1:String):void{ var _local2:TextField = new TextField(); _local2.text = _arg1; var _local3:TextFormat = new TextFormat(); _local3.color = 0; _local3.font = "Courier"; _local3.size = 10; _local3.align = "left"; _local2.setTextFormat(_local3); _local2.autoSize = "left"; _local2.border = true; _local2.x = 5; _local2.y = 5; this.addChild(_local2); } public function add_html(_arg1:String):void{ var _local2:TextField = new TextField(); var _local3:StyleSheet = new StyleSheet(); var _local4:Object = new Object(); _local4.fontWeight = "bold"; _local4.color = "#0000FF"; var _local5:Object = new Object(); _local5.fontWeight = "bold"; _local5.textDecoration = "underline"; _local5.color = "#0000A0"; var _local6:Object = new Object(); _local6.fontWeight = "bold"; _local6.color = "#0000A0"; var _local7:Object = new Object(); _local7.fontWeight = "bold"; _local7.color = "#CC0099"; _local7.textDecoration = "underline"; _local3.setStyle("a:link", _local5); _local3.setStyle("a:hover", _local4); _local3.setStyle("a:active", _local6); _local3.setStyle(".visited", _local7); _local2.styleSheet = _local3; _local2.htmlText = _arg1; _local2.autoSize = "left"; _local2.border = true; var _local8:TextField = (this.getChildAt(0) as TextField); _local2.y = ((_local8.y + _local8.height) + 10); _local2.x = 5; this.addChild(_local2); } } }//package
Section 116
//ExternalInterfaceManager (ExternalInterfaceManager) package { import flash.external.*; public class ExternalInterfaceManager { public var has_id:Boolean; public var chart_id:String; private static var _instance:ExternalInterfaceManager; public function callJavascript(_arg1:String, ... _args){ if (ExternalInterface.available){ if (this.has_id){ tr.aces(_arg1, _args); _args.unshift(this.chart_id); tr.aces(_arg1, _args); }; return (ExternalInterface.call(_arg1, _args)); }; } public function setUp(_arg1:String):void{ this.has_id = true; this.chart_id = _arg1; } public static function getInstance():ExternalInterfaceManager{ if (_instance == null){ _instance = new (ExternalInterfaceManager); }; return (_instance); } } }//package
Section 117
//JsonErrorMsg (JsonErrorMsg) package { public class JsonErrorMsg extends ErrorMsg { public function JsonErrorMsg(_arg1:String, _arg2:Error):void{ var _local3 = "Open Flash Chart\n\n"; _local3 = (_local3 + (("JSON Parse Error [" + _arg2.message) + "]\n")); var _local4:Number = _arg1.indexOf("\n", _arg2.errorID); var _local5:String = _arg1.substr(0, _local4); var _local6:Array = _local5.split("\n"); _local3 = (_local3 + (((("Error at character " + _arg2.errorID) + ", line ") + _local6.length) + ":\n\n")); var _local7:Number = 3; while (_local7 > 0) { if ((_local6.length - _local7) > -1){ _local3 = (_local3 + (((_local6.length - _local7).toString() + ": ") + _local6[(_local6.length - _local7)])); }; _local7--; }; super(_local3); } } }//package
Section 118
//JsonInspector (JsonInspector) package { public class JsonInspector { public static function is_radar(_arg1:Object):Boolean{ if (_arg1["radar_axis"] != null){ return (true); }; return (false); } public static function has_pie_chart(_arg1:Object):Boolean{ var _local2:Array = (_arg1["elements"] as Array); var _local3:Number = 0; while (_local3 < _local2.length) { if (_local2[_local3]["type"] == "pie"){ return (true); }; _local3++; }; return (false); } } }//package
Section 119
//Loading (Loading) package { import flash.events.*; import flash.text.*; import flash.display.*; import flash.filters.*; public class Loading extends Sprite { private var tf:TextField; public function Loading(_arg1:String){ var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; super(); this.tf = new TextField(); this.tf.text = _arg1; var _local2:TextFormat = new TextFormat(); _local2.color = 0; _local2.font = "Verdana"; _local2.size = 12; _local2.align = "center"; this.tf.setTextFormat(_local2); this.tf.autoSize = "left"; this.tf.x = 5; this.tf.y = 5; this.addEventListener(Event.ENTER_FRAME, this.onEnter); this.addChild(this.tf); this.graphics.lineStyle(2, 0x808080, 1); this.graphics.beginFill(0xF0F0F0); this.graphics.drawRoundRect(0, 0, (this.tf.width + 10), (this.tf.height + 10), 5, 5); var _local3:Sprite = new Sprite(); _local3.x = (this.tf.width + 40); _local3.y = ((this.tf.height + 10) / 2); var _local4:Number = 15; var _local5:Number = 6; var _local6:Array = [0xF0F0F0, 0xD0D0D0, 0xB0B0B0, 0x909090, 0x707070, 0x505050, 0x303030]; var _local7:Number = 0; while (_local7 < _local5) { _local9 = ((360 / _local5) * _local7); _local10 = (_local9 * (Math.PI / 180)); _local11 = (_local4 * Math.cos(_local10)); _local12 = (_local4 * Math.sin(_local10)); _local3.graphics.lineStyle(0, 0, 0); _local3.graphics.beginFill(_local6[_local7], 1); _local3.graphics.drawCircle(_local11, _local12, 4); _local7++; }; this.addChild(_local3); var _local8:DropShadowFilter = new DropShadowFilter(); _local8.blurX = 4; _local8.blurY = 4; _local8.distance = 4; _local8.angle = 45; _local8.quality = 2; _local8.alpha = 0.5; this.filters = [_local8]; } private function onEnter(_arg1:Event):void{ if (this.stage){ this.x = ((this.stage.stageWidth / 2) - ((this.tf.width + 10) / 2)); this.y = ((this.stage.stageHeight / 2) - ((this.tf.height + 10) / 2)); }; this.getChildAt(1).rotation = (this.getChildAt(1).rotation + 5); } } }//package
Section 120
//main (main) package { import flash.events.*; import flash.utils.*; import elements.labels.*; import charts.*; import elements.axis.*; import charts.series.*; import global.*; import flash.display.*; import elements.menu.*; import elements.*; import com.serialization.json.*; import mx.utils.*; import com.adobe.images.*; import flash.net.*; import flash.external.*; import flash.ui.*; public class main extends Sprite { private var obs:ObjectCollection; private var tooltip:Tooltip; private var y_axis_right:YAxisBase; private var y_legend_2:YLegendBase; private var x_axis:XAxis; private var y_legend:YLegendBase; private var id:String; private var y_axis:YAxisBase; private var background:Background; private var x_legend:XLegend; public var VERSION:String;// = "2 Kvasir" private var radar_axis:RadarAxis; public var tool_tip_wrapper:String; private var URL:String; private var sc:ScreenCoords; private var title:Title;// = null private var menu:Menu; private var ok:Boolean; private var json:String; private var chart_parameters:Object; private var keys:Keys; public function main(){ var file:String; var ex:ExternalInterfaceManager; super(); this.chart_parameters = LoaderInfo(this.loaderInfo).parameters; if (this.chart_parameters["loading"] == null){ this.chart_parameters["loading"] = "Loading data..."; }; var l:Loading = new Loading(this.chart_parameters["loading"]); this.addChild(l); this.build_right_click_menu(); this.ok = false; if (!this.find_data()){ try { file = "../../data-files/candle.txt"; this.load_external_file(file); } catch(e:Error) { this.show_error(((("Loading test data\n" + file) + "\n") + e.message)); }; }; this.addCallback("reload", reload); this.addCallback("load", load); this.addCallback("post_image", post_image); this.addCallback("get_img_binary", getImgBinary); this.addCallback("get_version", getVersion); if (this.chart_parameters["id"]){ ex = ExternalInterfaceManager.getInstance(); ex.setUp(this.chart_parameters["id"]); }; if (this.chart_parameters["id"]){ this.callExternalCallback("ofc_ready", this.chart_parameters["id"]); } else { this.callExternalCallback("ofc_ready"); }; this.set_the_stage(); } private function resize_pie():ScreenCoordsBase{ this.addEventListener(MouseEvent.MOUSE_MOVE, this.mouseMove); this.background.resize(); this.title.resize(); this.sc = new ScreenCoords(this.title.get_height(), 0, this.stage.stageWidth, this.stage.stageHeight, null, null, null, 0, 0, false); this.obs.resize(sc); return (sc); } private function ioError(_arg1:IOErrorEvent):void{ this.removeChildAt(0); var _local2:ErrorMsg = new ErrorMsg(("Open Flash Chart\nIO ERROR\nLoading test data\n" + _arg1.text)); _local2.add_html((((("This is the URL that I tried to open:<br><a href=\"" + this.URL) + "\">") + this.URL) + "</a>")); this.addChild(_local2); } private function xmlLoaded(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); this.parse_json(_local2.data); } private function addCallback(_arg1:String, _arg2:Function):void{ if (ExternalInterface.available){ ExternalInterface.addCallback(_arg1, _arg2); }; } private function die():void{ this.obs.die(); this.obs = null; if (this.tooltip != null){ this.tooltip.die(); }; if (this.x_legend != null){ this.x_legend.die(); }; if (this.y_legend != null){ this.y_legend.die(); }; if (this.y_legend_2 != null){ this.y_legend_2.die(); }; if (this.y_axis != null){ this.y_axis.die(); }; if (this.y_axis_right != null){ this.y_axis_right.die(); }; if (this.x_axis != null){ this.x_axis.die(); }; if (this.keys != null){ this.keys.die(); }; if (this.title != null){ this.title.die(); }; if (this.radar_axis != null){ this.radar_axis.die(); }; if (this.background != null){ this.background.die(); }; this.tooltip = null; this.x_legend = null; this.y_legend = null; this.y_legend_2 = null; this.y_axis = null; this.y_axis_right = null; this.x_axis = null; this.keys = null; this.title = null; this.radar_axis = null; this.background = null; while (this.numChildren > 0) { this.removeChildAt(0); }; if (this.hasEventListener(MouseEvent.MOUSE_MOVE)){ this.removeEventListener(MouseEvent.MOUSE_MOVE, this.mouseMove); }; } public function reload(_arg1:String):void{ var _local2:Loading = new Loading(this.chart_parameters["loading"]); this.addChild(_local2); this.load_external_file(_arg1); } private function set_the_stage():void{ this.stage.align = StageAlign.TOP_LEFT; this.stage.scaleMode = StageScaleMode.NO_SCALE; this.stage.addEventListener(Event.ACTIVATE, this.activateHandler); this.stage.addEventListener(Event.RESIZE, this.resizeHandler); this.stage.addEventListener(Event.MOUSE_LEAVE, this.mouseOut); this.addEventListener(MouseEvent.MOUSE_OVER, this.mouseMove); } private function mouseMove(_arg1:Event):void{ if (!this.tooltip){ return; }; switch (this.tooltip.get_tip_style()){ case Tooltip.CLOSEST: this.mouse_move_closest(_arg1); break; case Tooltip.PROXIMITY: this.mouse_move_proximity((_arg1 as MouseEvent)); break; case Tooltip.NORMAL: this.mouse_move_follow((_arg1 as MouseEvent)); break; }; } private function parse_json(_arg1:String):void{ var json:Object; var json_string = _arg1; var ok:Boolean; try { json = JSON.deserialize(json_string); ok = true; } catch(e:Error) { this.removeChildAt(0); this.addChild(new JsonErrorMsg((json_string as String), e)); }; if (ok){ this.removeChildAt(0); this.build_chart(json); json = null; }; json_string = ""; } public function getVersion():String{ return (VERSION); } public function format_y_axis_label(_arg1:Number):String{ return (NumberUtils.format(_arg1, 2, true, true, false)); } private function resize_chart():ScreenCoordsBase{ this.addEventListener(MouseEvent.MOUSE_MOVE, this.mouseMove); this.background.resize(); this.title.resize(); var _local1:Number = (this.y_legend.get_width() + this.y_axis.get_width()); this.keys.resize(_local1, this.title.get_height()); var _local2:Number = (this.title.get_height() + this.keys.get_height()); var _local3:Number = this.stage.stageHeight; _local3 = (_local3 - (this.x_legend.get_height() + this.x_axis.get_height())); var _local4:Number = this.stage.stageWidth; _local4 = (_local4 - this.y_legend_2.get_width()); _local4 = (_local4 - this.y_axis_right.get_width()); this.sc = new ScreenCoords(_local2, _local1, _local4, _local3, this.y_axis.get_range(), this.y_axis_right.get_range(), this.x_axis.get_range(), this.x_axis.first_label_width(), this.x_axis.last_label_width(), false); this.sc.set_bar_groups(this.obs.groups); this.x_axis.resize(sc, (this.stage.stageHeight - (this.x_legend.get_height() + this.x_axis.labels.get_height()))); this.y_axis.resize(this.y_legend.get_width(), sc); this.y_axis_right.resize(0, sc); this.x_legend.resize(sc); this.y_legend.resize(); this.y_legend_2.resize(); this.obs.resize(sc); this.dispatchEvent(new Event("on-show")); return (sc); } private function callExternalCallback(_arg1:String, ... _args){ if (ExternalInterface.available){ return (ExternalInterface.call(_arg1, _args)); }; } private function resize_radar():ScreenCoordsBase{ this.addEventListener(MouseEvent.MOUSE_MOVE, this.mouseMove); this.background.resize(); this.title.resize(); this.keys.resize(0, this.title.get_height()); var _local1:Number = (this.title.get_height() + this.keys.get_height()); var _local2:ScreenCoordsRadar = new ScreenCoordsRadar(_local1, 0, this.stage.stageWidth, this.stage.stageHeight); _local2.set_range(this.radar_axis.get_range()); _local2.set_angles(((this.obs.get_max_x() - this.obs.get_min_x()) + 1)); this.radar_axis.resize(_local2); this.obs.resize(_local2); return (_local2); } private function resize():void{ var _local1:ScreenCoordsBase; if (!this.ok){ return; }; if (this.radar_axis != null){ _local1 = this.resize_radar(); } else { if (this.obs.has_pie()){ _local1 = this.resize_pie(); } else { _local1 = this.resize_chart(); }; }; if (this.menu){ this.menu.resize(); }; if (this.chart_parameters["id"]){ this.callExternalCallback("ofc_resize", _local1.left, _local1.width, _local1.top, _local1.height, this.chart_parameters["id"]); } else { this.callExternalCallback("ofc_resize", _local1.left, _local1.width, _local1.top, _local1.height); }; _local1 = null; } private function mouse_move_follow(_arg1:MouseEvent):void{ if ((_arg1.target is has_tooltip)){ this.tooltip.draw((_arg1.target as has_tooltip)); } else { this.tooltip.hide(); }; } private function show_error(_arg1:String):void{ this.removeChildAt(0); var _local2:ErrorMsg = new ErrorMsg(_arg1); this.addChild(_local2); } private function mouse_move_closest(_arg1:Event):void{ var _local2:Array = this.obs.closest_2(this.mouseX, this.mouseY); this.tooltip.closest(_local2); } private function build_chart(_arg1:Object):void{ var _local3:Sprite; tr.ace("----"); tr.ace(JSON.serialize(_arg1)); tr.ace("----"); if (this.obs != null){ this.die(); }; NumberFormat.getInstance(_arg1); NumberFormat.getInstanceY2(_arg1); this.tooltip = new Tooltip(_arg1.tooltip); var _local2:Global = Global.getInstance(); _local2.set_tooltip_string(this.tooltip.tip_text); this.background = new Background(_arg1); this.title = new Title(_arg1.title); this.addChild(this.background); if (JsonInspector.is_radar(_arg1)){ this.obs = Factory.MakeChart(_arg1); this.radar_axis = new RadarAxis(_arg1.radar_axis); this.keys = new Keys(this.obs); this.addChild(this.radar_axis); this.addChild(this.keys); } else { if (!JsonInspector.has_pie_chart(_arg1)){ this.build_chart_background(_arg1); } else { this.obs = Factory.MakeChart(_arg1); this.tooltip.set_tip_style(Tooltip.NORMAL); }; }; this.addChild(this.title); for each (_local3 in this.obs.sets) { this.addChild(_local3); }; this.addChild(this.tooltip); if (_arg1["menu"] != null){ this.menu = new Menu("99", _arg1["menu"]); this.addChild(this.menu); }; this.ok = true; this.resize(); } public function saveImage(_arg1:ContextMenuEvent):void{ this.callExternalCallback("save_image", this.chart_parameters["id"]); } private function build_chart_background(_arg1:Object):void{ this.obs = Factory.MakeChart(_arg1); this.x_legend = new XLegend(_arg1.x_legend); this.y_legend = new YLegendLeft(_arg1); this.y_legend_2 = new YLegendRight(_arg1); this.x_axis = new XAxis(_arg1, this.obs.get_min_x(), this.obs.get_max_x()); this.y_axis = new YAxisLeft(); this.y_axis_right = new YAxisRight(); var _local2:Global = Global.getInstance(); _local2.x_labels = this.x_axis.labels; _local2.x_legend = this.x_legend; this.obs.tooltip_replace_labels(this.x_axis.labels); this.keys = new Keys(this.obs); this.addChild(this.x_legend); this.addChild(this.y_legend); this.addChild(this.y_legend_2); this.addChild(this.y_axis); this.addChild(this.y_axis_right); this.addChild(this.x_axis); this.addChild(this.keys); this.y_axis.init(_arg1); this.y_axis_right.init(_arg1); } private function image_binary():ByteArray{ tr.ace("Saving image :: image_binary()"); var _local1:BitmapData = new BitmapData(this.width, this.height); _local1.draw(this); return (PNGEncoder.encode(_local1)); } private function load_external_file(_arg1:String):void{ this.URL = _arg1; var _local2:URLLoader = new URLLoader(); _local2.addEventListener(IOErrorEvent.IO_ERROR, this.ioError); _local2.addEventListener(Event.COMPLETE, xmlLoaded); var _local3:URLRequest = new URLRequest(_arg1); _local2.load(_local3); } private function mouseOut(_arg1:Event):void{ if (this.tooltip != null){ this.tooltip.hide(); }; if (this.obs != null){ this.obs.mouse_out(); }; } private function build_right_click_menu():void{ var cm:ContextMenu = new ContextMenu(); cm.addEventListener(ContextMenuEvent.MENU_SELECT, onContextMenuHandler); cm.hideBuiltInItems(); var fs:ContextMenuItem = new ContextMenuItem((("Charts by Open Flash Chart [Version " + VERSION) + "]")); with ({}) { with ({}) { !ERROR!.doSomething = function (_arg1:ContextMenuEvent):void{ var _local2 = "http://teethgrinder.co.uk/open-flash-chart-2/"; var _local3:URLRequest = new URLRequest(_local2); navigateToURL(_local3, "_blank"); }; }; fs.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, function (_arg1:ContextMenuEvent):void{ var _local2 = "http://teethgrinder.co.uk/open-flash-chart-2/"; var _local3:URLRequest = new URLRequest(_local2); navigateToURL(_local3, "_blank"); }); cm.customItems.push(fs); var save_image_message:String = (this.chart_parameters["save_image_message"]) ? this.chart_parameters["save_image_message"] : "Save Image Locally"; var dl:ContextMenuItem = new ContextMenuItem(save_image_message); dl.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, this.saveImage); cm.customItems.push(dl); this.contextMenu = cm; } public function load(_arg1:String):void{ this.parse_json(_arg1); } public function getImgBinary():String{ tr.ace("Saving image :: image_binary()"); var _local1:BitmapData = new BitmapData(this.stage.stageWidth, this.stage.stageHeight); _local1.draw(this); var _local2:Base64Encoder = new Base64Encoder(); var _local3:ByteArray = PNGEncoder.encode(_local1); _local2.encodeBytes(_local3); return (_local2.toString()); } private function mouse_move_proximity(_arg1:MouseEvent):void{ var _local2:Array = this.obs.mouse_move_proximity(this.mouseX, this.mouseY); this.tooltip.closest(_local2); } private function resizeHandler(_arg1:Event):void{ this.resize(); } private function activateHandler(_arg1:Event):void{ tr.aces("activateHandler:", _arg1); tr.aces("stage", this.stage); } private function onContextMenuHandler(_arg1:ContextMenuEvent):void{ } public function post_image(_arg1:String, _arg2:String, _arg3:Boolean):void{ var id:String; var url = _arg1; var callback = _arg2; var debug = _arg3; var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream"); var request:URLRequest = new URLRequest(url); request.requestHeaders.push(header); request.method = URLRequestMethod.POST; request.data = image_binary(); var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.VARIABLES; id = ""; if (this.chart_parameters["id"]){ id = this.chart_parameters["id"]; }; if (debug){ navigateToURL(request, "_blank"); } else { loader.addEventListener(ProgressEvent.PROGRESS, function (_arg1:ProgressEvent):void{ tr.ace(((("progress:" + _arg1.bytesLoaded) + ", total: ") + _arg1.bytesTotal)); if ((((_arg1.bytesLoaded == _arg1.bytesTotal)) && (!((callback == null))))){ tr.aces("Calling: ", (((callback + "(") + id) + ")")); this.call(callback, id); }; }); try { loader.load(request); } catch(error:Error) { tr.ace(("unable to load:" + error)); }; }; } public function get_x_legend():XLegend{ return (this.x_legend); } public function find_data():Boolean{ var _local3:*; var _local4:Array; var _local5:String; var _local6:Array; var _local1:String = this.callExternalCallback("window.location.search.substring", 1); tr.aces(1, _local1); if (_local1 != null){ _local4 = _local1.split("&"); for each (_local5 in _local4) { if (_local5.indexOf("ofc=") > -1){ _local6 = _local5.split("="); tr.ace(("Found external file:" + _local6[1])); this.load_external_file(_local6[1]); return (true); }; }; }; if (this.chart_parameters["data-file"]){ this.load_external_file(this.chart_parameters["data-file"]); return (true); }; var _local2 = "open_flash_chart_data"; if (this.chart_parameters["get-data"]){ _local2 = this.chart_parameters["get-data"]; }; if (this.chart_parameters["id"]){ _local3 = this.callExternalCallback(_local2, this.chart_parameters["id"]); } else { _local3 = this.callExternalCallback(_local2); }; if (_local3 != null){ if ((_local3 is String)){ this.parse_json(_local3); this.ok = true; return (true); }; }; return (false); } } }//package
Section 121
//NumberFormat (NumberFormat) package { public class NumberFormat { public var isFixedNumDecimalsForced:Boolean;// = false public var isDecimalSeparatorComma:Boolean;// = false public var numDecimals:Number; public var isThousandSeparatorDisabled:Boolean;// = false private static var _instance:NumberFormat = null; public static var DEFAULT_NUM_DECIMALS:Number = 2; private static var _instanceY2:NumberFormat = null; public function NumberFormat(_arg1:Number, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean){ numDecimals = DEFAULT_NUM_DECIMALS; super(); this.numDecimals = Parser.getNumberValue(_arg1, DEFAULT_NUM_DECIMALS, true, false); this.isFixedNumDecimalsForced = Parser.getBooleanValue(_arg2, false); this.isDecimalSeparatorComma = Parser.getBooleanValue(_arg3, false); this.isThousandSeparatorDisabled = Parser.getBooleanValue(_arg4, false); } public static function getInstanceY2(_arg1:Object):NumberFormat{ var _local2:Object; if (_instanceY2 == null){ _local2 = {num_decimals:2, is_fixed_num_decimals_forced:0, is_decimal_separator_comma:0, is_thousand_separator_disabled:0}; object_helper.merge_2(_arg1, _local2); _instanceY2 = new NumberFormat(_local2.num_decimals, (_local2.is_fixed_num_decimals_forced == 1), (_local2.is_decimal_separator_comma == 1), (_local2.is_thousand_separator_disabled == 1)); }; return (_instanceY2); } public static function getInstance(_arg1:Object):NumberFormat{ var _local2:Object; if (_instance == null){ _local2 = {num_decimals:2, is_fixed_num_decimals_forced:0, is_decimal_separator_comma:0, is_thousand_separator_disabled:0}; object_helper.merge_2(_arg1, _local2); _instance = new NumberFormat(_local2.num_decimals, (_local2.is_fixed_num_decimals_forced == 1), (_local2.is_decimal_separator_comma == 1), (_local2.is_thousand_separator_disabled == 1)); }; return (_instance); } } }//package
Section 122
//NumberUtils (NumberUtils) package { public class NumberUtils { public static function formatNumber(_arg1:Number):String{ var _local2:NumberFormat = NumberFormat.getInstance(null); return (NumberUtils.format(_arg1, _local2.numDecimals, _local2.isFixedNumDecimalsForced, _local2.isDecimalSeparatorComma, _local2.isThousandSeparatorDisabled)); } public static function formatNumberY2(_arg1:Number):String{ var _local2:NumberFormat = NumberFormat.getInstanceY2(null); return (NumberUtils.format(_arg1, _local2.numDecimals, _local2.isFixedNumDecimalsForced, _local2.isDecimalSeparatorComma, _local2.isThousandSeparatorDisabled)); } public static function toDecimalSeperatorComma(_arg1:String):String{ return (_arg1.replace(".", "|").replace(",", ".").replace("|", ",")); } public static function format(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean):String{ var _local7:Array; if (isNaN(_arg2)){ _arg2 = 4; }; _arg1 = (Math.round((_arg1 * Math.pow(10, _arg2))) / Math.pow(10, _arg2)); var _local6 = ""; if (_arg1 < 0){ _local7 = String(-(_arg1)).split("."); } else { _local7 = String(_arg1).split("."); }; var _local8:String = _local7[0]; var _local9:Number = 0; var _local10:Number = 0; _local10 = (_local8.length - 1); while (_local10 > -1) { if (((((_local9 % 3) == 0)) && ((_local6.length > 0)))){ _local6 = ("," + _local6); _local9 = 0; }; _local9++; _local6 = (_local8.substr(_local10, 1) + _local6); _local10--; }; if (_local7[1] != undefined){ if (_arg3){ _local7[1] = (_local7[1] + "0000000000000000"); }; _local6 = (_local6 + ("." + _local7[1].substr(0, _arg2))); } else { if (((_arg3) && ((_arg2 > 0)))){ _local7[1] = "0000000000000000"; _local6 = (_local6 + ("." + _local7[1].substr(0, _arg2))); }; }; if (_arg1 < 0){ _local6 = ("-" + _local6); }; if (_arg5){ _local6 = _local6.replace(",", ""); }; if (_arg4){ _local6 = toDecimalSeperatorComma(_local6); }; return (_local6); } } }//package
Section 123
//object_helper (object_helper) package { public class object_helper { public static function merge(_arg1:Object, _arg2:Object):Object{ var _local3:String; for (_local3 in _arg2) { if (_arg1[_local3] == undefined){ _arg1[_local3] = _arg2[_local3]; }; }; return (_arg1); } public static function merge_2(_arg1:Object, _arg2:Object):void{ var _local3:String; for (_local3 in _arg1) { _arg2[_local3] = _arg1[_local3]; }; } } }//package
Section 124
//Parser (Parser) package { public class Parser { public static function getStringValue(_arg1:Object, _arg2:String, _arg3:Boolean):String{ if (Parser.isEmptyValue(_arg2)){ _arg2 = ""; }; if (Parser.isEmptyValue(_arg1)){ return (_arg2); }; if (((!(_arg3)) && ((_arg1.length == 0)))){ return (_arg2); }; return (String(_arg1)); } public static function getNumberValue(_arg1:Object, _arg2:Number, _arg3:Boolean, _arg4:Boolean):Number{ if (((Parser.isEmptyValue(_arg2)) || (isNaN(_arg2)))){ _arg2 = 0; }; if (Parser.isEmptyValue(_arg1)){ return (_arg2); }; var _local5:Number = Number(_arg1); if (isNaN(_local5)){ return (_arg2); }; if (((!(_arg3)) && ((_local5 == 0)))){ return (_arg2); }; if (((!(_arg4)) && ((_local5 < 0)))){ return (_arg2); }; return (_local5); } public static function runTests():void{ var _local1:Number; trace("testing Parser.getStringValue..."); trace((("1) stringOK '" + Parser.getStringValue("stringOK", "myDefault", true)) + "'")); trace((("2) '' '" + Parser.getStringValue("", "myDefault", true)) + "'")); trace((("3) myDefault '" + Parser.getStringValue("", "myDefault", false)) + "'")); trace("testing Parser.getNumberValue..."); trace((("01) 999 '" + Parser.getNumberValue(999, 22222222, true, true)) + "'")); trace((("02) 999 '" + Parser.getNumberValue("999", 22222222, true, true)) + "'")); trace((("06) -1 '" + Parser.getNumberValue("abc", -1, false, false)) + "'")); trace((("07) -1 '" + Parser.getNumberValue(null, -1, false, false)) + "'")); trace((("11) 22222222 '" + Parser.getNumberValue(0, 22222222, false, false)) + "'")); trace((("12) 22222222 '" + Parser.getNumberValue(-0.1, 22222222, false, false)) + "'")); trace((("13) -0.1 '" + Parser.getNumberValue(-0.1, 22222222, false, true)) + "'")); trace((("13) 22222222 '" + Parser.getNumberValue("-0.1x", 22222222, false, true)) + "'")); trace("testing Parser.getBooleanValue..."); trace((("true '" + Parser.getBooleanValue("1", false)) + "'")); trace((("true '" + Parser.getBooleanValue("-1", false)) + "'")); trace((("false '" + Parser.getBooleanValue("0.000", false)) + "'")); trace((("false '" + Parser.getBooleanValue("", false)) + "'")); trace((("true '" + Parser.getBooleanValue("", true)) + "'")); trace((("false '" + Parser.getBooleanValue("false", false)) + "'")); trace((("false '" + Parser.getBooleanValue("xxx", false)) + "'")); trace((("true '" + Parser.getBooleanValue("true", true)) + "'")); trace((("true '" + Parser.getBooleanValue("TRUE", true)) + "'")); trace((("true '" + Parser.getBooleanValue(" TRUE ", true)) + "'")); } public static function isEmptyValue(_arg1:Object):Boolean{ return (false); } public static function getBooleanValue(_arg1:Object, _arg2:Boolean):Boolean{ if (Parser.isEmptyValue(_arg1)){ return (_arg2); }; var _local3:Number = Number(_arg1); if (!isNaN(_local3)){ if (_local3 == 0){ return (false); }; return (true); }; var _local4:String = Parser.getStringValue(_arg1, "false", false); _local4 = _local4.toLowerCase(); if (_local4.indexOf("true") != -1){ return (true); }; return (false); } } }//package
Section 125
//PointHLC (PointHLC) package { public class PointHLC { public var high:Number; public var width:Number; public var low:Number; public var bar_bottom:Number; public var close:Number; public function PointHLC(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{ this.width = _arg6; this.high = _arg2; this.close = _arg3; this.low = _arg4; } public function get_tip_pos():Object{ return (null); } public function make_tooltip(_arg1:String, _arg2:String, _arg3:Number, _arg4:String, _arg5:String, _arg6:String):void{ super.make_tooltip(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } } }//package
Section 126
//Properties (Properties) package { import flash.utils.*; import string.*; public class Properties { private var _props:Dictionary; private var _parent:Properties; public function Properties(_arg1:Object, _arg2:Properties=null){ var _local3:String; super(); this._props = new Dictionary(); this._parent = _arg2; for (_local3 in _arg1) { this._props[_local3] = _arg1[_local3]; }; } public function die():void{ var _local1:Object; if (this._parent){ this._parent.die(); }; for (_local1 in this._props) { this._props[_local1] = null; }; this._parent = null; } public function set(_arg1:String, _arg2:Object):void{ this._props[_arg1] = _arg2; } public function get_colour(_arg1:String):Number{ return (Utils.get_colour(this.get(_arg1))); } public function get(_arg1:String){ if (this._props[_arg1] != null){ return (this._props[_arg1]); }; if (this._parent != null){ return (this._parent.get(_arg1)); }; var _local2:Error = new Error(); var _local3:String = _local2.getStackTrace(); tr.aces("ERROR: property not found", _arg1, _local3); return (Number.NEGATIVE_INFINITY); } public function set_parent(_arg1:Properties):void{ if (this._parent != null){ _arg1.set_parent(this._parent); }; this._parent = _arg1; } public function has(_arg1:String):Boolean{ if (this._props[_arg1] == null){ if (this._parent != null){ return (this._parent.has(_arg1)); }; return (false); //unresolved jump }; return (true); } } }//package
Section 127
//Range (Range) package { public class Range { public var min:Number; public var offset:Boolean; public var max:Number; public var step:Number; public function Range(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean){ this.min = _arg1; this.max = _arg2; this.step = _arg3; this.offset = _arg4; } public function toString():String{ return (((("Range : " + this.min) + ", ") + this.max)); } public function count():Number{ if (this.offset){ return (((this.max - this.min) + 1)); }; return ((this.max - this.min)); } } }//package
Section 128
//ScreenCoords (ScreenCoords) package { import flash.geom.*; public class ScreenCoords extends ScreenCoordsBase { private var bar_groups:Number; private var x_offset:Boolean; private var y_right_range:Range; private var y_offset:Boolean; public var tick_offset:Number; private var x_range:Range; private var y_range:Range; public function ScreenCoords(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Range, _arg6:Range, _arg7:Range, _arg8:Number, _arg9:Number, _arg10:Boolean){ super(_arg1, _arg2, _arg3, _arg4); var _local11:Number = _arg2; this.x_range = _arg7; this.y_range = _arg5; this.y_right_range = _arg6; if (x_range){ _arg3 = this.jiggle(_arg2, _arg3, _arg9, _arg7.count()); _local11 = this.shrink_left(_arg2, _arg3, _arg8, _arg7.count()); }; this.top = _arg1; this.left = Math.max(_arg2, _local11); this.right = Math.floor(_arg3); this.bottom = _arg4; this.width = (this.right - this.left); this.height = (_arg4 - _arg1); if (_arg10){ this.tick_offset = 12; } else { this.tick_offset = 0; }; if (_arg7){ this.x_offset = _arg7.offset; }; if (_arg5){ this.y_offset = _arg5.offset; }; this.bar_groups = 1; } public function set_bar_groups(_arg1:Number):void{ this.bar_groups = _arg1; } public function get_horiz_bar_coords(_arg1:Number, _arg2:Number):Object{ var _local3:Number = (this.height / this.y_range.count()); var _local4:Number = (_local3 * 0.8); var _local5:Number = (_local4 / this.bar_groups); var _local6:Number = (this.top + ((_local3 - _local4) / 2)); var _local7:Number = (_local6 + (_arg1 * _local3)); _local7 = (_local7 + (_local5 * _arg2)); return ({y:_local7, width:_local5}); } public function makePointHLC(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean, _arg6:Number, _arg7:Number):PointHLC{ var _local8:Number = (this.width_() / this.x_range.count()); var _local9:Number = (_local8 * 1); var _local10:Number = (this.left_() + ((_local8 - _local9) / 2)); var _local11:Number = (_local9 / _arg7); var _local12:Number = (_local10 + (_arg1 * _local8)); _local12 = (_local12 + (_local11 * _arg6)); return (new PointHLC(_local12, this.get_y_from_val(_arg2, _arg5), this.get_y_from_val(_arg3, _arg5), this.get_y_from_val(_arg4, _arg5), _arg2, _local11)); } public function get_bar_coords(_arg1:Number, _arg2:Number):Object{ var _local3:Number = (this.width_() / this.x_range.count()); var _local4:Number = (_local3 * 0.8); var _local5:Number = 0; if (this.x_offset){ _local5 = _local3; }; var _local6:Number = (_local4 / this.bar_groups); var _local7:Number = (this.left_() + ((_local5 - _local4) / 2)); var _local8:Number = (_local7 + (_arg1 * _local3)); _local8 = (_local8 + (_local6 * _arg2)); return ({x:_local8, width:_local6}); } public function jiggle_original(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local6:Number; var _local7:Number; var _local5:Number = 0; if (_arg3 != 0){ _local6 = ((_arg2 - _arg1) / _arg4); _local5 = (_arg2 - (_local6 / 2)); _local7 = _arg2; while ((_local5 + (_arg3 / 2)) > _arg2) { --_local7; _local6 = ((_local7 - _arg1) / _arg4); _local5 = (_local7 - (_local6 / 2)); }; _arg2 = _local7; }; return (_arg2); } public function width_():Number{ return ((this.right - this.left_())); } override public function get_y_from_val(_arg1:Number, _arg2:Boolean=false):Number{ var _local3:Range = (_arg2) ? this.y_right_range : this.y_range; var _local4:Number = (this.height / _local3.count()); var _local5:Number = 0; if (this.y_offset){ _local5 = (_local4 / 2); }; return (((this.bottom - _local5) - (((_local3.min - _arg1) * _local4) * -1))); } public function jiggle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((_arg2 - (_arg3 / 2))); } override public function get_get_x_from_pos_and_y_from_val(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Point{ return (new Point(this.get_x_from_pos(_arg1), this.get_y_from_val(_arg2, _arg3))); } public function get_x_tick_pos(_arg1:Number):Number{ return ((this.get_x_from_pos(_arg1) - this.tick_offset)); } public function getY_old(_arg1:Number, _arg2:Boolean):Number{ var _local3:Range = (_arg2) ? this.y_right_range : this.y_range; var _local4:Number = (this.height / _local3.count()); var _local5:Number = (this.bottom - (_local4 * (_local3.min * -1))); _local5 = (_local5 - (_arg1 * _local4)); return (_local5); } override public function get_x_from_pos(_arg1:Number):Number{ var _local2 = (this.x_range.min > this.x_range.max); var _local3:Number = this.x_range.count(); _local3 = (_local3 + (((_local2) && (this.x_range.offset))) ? -2 : 0); var _local4:Number = Math.abs((this.width_() / _local3)); var _local5:Number = 0; if (this.x_offset){ _local5 = (_local4 / 2); }; return (((this.left_() + _local5) + (_arg1 * _local4))); } private function left_():Number{ var _local1:Number = this.tick_offset; return ((this.left + _local1)); } override public function get_y_bottom(_arg1:Boolean=false):Number{ var _local2:Range = (_arg1) ? this.y_right_range : this.y_range; var _local3:Number = _local2.min; var _local4:Number = _local2.max; _local3 = Math.min(_local3, _local4); return (this.get_y_from_val(Math.max(0, _local3), _arg1)); } override public function get_x_from_val(_arg1:Number):Number{ var _local2 = (this.x_range.min > this.x_range.max); var _local3:Number = this.x_range.count(); _local3 = (_local3 + (((_local2) && (this.x_range.offset))) ? -2 : 0); var _local4:Number = (this.width_() / _local3); var _local5:Number = (_arg1 - this.x_range.min); var _local6:Number = 0; if (this.x_offset){ _local6 = Math.abs((_local4 / 2)); }; return (((this.left_() + _local6) + (_local5 * _local4))); } public function shrink_left(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local6:Number; var _local7:Number; var _local5:Number = 0; if (_arg3 != 0){ _local6 = ((_arg2 - _arg1) / _arg4); _local5 = (_arg1 + (_local6 / 2)); _local7 = _arg1; while ((_local5 - (_arg3 / 2)) < 0) { _local7 = (_local7 + 1); _local6 = ((_arg2 - _local7) / _arg4); _local5 = (_local7 + (_local6 / 2)); }; _arg1 = _local7; }; return (_arg1); } } }//package
Section 129
//ScreenCoordsBase (ScreenCoordsBase) package { import flash.geom.*; public class ScreenCoordsBase { public var width:Number; public var left:Number; public var bottom:Number; public var top:Number; public var right:Number; public var height:Number; public function ScreenCoordsBase(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ this.top = _arg1; this.left = _arg2; this.right = _arg3; this.bottom = _arg4; this.width = (this.right - this.left); this.height = (_arg4 - _arg1); } public function get_get_x_from_pos_and_y_from_val(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Point{ return (null); } public function get_x_from_val(_arg1:Number):Number{ return (-1); } public function get_x_from_pos(_arg1:Number):Number{ return (-1); } public function get_center_y():Number{ return (((this.height / 2) + this.top)); } public function get_center_x():Number{ return (((this.width / 2) + this.left)); } public function get_y_bottom(_arg1:Boolean=false):Number{ return (-1); } public function get_y_from_val(_arg1:Number, _arg2:Boolean=false):Number{ return (-1); } } }//package
Section 130
//ScreenCoordsRadar (ScreenCoordsRadar) package { import flash.geom.*; public class ScreenCoordsRadar extends ScreenCoordsBase { private var angles:Number; private var TO_RADIANS:Number;// = 0.0174532925199433 private var radius:Number; private var angle:Number; private var range:Range; public function ScreenCoordsRadar(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ super(_arg1, _arg2, _arg3, _arg4); this.radius = (Math.min(this.width, this.height) / 2); } override public function get_get_x_from_pos_and_y_from_val(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Point{ var _local4:Point = this.get_pos((this.angle * _arg1), (_arg2 / this.range.count())); this.get_pos((this.angle * _arg1), (_arg2 / this.range.count())).x = (_local4.x + this.get_center_x()); _local4.y = (_local4.y + this.get_center_y()); return (_local4); } public function get_pos(_arg1:Number, _arg2:Number):Point{ var _local3:Number = ((_arg1 - 90) * TO_RADIANS); var _local4:Number = (this.get_radius() * _arg2); var _local5:Point = new Point((_local4 * Math.cos(_local3)), (_local4 * Math.sin(_local3))); return (_local5); } override public function get_y_from_val(_arg1:Number, _arg2:Boolean=false):Number{ var _local3:Point = this.get_pos(0, (_arg1 / this.range.count())); _local3.y = (_local3.y + this.get_center_y()); return (_local3.y); } public function get_angles():Number{ return (this.angles); } public function get_radius():Number{ return (this.radius); } public function reduce_radius():void{ this.radius--; } public function set_angles(_arg1:Number):void{ this.angles = _arg1; this.angle = (360 / _arg1); } public function set_range(_arg1:Range):void{ this.range = _arg1; } public function get_max():Number{ return (this.range.max); } } }//package
Section 131
//Tooltip (Tooltip) package { import flash.geom.*; import charts.series.*; import flash.text.*; import flash.display.*; import caurina.transitions.*; import flash.filters.*; import string.*; public class Tooltip extends Sprite { private var tip_style:Number; public var tip_text:String; private var tip_showing:Boolean; private var cached_elements:Array; private var style:Object; public static const NORMAL:Number = 2; public static const CLOSEST:Number = 0; public static const PROXIMITY:Number = 1; public function Tooltip(_arg1:Object){ var _local2:DropShadowFilter; super(); this.mouseEnabled = false; this.tip_showing = false; this.style = {shadow:true, rounded:6, stroke:2, colour:"#808080", background:"#f0f0f0", title:"color: #0000F0; font-weight: bold; font-size: 12;", body:"color: #000000; font-weight: normal; font-size: 12;", mouse:Tooltip.CLOSEST, text:"_default"}; if (_arg1){ this.style = object_helper.merge(_arg1, this.style); }; this.style.colour = Utils.get_colour(this.style.colour); this.style.background = Utils.get_colour(this.style.background); this.style.title = new Css(this.style.title); this.style.body = new Css(this.style.body); this.tip_style = this.style.mouse; this.tip_text = this.style.text; this.cached_elements = []; if (this.style.shadow == 1){ _local2 = new DropShadowFilter(); _local2.blurX = 4; _local2.blurY = 4; _local2.distance = 4; _local2.angle = 45; _local2.quality = 2; _local2.alpha = 0.5; this.filters = [_local2]; }; } public function die():void{ this.filters = []; this.graphics.clear(); while (this.numChildren > 0) { this.removeChildAt(0); }; this.style = null; this.cached_elements = null; } public function draw(_arg1:has_tooltip):void{ if (this.cached_elements[0] == _arg1){ if (!this.tip_showing){ this.show_tip(_arg1); }; } else { this.untip(); this.cached_elements = [_arg1]; this.make_tip([_arg1]); this.show_tip(_arg1); }; } private function make_title(_arg1:String):TextField{ var _local2:TextField = new TextField(); _local2.mouseEnabled = false; _local2.htmlText = _arg1; var _local3:TextFormat = new TextFormat(); _local3.color = this.style.title.color; _local3.font = "Verdana"; _local3.bold = (this.style.title.font_weight == "bold"); _local3.size = this.style.title.font_size; _local3.align = "right"; _local2.setTextFormat(_local3); _local2.autoSize = "left"; return (_local2); } public function hide():void{ this.tip_showing = false; tr.ace("hide tooltip"); Tweener.addTween(this, {alpha:0, time:0.6, transition:Equations.easeOutExpo, onComplete:hideAway}); } public function make_tip(_arg1:Array):void{ var _local4:has_tooltip; var _local5:Object; this.graphics.clear(); while (this.numChildren > 0) { this.removeChildAt(0); }; var _local2:Number = 0; var _local3:Number = 5; for each (_local4 in _arg1) { _local5 = this.make_one_tip(_local4, _local3); _local2 = Math.max(_local2, _local5.height); _local3 = (_local3 + (_local5.width + 2)); }; this.graphics.lineStyle(this.style.stroke, this.style.colour, 1); this.graphics.beginFill(this.style.background, 1); this.graphics.drawRoundRect(0, 0, (width + 10), (_local2 + 5), this.style.rounded, this.style.rounded); } private function hideAway():void{ this.visible = false; this.untip(); this.cached_elements = new Array(); this.alpha = 1; } private function make_body(_arg1:String):TextField{ var _local2:TextField = new TextField(); _local2.mouseEnabled = false; _local2.htmlText = _arg1; var _local3:TextFormat = new TextFormat(); _local3.color = this.style.body.color; _local3.font = "Verdana"; _local3.bold = (this.style.body.font_weight == "bold"); _local3.size = this.style.body.font_size; _local3.align = "left"; _local2.setTextFormat(_local3); _local2.autoSize = "left"; return (_local2); } private function is_cached(_arg1:Array):Boolean{ var _local2:has_tooltip; if (this.cached_elements.length == 0){ return (false); }; for each (_local2 in _arg1) { if (this.cached_elements.indexOf(_local2) == -1){ return (false); }; }; return (true); } private function show_tip(_arg1:has_tooltip):void{ Tweener.removeTweens(this); var _local2:Point = this.get_pos(_arg1); if (this.style.mouse == Tooltip.CLOSEST){ this.visible = true; this.alpha = 1; this.x = _local2.x; this.y = _local2.y; } else { this.tip_showing = true; tr.ace("show"); this.alpha = 0; this.visible = true; this.x = _local2.x; this.y = _local2.y; Tweener.addTween(this, {alpha:1, time:0.4, transition:Equations.easeOutExpo}); }; } private function tip():void{ var _local1:has_tooltip; for each (_local1 in this.cached_elements) { _local1.set_tip(true); }; } public function closest(_arg1:Array):void{ if (_arg1.length == 0){ return; }; if (this.is_cached(_arg1)){ return; }; this.untip(); this.cached_elements = _arg1; this.tip(); this.make_tip(_arg1); var _local2:Point = this.get_pos(_arg1[0]); this.visible = true; Tweener.addTween(this, {x:_local2.x, time:0.3, transition:Equations.easeOutExpo}); Tweener.addTween(this, {y:_local2.y, time:0.3, transition:Equations.easeOutExpo}); } public function get_tip_style():Number{ return (this.tip_style); } private function get_pos(_arg1:has_tooltip):Point{ var _local2:Object = _arg1.get_tip_pos(); var _local3:Number = ((((_local2.x + this.width) + 16) > this.stage.stageWidth)) ? ((this.stage.stageWidth - this.width) - 16) : _local2.x; var _local4:Number = _local2.y; _local4 = (_local4 - 4); _local4 = (_local4 - (this.height + 10)); if (_local4 < 0){ _local4 = 0; }; return (new Point(_local3, _local4)); } public function set_tip_style(_arg1:Number):void{ this.tip_style = _arg1; } private function make_one_tip(_arg1:has_tooltip, _arg2:Number):Object{ var _local8:TextField; var _local3:String = _arg1.get_tooltip(); var _local4:Array = _local3.split("<br>"); var _local5:Number = 5; var _local6:Number = 0; if (_local4.length > 1){ _local8 = this.make_title(_local4.shift()); _local8.mouseEnabled = false; _local8.x = _arg2; _local8.y = _local5; _local5 = (_local5 + _local8.height); _local6 = _local8.width; this.addChild(_local8); }; var _local7:TextField = this.make_body(_local4.join("\n")); _local7.mouseEnabled = false; _local7.x = _arg2; _local7.y = _local5; _local6 = Math.max(_local6, _local7.width); this.addChild(_local7); _local5 = (_local5 + _local7.height); return ({width:_local6, height:_local5}); } private function untip():void{ var _local1:has_tooltip; for each (_local1 in this.cached_elements) { _local1.set_tip(false); }; } } }//package
Section 132
//tr (tr) package { import com.serialization.json.*; import org.flashdevelop.utils.*; public class tr { public static function aces(... _args):void{ var _local3:Object; var _local2:Array = []; for each (_local3 in _args) { if (_local3 == null){ _local2.push("null"); } else { _local2.push(_local3.toString()); }; }; FlashConnect.trace(_local2.join(", ")); } public static function ace(_arg1:Object):void{ if (_arg1 == null){ FlashConnect.trace("null"); } else { FlashConnect.trace(_arg1.toString()); }; } public static function ace_json(_arg1:Object):void{ tr.ace(JSON.serialize(_arg1)); } public static function ace_full(_arg1:uint=3):void{ var _local4:Array; var _local5:String; var _local2:Error = new Error(); var _local3:String = _local2.getStackTrace(); if (_local3 == null){ FlashConnect.trace("(!debug) "); } else { _local4 = _local3.split("\n"); _local5 = tr.gimme_caller(_local4[_arg1]); FlashConnect.trace(_local5); }; } private static function gimme_caller(_arg1:String):String{ var _local3:String; var _local5:String; var _local2:int = _arg1.indexOf("::"); if (_local2 == -1){ _local3 = _arg1.substr(4); } else { _local3 = _arg1.substr((_local2 + 2)); }; var _local4:int = _local3.indexOf("["); if (_local4 == -1){ return ((("[" + _local3) + "]")); }; _local5 = _local3.substr(_local3.lastIndexOf(":")); _local3 = _local3.substr(0, _local4); return ((("[" + _local3) + _local5)); } } }//package

Library Items

Symbol 1 Font {elements.axis.XAxisLabels_ArialFont__}

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1458 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
SerialNumber (41)Timeline Frame 1

Labels

"main"Frame 1




https://swfchan.com/53/262847/info.shtml
Created: 1/3 -2026 17:50:34 Last modified: 1/3 -2026 17:50:34 Server time: 02/03 -2026 02:17:57