home *** CD-ROM | disk | FTP | other *** search
- package mdm
- {
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.display.DisplayObject;
- import flash.display.GradientType;
- import flash.display.SimpleButton;
- import flash.display.Sprite;
- import flash.display.Stage;
- import flash.events.MouseEvent;
- import flash.filters.BitmapFilterQuality;
- import flash.filters.DropShadowFilter;
- import flash.filters.GlowFilter;
- import flash.geom.Matrix;
- import flash.text.TextField;
- import flash.text.TextFieldAutoSize;
-
- public final class Alert2
- {
- private static var stage:Stage;
-
- private static var btnWidth:int = 45;
-
- private static var btnHeight:int = 21;
-
- public function Alert2()
- {
- super();
- }
-
- private static function createBtn(param1:int) : SimpleButton
- {
- var _loc2_:Array = null;
- var _loc3_:Array = null;
- var _loc4_:Array = null;
- var _loc5_:Matrix = null;
- var _loc6_:Sprite = null;
- var _loc7_:Sprite = null;
- var _loc8_:Sprite = null;
- var _loc9_:SimpleButton = null;
- _loc2_ = new Array();
- _loc3_ = new Array(1,1,1);
- _loc4_ = new Array(0,128,255);
- _loc5_ = new Matrix();
- _loc5_.createGradientBox(btnWidth,btnHeight,Math.PI / 2,0,0);
- _loc6_ = new Sprite();
- _loc2_ = [16777215,param1,16777215];
- _loc6_.graphics.lineStyle(1);
- _loc6_.graphics.beginGradientFill(GradientType.LINEAR,_loc2_,_loc3_,_loc4_,_loc5_);
- _loc6_.graphics.drawRect(0,0,btnWidth,btnHeight);
- _loc6_.addChild(getTextField("OK",true));
- _loc7_ = new Sprite();
- _loc2_ = [16777215,brightenColour(param1,50),16777215];
- _loc7_.graphics.lineStyle(1);
- _loc7_.graphics.beginGradientFill(GradientType.LINEAR,_loc2_,_loc3_,_loc4_,_loc5_);
- _loc7_.graphics.drawRect(0,0,btnWidth,btnHeight);
- _loc7_.addChild(getTextField("OK",true));
- _loc8_ = new Sprite();
- _loc2_ = [0,brightenColour(param1,50),0];
- _loc8_.graphics.lineStyle(1);
- _loc8_.graphics.beginGradientFill(GradientType.LINEAR,_loc2_,_loc3_,_loc4_,_loc5_);
- _loc8_.graphics.drawRect(0,0,btnWidth,btnHeight);
- _loc8_.addChild(getTextField("OK",true));
- return new SimpleButton(_loc6_,_loc7_,_loc8_,_loc7_);
- }
-
- private static function doStopDrag(param1:MouseEvent) : void
- {
- if(param1.target.name != "textfield")
- {
- if(param1.target.name == "alert")
- {
- param1.target.stopDrag();
- }
- }
- }
-
- private static function closeAlert(param1:MouseEvent) : void
- {
- var _loc2_:Object = null;
- var _loc3_:DisplayObject = null;
- var _loc4_:Sprite = null;
- _loc2_ = param1.target;
- _loc2_.removeEventListener(MouseEvent.CLICK,closeAlert);
- _loc3_ = param1.target.parent;
- _loc3_.removeEventListener(MouseEvent.CLICK,doStartDrag);
- _loc3_.removeEventListener(MouseEvent.CLICK,doStopDrag);
- _loc4_ = param1.target.parent.parent.parent;
- removeBlockingListeners(_loc4_);
- _loc4_.parent.removeChild(_loc4_);
- }
-
- private static function createPrompt(param1:String, param2:int) : Sprite
- {
- var _loc3_:Sprite = null;
- _loc3_ = new Sprite();
- _loc3_.addEventListener(MouseEvent.MOUSE_DOWN,doStartDrag);
- _loc3_.addEventListener(MouseEvent.MOUSE_UP,doStopDrag);
- _loc3_.addChild(getPrompt(param1,param2));
- _loc3_.x = stage.stageWidth / 2 - _loc3_.width / 2;
- _loc3_.y = stage.stageHeight / 2 - _loc3_.height / 2;
- _loc3_.filters = [getFilter(param2),getBlurFilter(param2)];
- return _loc3_;
- }
-
- private static function brightenColour(param1:int, param2:int) : int
- {
- var _loc3_:Array = null;
- var _loc4_:int = 0;
- var _loc5_:int = 0;
- var _loc6_:int = 0;
- _loc3_ = hexToRGB(param1);
- _loc4_ = keepInBounds(_loc3_[0] + param2);
- _loc5_ = keepInBounds(_loc3_[1] + param2);
- _loc6_ = keepInBounds(_loc3_[2] + param2);
- return RGBToHex(_loc4_,_loc5_,_loc6_);
- }
-
- public static function init(param1:Stage) : void
- {
- stage = param1;
- }
-
- private static function createBackground(param1:int) : Sprite
- {
- var _loc2_:BitmapData = null;
- var _loc3_:Bitmap = null;
- var _loc4_:Sprite = null;
- _loc2_ = new BitmapData(stage.stageWidth,stage.stageHeight,true,4278190080 + param1);
- _loc3_ = new Bitmap(_loc2_);
- _loc4_ = new Sprite();
- _loc4_.addChild(_loc3_);
- _loc4_.alpha = 0.3;
- return _loc4_;
- }
-
- private static function assignListeners(param1:Sprite, param2:Function, param3:Boolean) : void
- {
- var Background:Sprite = null;
- var Prompt:Sprite = null;
- var OKbutton:Sprite = null;
- var myFunction:Function = null;
- var myAlert:Sprite = param1;
- var callback:Function = param2;
- var blockMouse:Boolean = param3;
- Background = myAlert.getChildAt(1) as Sprite;
- Prompt = Background.getChildAt(0) as Sprite;
- OKbutton = Prompt.getChildAt(2) as Sprite;
- if(callback != null)
- {
- myFunction = function(param1:MouseEvent):void
- {
- OKbutton.removeEventListener(MouseEvent.CLICK,myFunction);
- closeAlert(param1);
- callback();
- };
- OKbutton.addEventListener(MouseEvent.CLICK,myFunction);
- }
- else
- {
- OKbutton.addEventListener(MouseEvent.CLICK,closeAlert);
- }
- if(blockMouse)
- {
- myAlert.addEventListener(MouseEvent.CLICK,stopEvents);
- myAlert.doubleClickEnabled = true;
- myAlert.addEventListener(MouseEvent.DOUBLE_CLICK,stopEvents);
- myAlert.addEventListener(MouseEvent.MOUSE_MOVE,stopEvents);
- myAlert.addEventListener(MouseEvent.MOUSE_DOWN,stopEvents);
- myAlert.addEventListener(MouseEvent.MOUSE_OUT,stopEvents);
- myAlert.addEventListener(MouseEvent.MOUSE_OVER,stopEvents);
- myAlert.addEventListener(MouseEvent.MOUSE_UP,stopEvents);
- myAlert.addEventListener(MouseEvent.MOUSE_WHEEL,stopEvents);
- myAlert.addEventListener(MouseEvent.ROLL_OUT,stopEvents);
- myAlert.addEventListener(MouseEvent.ROLL_OVER,stopEvents);
- }
- }
-
- private static function getPrompt(param1:String, param2:int) : Sprite
- {
- var _loc3_:Sprite = null;
- var _loc4_:TextField = null;
- var _loc5_:Number = NaN;
- var _loc6_:Number = NaN;
- var _loc7_:BitmapData = null;
- var _loc8_:Bitmap = null;
- var _loc9_:SimpleButton = null;
- _loc3_ = new Sprite();
- _loc3_.addEventListener(MouseEvent.MOUSE_DOWN,doStartDrag);
- _loc3_.addEventListener(MouseEvent.MOUSE_UP,doStopDrag);
- _loc3_.name = "alert";
- _loc4_ = getTextField(param1);
- _loc5_ = _loc4_.width + 10;
- _loc6_ = _loc4_.height + 55;
- if(_loc5_ < 150)
- {
- _loc5_ = 150;
- }
- if(_loc6_ < 100)
- {
- _loc6_ = 100;
- }
- if(_loc6_ > stage.stageHeight)
- {
- _loc6_ = stage.stageHeight - 20;
- _loc4_.autoSize = TextFieldAutoSize.NONE;
- _loc4_.height = stage.stageHeight - 40;
- }
- _loc7_ = new BitmapData(_loc5_,_loc6_,true,4278190080 + param2);
- _loc8_ = new Bitmap(_loc7_);
- _loc3_.addChild(_loc8_);
- _loc4_.x = _loc3_.width / 2 - _loc4_.width / 2;
- _loc4_.y = _loc3_.height / 2 - _loc4_.height / 2 - 10;
- _loc3_.addChild(_loc4_);
- _loc9_ = createBtn(param2);
- _loc9_.x = _loc3_.width / 2 - _loc9_.width / 2;
- _loc9_.y = _loc3_.height - 35;
- _loc3_.addChild(_loc9_);
- return _loc3_;
- }
-
- private static function getTextField(param1:String, param2:Boolean = false) : TextField
- {
- var _loc3_:TextField = null;
- _loc3_ = new TextField();
- _loc3_.name = "textfield";
- _loc3_.multiline = true;
- _loc3_.selectable = false;
- _loc3_.autoSize = TextFieldAutoSize.CENTER;
- if(param2)
- {
- param1 = "<b>" + param1 + "</b>";
- }
- _loc3_.htmlText = "<font face=\"Verdana\">" + param1 + "</font>";
- _loc3_.x = btnWidth / 2 - _loc3_.width / 2;
- _loc3_.y = btnHeight / 2 - _loc3_.height / 2;
- return _loc3_;
- }
-
- private static function keepInBounds(param1:int) : int
- {
- if(param1 < 0)
- {
- param1 = 0;
- }
- if(param1 > 255)
- {
- param1 = 255;
- }
- return param1;
- }
-
- private static function removeBlockingListeners(param1:Sprite) : void
- {
- param1.removeEventListener(MouseEvent.CLICK,stopEvents);
- param1.removeEventListener(MouseEvent.DOUBLE_CLICK,stopEvents);
- param1.removeEventListener(MouseEvent.MOUSE_MOVE,stopEvents);
- param1.removeEventListener(MouseEvent.MOUSE_DOWN,stopEvents);
- param1.removeEventListener(MouseEvent.MOUSE_OUT,stopEvents);
- param1.removeEventListener(MouseEvent.MOUSE_OVER,stopEvents);
- param1.removeEventListener(MouseEvent.MOUSE_UP,stopEvents);
- param1.removeEventListener(MouseEvent.MOUSE_WHEEL,stopEvents);
- param1.removeEventListener(MouseEvent.ROLL_OUT,stopEvents);
- param1.removeEventListener(MouseEvent.ROLL_OVER,stopEvents);
- }
-
- private static function doStartDrag(param1:MouseEvent) : void
- {
- if(param1.target.name != "textfield")
- {
- if(param1.target.name == "alert")
- {
- param1.target.startDrag();
- }
- }
- }
-
- private static function getFilter(param1:int) : *
- {
- var _loc2_:Number = NaN;
- var _loc3_:Number = NaN;
- var _loc4_:Number = NaN;
- var _loc5_:Number = NaN;
- var _loc6_:Number = NaN;
- var _loc7_:Boolean = false;
- var _loc8_:Boolean = false;
- var _loc9_:Number = NaN;
- _loc2_ = 16777215;
- _loc3_ = 0.8;
- _loc4_ = 15;
- _loc5_ = 15;
- _loc6_ = 0.7;
- _loc7_ = true;
- _loc8_ = false;
- _loc9_ = BitmapFilterQuality.HIGH;
- return new GlowFilter(_loc2_,_loc3_,_loc4_,_loc5_,_loc6_,_loc9_,_loc7_,_loc8_);
- }
-
- private static function RGBToHex(param1:int, param2:int, param3:int) : int
- {
- var _loc4_:uint = 0;
- _loc4_ = uint((param1 & 0xFF) << 16);
- _loc4_ = uint(_loc4_ + ((param2 & 0xFF) << 8));
- return uint(_loc4_ + (param3 & 0xFF));
- }
-
- private static function getBlurFilter(param1:int) : *
- {
- var _loc2_:Number = NaN;
- var _loc3_:Number = NaN;
- var _loc4_:Number = NaN;
- var _loc5_:Number = NaN;
- var _loc6_:Number = NaN;
- var _loc7_:Number = NaN;
- var _loc8_:Number = NaN;
- var _loc9_:Boolean = false;
- var _loc10_:Boolean = false;
- var _loc11_:Number = NaN;
- _loc2_ = 0;
- _loc3_ = 45;
- _loc4_ = 0.6;
- _loc5_ = 8;
- _loc6_ = 8;
- _loc7_ = 4;
- _loc8_ = 1.3;
- _loc9_ = false;
- _loc10_ = false;
- _loc11_ = BitmapFilterQuality.LOW;
- return new DropShadowFilter(_loc7_,_loc3_,_loc2_,_loc4_,_loc5_,_loc6_,_loc8_,_loc11_,_loc9_,_loc10_);
- }
-
- public static function hexToRGB(param1:uint) : Array
- {
- var _loc2_:Array = null;
- var _loc3_:uint = 0;
- _loc2_ = new Array();
- _loc2_.push(param1 >> 16);
- _loc3_ = uint(param1 ^ _loc2_[0] << 16);
- _loc2_.push(_loc3_ >> 8);
- _loc2_.push(_loc3_ ^ _loc2_[1] << 8);
- return _loc2_;
- }
-
- private static function stopEvents(param1:MouseEvent) : void
- {
- param1.stopImmediatePropagation();
- }
-
- public static function show(param1:* = "Made by Dark Vyper", param2:Function = null, param3:int = 10380027, param4:Boolean = true) : void
- {
- var _loc5_:Sprite = null;
- if(stage == null)
- {
- return;
- }
- _loc5_ = new Sprite();
- _loc5_.addChild(createBackground(param3));
- _loc5_.addChild(createPrompt(param1.toString(),param3));
- assignListeners(_loc5_,param2,param4);
- stage.addChild(_loc5_);
- }
- }
- }
-
-