home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2011 May / ME_2011_05.iso / Galileo-Video-Tutorial / system / player.swf / scripts / mdm / Alert2.as next >
Encoding:
Text File  |  2010-11-30  |  13.0 KB  |  365 lines

  1. package mdm
  2. {
  3.    import flash.display.Bitmap;
  4.    import flash.display.BitmapData;
  5.    import flash.display.DisplayObject;
  6.    import flash.display.GradientType;
  7.    import flash.display.SimpleButton;
  8.    import flash.display.Sprite;
  9.    import flash.display.Stage;
  10.    import flash.events.MouseEvent;
  11.    import flash.filters.BitmapFilterQuality;
  12.    import flash.filters.DropShadowFilter;
  13.    import flash.filters.GlowFilter;
  14.    import flash.geom.Matrix;
  15.    import flash.text.TextField;
  16.    import flash.text.TextFieldAutoSize;
  17.    
  18.    public final class Alert2
  19.    {
  20.       private static var stage:Stage;
  21.       
  22.       private static var btnWidth:int = 45;
  23.       
  24.       private static var btnHeight:int = 21;
  25.       
  26.       public function Alert2()
  27.       {
  28.          super();
  29.       }
  30.       
  31.       private static function createBtn(param1:int) : SimpleButton
  32.       {
  33.          var _loc2_:Array = null;
  34.          var _loc3_:Array = null;
  35.          var _loc4_:Array = null;
  36.          var _loc5_:Matrix = null;
  37.          var _loc6_:Sprite = null;
  38.          var _loc7_:Sprite = null;
  39.          var _loc8_:Sprite = null;
  40.          var _loc9_:SimpleButton = null;
  41.          _loc2_ = new Array();
  42.          _loc3_ = new Array(1,1,1);
  43.          _loc4_ = new Array(0,128,255);
  44.          _loc5_ = new Matrix();
  45.          _loc5_.createGradientBox(btnWidth,btnHeight,Math.PI / 2,0,0);
  46.          _loc6_ = new Sprite();
  47.          _loc2_ = [16777215,param1,16777215];
  48.          _loc6_.graphics.lineStyle(1);
  49.          _loc6_.graphics.beginGradientFill(GradientType.LINEAR,_loc2_,_loc3_,_loc4_,_loc5_);
  50.          _loc6_.graphics.drawRect(0,0,btnWidth,btnHeight);
  51.          _loc6_.addChild(getTextField("OK",true));
  52.          _loc7_ = new Sprite();
  53.          _loc2_ = [16777215,brightenColour(param1,50),16777215];
  54.          _loc7_.graphics.lineStyle(1);
  55.          _loc7_.graphics.beginGradientFill(GradientType.LINEAR,_loc2_,_loc3_,_loc4_,_loc5_);
  56.          _loc7_.graphics.drawRect(0,0,btnWidth,btnHeight);
  57.          _loc7_.addChild(getTextField("OK",true));
  58.          _loc8_ = new Sprite();
  59.          _loc2_ = [0,brightenColour(param1,50),0];
  60.          _loc8_.graphics.lineStyle(1);
  61.          _loc8_.graphics.beginGradientFill(GradientType.LINEAR,_loc2_,_loc3_,_loc4_,_loc5_);
  62.          _loc8_.graphics.drawRect(0,0,btnWidth,btnHeight);
  63.          _loc8_.addChild(getTextField("OK",true));
  64.          return new SimpleButton(_loc6_,_loc7_,_loc8_,_loc7_);
  65.       }
  66.       
  67.       private static function doStopDrag(param1:MouseEvent) : void
  68.       {
  69.          if(param1.target.name != "textfield")
  70.          {
  71.             if(param1.target.name == "alert")
  72.             {
  73.                param1.target.stopDrag();
  74.             }
  75.          }
  76.       }
  77.       
  78.       private static function closeAlert(param1:MouseEvent) : void
  79.       {
  80.          var _loc2_:Object = null;
  81.          var _loc3_:DisplayObject = null;
  82.          var _loc4_:Sprite = null;
  83.          _loc2_ = param1.target;
  84.          _loc2_.removeEventListener(MouseEvent.CLICK,closeAlert);
  85.          _loc3_ = param1.target.parent;
  86.          _loc3_.removeEventListener(MouseEvent.CLICK,doStartDrag);
  87.          _loc3_.removeEventListener(MouseEvent.CLICK,doStopDrag);
  88.          _loc4_ = param1.target.parent.parent.parent;
  89.          removeBlockingListeners(_loc4_);
  90.          _loc4_.parent.removeChild(_loc4_);
  91.       }
  92.       
  93.       private static function createPrompt(param1:String, param2:int) : Sprite
  94.       {
  95.          var _loc3_:Sprite = null;
  96.          _loc3_ = new Sprite();
  97.          _loc3_.addEventListener(MouseEvent.MOUSE_DOWN,doStartDrag);
  98.          _loc3_.addEventListener(MouseEvent.MOUSE_UP,doStopDrag);
  99.          _loc3_.addChild(getPrompt(param1,param2));
  100.          _loc3_.x = stage.stageWidth / 2 - _loc3_.width / 2;
  101.          _loc3_.y = stage.stageHeight / 2 - _loc3_.height / 2;
  102.          _loc3_.filters = [getFilter(param2),getBlurFilter(param2)];
  103.          return _loc3_;
  104.       }
  105.       
  106.       private static function brightenColour(param1:int, param2:int) : int
  107.       {
  108.          var _loc3_:Array = null;
  109.          var _loc4_:int = 0;
  110.          var _loc5_:int = 0;
  111.          var _loc6_:int = 0;
  112.          _loc3_ = hexToRGB(param1);
  113.          _loc4_ = keepInBounds(_loc3_[0] + param2);
  114.          _loc5_ = keepInBounds(_loc3_[1] + param2);
  115.          _loc6_ = keepInBounds(_loc3_[2] + param2);
  116.          return RGBToHex(_loc4_,_loc5_,_loc6_);
  117.       }
  118.       
  119.       public static function init(param1:Stage) : void
  120.       {
  121.          stage = param1;
  122.       }
  123.       
  124.       private static function createBackground(param1:int) : Sprite
  125.       {
  126.          var _loc2_:BitmapData = null;
  127.          var _loc3_:Bitmap = null;
  128.          var _loc4_:Sprite = null;
  129.          _loc2_ = new BitmapData(stage.stageWidth,stage.stageHeight,true,4278190080 + param1);
  130.          _loc3_ = new Bitmap(_loc2_);
  131.          _loc4_ = new Sprite();
  132.          _loc4_.addChild(_loc3_);
  133.          _loc4_.alpha = 0.3;
  134.          return _loc4_;
  135.       }
  136.       
  137.       private static function assignListeners(param1:Sprite, param2:Function, param3:Boolean) : void
  138.       {
  139.          var Background:Sprite = null;
  140.          var Prompt:Sprite = null;
  141.          var OKbutton:Sprite = null;
  142.          var myFunction:Function = null;
  143.          var myAlert:Sprite = param1;
  144.          var callback:Function = param2;
  145.          var blockMouse:Boolean = param3;
  146.          Background = myAlert.getChildAt(1) as Sprite;
  147.          Prompt = Background.getChildAt(0) as Sprite;
  148.          OKbutton = Prompt.getChildAt(2) as Sprite;
  149.          if(callback != null)
  150.          {
  151.             myFunction = function(param1:MouseEvent):void
  152.             {
  153.                OKbutton.removeEventListener(MouseEvent.CLICK,myFunction);
  154.                closeAlert(param1);
  155.                callback();
  156.             };
  157.             OKbutton.addEventListener(MouseEvent.CLICK,myFunction);
  158.          }
  159.          else
  160.          {
  161.             OKbutton.addEventListener(MouseEvent.CLICK,closeAlert);
  162.          }
  163.          if(blockMouse)
  164.          {
  165.             myAlert.addEventListener(MouseEvent.CLICK,stopEvents);
  166.             myAlert.doubleClickEnabled = true;
  167.             myAlert.addEventListener(MouseEvent.DOUBLE_CLICK,stopEvents);
  168.             myAlert.addEventListener(MouseEvent.MOUSE_MOVE,stopEvents);
  169.             myAlert.addEventListener(MouseEvent.MOUSE_DOWN,stopEvents);
  170.             myAlert.addEventListener(MouseEvent.MOUSE_OUT,stopEvents);
  171.             myAlert.addEventListener(MouseEvent.MOUSE_OVER,stopEvents);
  172.             myAlert.addEventListener(MouseEvent.MOUSE_UP,stopEvents);
  173.             myAlert.addEventListener(MouseEvent.MOUSE_WHEEL,stopEvents);
  174.             myAlert.addEventListener(MouseEvent.ROLL_OUT,stopEvents);
  175.             myAlert.addEventListener(MouseEvent.ROLL_OVER,stopEvents);
  176.          }
  177.       }
  178.       
  179.       private static function getPrompt(param1:String, param2:int) : Sprite
  180.       {
  181.          var _loc3_:Sprite = null;
  182.          var _loc4_:TextField = null;
  183.          var _loc5_:Number = NaN;
  184.          var _loc6_:Number = NaN;
  185.          var _loc7_:BitmapData = null;
  186.          var _loc8_:Bitmap = null;
  187.          var _loc9_:SimpleButton = null;
  188.          _loc3_ = new Sprite();
  189.          _loc3_.addEventListener(MouseEvent.MOUSE_DOWN,doStartDrag);
  190.          _loc3_.addEventListener(MouseEvent.MOUSE_UP,doStopDrag);
  191.          _loc3_.name = "alert";
  192.          _loc4_ = getTextField(param1);
  193.          _loc5_ = _loc4_.width + 10;
  194.          _loc6_ = _loc4_.height + 55;
  195.          if(_loc5_ < 150)
  196.          {
  197.             _loc5_ = 150;
  198.          }
  199.          if(_loc6_ < 100)
  200.          {
  201.             _loc6_ = 100;
  202.          }
  203.          if(_loc6_ > stage.stageHeight)
  204.          {
  205.             _loc6_ = stage.stageHeight - 20;
  206.             _loc4_.autoSize = TextFieldAutoSize.NONE;
  207.             _loc4_.height = stage.stageHeight - 40;
  208.          }
  209.          _loc7_ = new BitmapData(_loc5_,_loc6_,true,4278190080 + param2);
  210.          _loc8_ = new Bitmap(_loc7_);
  211.          _loc3_.addChild(_loc8_);
  212.          _loc4_.x = _loc3_.width / 2 - _loc4_.width / 2;
  213.          _loc4_.y = _loc3_.height / 2 - _loc4_.height / 2 - 10;
  214.          _loc3_.addChild(_loc4_);
  215.          _loc9_ = createBtn(param2);
  216.          _loc9_.x = _loc3_.width / 2 - _loc9_.width / 2;
  217.          _loc9_.y = _loc3_.height - 35;
  218.          _loc3_.addChild(_loc9_);
  219.          return _loc3_;
  220.       }
  221.       
  222.       private static function getTextField(param1:String, param2:Boolean = false) : TextField
  223.       {
  224.          var _loc3_:TextField = null;
  225.          _loc3_ = new TextField();
  226.          _loc3_.name = "textfield";
  227.          _loc3_.multiline = true;
  228.          _loc3_.selectable = false;
  229.          _loc3_.autoSize = TextFieldAutoSize.CENTER;
  230.          if(param2)
  231.          {
  232.             param1 = "<b>" + param1 + "</b>";
  233.          }
  234.          _loc3_.htmlText = "<font face=\"Verdana\">" + param1 + "</font>";
  235.          _loc3_.x = btnWidth / 2 - _loc3_.width / 2;
  236.          _loc3_.y = btnHeight / 2 - _loc3_.height / 2;
  237.          return _loc3_;
  238.       }
  239.       
  240.       private static function keepInBounds(param1:int) : int
  241.       {
  242.          if(param1 < 0)
  243.          {
  244.             param1 = 0;
  245.          }
  246.          if(param1 > 255)
  247.          {
  248.             param1 = 255;
  249.          }
  250.          return param1;
  251.       }
  252.       
  253.       private static function removeBlockingListeners(param1:Sprite) : void
  254.       {
  255.          param1.removeEventListener(MouseEvent.CLICK,stopEvents);
  256.          param1.removeEventListener(MouseEvent.DOUBLE_CLICK,stopEvents);
  257.          param1.removeEventListener(MouseEvent.MOUSE_MOVE,stopEvents);
  258.          param1.removeEventListener(MouseEvent.MOUSE_DOWN,stopEvents);
  259.          param1.removeEventListener(MouseEvent.MOUSE_OUT,stopEvents);
  260.          param1.removeEventListener(MouseEvent.MOUSE_OVER,stopEvents);
  261.          param1.removeEventListener(MouseEvent.MOUSE_UP,stopEvents);
  262.          param1.removeEventListener(MouseEvent.MOUSE_WHEEL,stopEvents);
  263.          param1.removeEventListener(MouseEvent.ROLL_OUT,stopEvents);
  264.          param1.removeEventListener(MouseEvent.ROLL_OVER,stopEvents);
  265.       }
  266.       
  267.       private static function doStartDrag(param1:MouseEvent) : void
  268.       {
  269.          if(param1.target.name != "textfield")
  270.          {
  271.             if(param1.target.name == "alert")
  272.             {
  273.                param1.target.startDrag();
  274.             }
  275.          }
  276.       }
  277.       
  278.       private static function getFilter(param1:int) : *
  279.       {
  280.          var _loc2_:Number = NaN;
  281.          var _loc3_:Number = NaN;
  282.          var _loc4_:Number = NaN;
  283.          var _loc5_:Number = NaN;
  284.          var _loc6_:Number = NaN;
  285.          var _loc7_:Boolean = false;
  286.          var _loc8_:Boolean = false;
  287.          var _loc9_:Number = NaN;
  288.          _loc2_ = 16777215;
  289.          _loc3_ = 0.8;
  290.          _loc4_ = 15;
  291.          _loc5_ = 15;
  292.          _loc6_ = 0.7;
  293.          _loc7_ = true;
  294.          _loc8_ = false;
  295.          _loc9_ = BitmapFilterQuality.HIGH;
  296.          return new GlowFilter(_loc2_,_loc3_,_loc4_,_loc5_,_loc6_,_loc9_,_loc7_,_loc8_);
  297.       }
  298.       
  299.       private static function RGBToHex(param1:int, param2:int, param3:int) : int
  300.       {
  301.          var _loc4_:uint = 0;
  302.          _loc4_ = uint((param1 & 0xFF) << 16);
  303.          _loc4_ = uint(_loc4_ + ((param2 & 0xFF) << 8));
  304.          return uint(_loc4_ + (param3 & 0xFF));
  305.       }
  306.       
  307.       private static function getBlurFilter(param1:int) : *
  308.       {
  309.          var _loc2_:Number = NaN;
  310.          var _loc3_:Number = NaN;
  311.          var _loc4_:Number = NaN;
  312.          var _loc5_:Number = NaN;
  313.          var _loc6_:Number = NaN;
  314.          var _loc7_:Number = NaN;
  315.          var _loc8_:Number = NaN;
  316.          var _loc9_:Boolean = false;
  317.          var _loc10_:Boolean = false;
  318.          var _loc11_:Number = NaN;
  319.          _loc2_ = 0;
  320.          _loc3_ = 45;
  321.          _loc4_ = 0.6;
  322.          _loc5_ = 8;
  323.          _loc6_ = 8;
  324.          _loc7_ = 4;
  325.          _loc8_ = 1.3;
  326.          _loc9_ = false;
  327.          _loc10_ = false;
  328.          _loc11_ = BitmapFilterQuality.LOW;
  329.          return new DropShadowFilter(_loc7_,_loc3_,_loc2_,_loc4_,_loc5_,_loc6_,_loc8_,_loc11_,_loc9_,_loc10_);
  330.       }
  331.       
  332.       public static function hexToRGB(param1:uint) : Array
  333.       {
  334.          var _loc2_:Array = null;
  335.          var _loc3_:uint = 0;
  336.          _loc2_ = new Array();
  337.          _loc2_.push(param1 >> 16);
  338.          _loc3_ = uint(param1 ^ _loc2_[0] << 16);
  339.          _loc2_.push(_loc3_ >> 8);
  340.          _loc2_.push(_loc3_ ^ _loc2_[1] << 8);
  341.          return _loc2_;
  342.       }
  343.       
  344.       private static function stopEvents(param1:MouseEvent) : void
  345.       {
  346.          param1.stopImmediatePropagation();
  347.       }
  348.       
  349.       public static function show(param1:* = "Made by Dark Vyper", param2:Function = null, param3:int = 10380027, param4:Boolean = true) : void
  350.       {
  351.          var _loc5_:Sprite = null;
  352.          if(stage == null)
  353.          {
  354.             return;
  355.          }
  356.          _loc5_ = new Sprite();
  357.          _loc5_.addChild(createBackground(param3));
  358.          _loc5_.addChild(createPrompt(param1.toString(),param3));
  359.          assignListeners(_loc5_,param2,param4);
  360.          stage.addChild(_loc5_);
  361.       }
  362.    }
  363. }
  364.  
  365.