home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / filler.swf / scripts / mx / skins / ProgrammaticSkin.as < prev    next >
Encoding:
Text File  |  2008-09-02  |  8.1 KB  |  294 lines

  1. package mx.skins
  2. {
  3.    import flash.display.Graphics;
  4.    import flash.geom.Matrix;
  5.    import mx.core.FlexShape;
  6.    import mx.core.IFlexDisplayObject;
  7.    import mx.core.IInvalidating;
  8.    import mx.core.UIComponentGlobals;
  9.    import mx.core.mx_internal;
  10.    import mx.managers.ILayoutManagerClient;
  11.    import mx.styles.ISimpleStyleClient;
  12.    import mx.styles.IStyleClient;
  13.    import mx.utils.GraphicsUtil;
  14.    
  15.    use namespace mx_internal;
  16.    
  17.    public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient
  18.    {
  19.       
  20.       mx_internal static const VERSION:String = "2.0.1.0";
  21.       
  22.       private static var tempMatrix:Matrix = new Matrix();
  23.        
  24.       
  25.       private var _initialized:Boolean = false;
  26.       
  27.       private var invalidateDisplayListFlag:Boolean = false;
  28.       
  29.       private var _height:Number;
  30.       
  31.       private var _styleName:IStyleClient;
  32.       
  33.       private var _processedDescriptors:Boolean = false;
  34.       
  35.       private var _updateCompletePendingFlag:Boolean = true;
  36.       
  37.       private var _width:Number;
  38.       
  39.       private var _nestLevel:int = 0;
  40.       
  41.       public function ProgrammaticSkin()
  42.       {
  43.          invalidateDisplayListFlag = false;
  44.          _initialized = false;
  45.          _nestLevel = 0;
  46.          _processedDescriptors = false;
  47.          _updateCompletePendingFlag = true;
  48.          super();
  49.          _width = measuredWidth;
  50.          _height = measuredHeight;
  51.       }
  52.       
  53.       protected function updateDisplayList(param1:Number, param2:Number) : void
  54.       {
  55.       }
  56.       
  57.       public function invalidateSize() : void
  58.       {
  59.       }
  60.       
  61.       public function getStyle(param1:String) : *
  62.       {
  63.          return _styleName.getStyle(param1);
  64.       }
  65.       
  66.       public function get nestLevel() : int
  67.       {
  68.          return _nestLevel;
  69.       }
  70.       
  71.       public function set nestLevel(param1:int) : void
  72.       {
  73.          _nestLevel = param1;
  74.          invalidateDisplayList();
  75.       }
  76.       
  77.       override public function get height() : Number
  78.       {
  79.          return _height;
  80.       }
  81.       
  82.       public function get updateCompletePendingFlag() : Boolean
  83.       {
  84.          return _updateCompletePendingFlag;
  85.       }
  86.       
  87.       protected function verticalGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number) : Matrix
  88.       {
  89.          return rotatedGradientMatrix(param1,param2,param3,param4,90);
  90.       }
  91.       
  92.       public function validateSize(param1:Boolean = false) : void
  93.       {
  94.       }
  95.       
  96.       public function invalidateDisplayList() : void
  97.       {
  98.          if(!invalidateDisplayListFlag && nestLevel > 0)
  99.          {
  100.             invalidateDisplayListFlag = true;
  101.             UIComponentGlobals.mx_internal::layoutManager.invalidateDisplayList(this);
  102.          }
  103.       }
  104.       
  105.       public function set updateCompletePendingFlag(param1:Boolean) : void
  106.       {
  107.          _updateCompletePendingFlag = param1;
  108.       }
  109.       
  110.       override public function set height(param1:Number) : void
  111.       {
  112.          _height = param1;
  113.          invalidateDisplayList();
  114.       }
  115.       
  116.       protected function horizontalGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number) : Matrix
  117.       {
  118.          return rotatedGradientMatrix(param1,param2,param3,param4,0);
  119.       }
  120.       
  121.       public function set processedDescriptors(param1:Boolean) : void
  122.       {
  123.          _processedDescriptors = param1;
  124.       }
  125.       
  126.       override public function set width(param1:Number) : void
  127.       {
  128.          _width = param1;
  129.          invalidateDisplayList();
  130.       }
  131.       
  132.       public function validateDisplayList() : void
  133.       {
  134.          invalidateDisplayListFlag = false;
  135.          updateDisplayList(width,height);
  136.       }
  137.       
  138.       public function get measuredWidth() : Number
  139.       {
  140.          return 0;
  141.       }
  142.       
  143.       public function set initialized(param1:Boolean) : void
  144.       {
  145.          _initialized = param1;
  146.       }
  147.       
  148.       protected function drawRoundRect(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null, param6:Object = null, param7:Object = null, param8:Matrix = null, param9:String = "linear", param10:Array = null, param11:Object = null) : void
  149.       {
  150.          var _loc12_:Graphics = null;
  151.          var _loc13_:Number = NaN;
  152.          var _loc14_:Array = null;
  153.          var _loc15_:Object = null;
  154.          _loc12_ = graphics;
  155.          if(param3 == 0 || param4 == 0)
  156.          {
  157.             return;
  158.          }
  159.          if(param6 !== null)
  160.          {
  161.             if(param6 is uint)
  162.             {
  163.                _loc12_.beginFill(uint(param6),Number(param7));
  164.             }
  165.             else if(param6 is Array)
  166.             {
  167.                _loc14_ = param7 is Array ? param7 as Array : [param7,param7];
  168.                if(!param10)
  169.                {
  170.                   param10 = [0,255];
  171.                }
  172.                _loc12_.beginGradientFill(param9,param6 as Array,_loc14_,param10,param8);
  173.             }
  174.          }
  175.          if(!param5)
  176.          {
  177.             _loc12_.drawRect(param1,param2,param3,param4);
  178.          }
  179.          else if(param5 is Number)
  180.          {
  181.             _loc13_ = Number(param5) * 2;
  182.             _loc12_.drawRoundRect(param1,param2,param3,param4,_loc13_,_loc13_);
  183.          }
  184.          else
  185.          {
  186.             GraphicsUtil.drawRoundRectComplex(_loc12_,param1,param2,param3,param4,param5.tl,param5.tr,param5.bl,param5.br);
  187.          }
  188.          if(param11)
  189.          {
  190.             if((_loc15_ = param11.r) is Number)
  191.             {
  192.                _loc13_ = Number(_loc15_) * 2;
  193.                _loc12_.drawRoundRect(param11.x,param11.y,param11.w,param11.h,_loc13_,_loc13_);
  194.             }
  195.             else
  196.             {
  197.                GraphicsUtil.drawRoundRectComplex(_loc12_,param11.x,param11.y,param11.w,param11.h,_loc15_.tl,_loc15_.tr,_loc15_.bl,_loc15_.br);
  198.             }
  199.          }
  200.          if(param6 !== null)
  201.          {
  202.             _loc12_.endFill();
  203.          }
  204.       }
  205.       
  206.       public function get measuredHeight() : Number
  207.       {
  208.          return 0;
  209.       }
  210.       
  211.       public function get processedDescriptors() : Boolean
  212.       {
  213.          return _processedDescriptors;
  214.       }
  215.       
  216.       public function set styleName(param1:Object) : void
  217.       {
  218.          if(_styleName != param1)
  219.          {
  220.             _styleName = param1 as IStyleClient;
  221.             invalidateDisplayList();
  222.          }
  223.       }
  224.       
  225.       public function setActualSize(param1:Number, param2:Number) : void
  226.       {
  227.          var _loc3_:Boolean = false;
  228.          _loc3_ = false;
  229.          if(_width != param1)
  230.          {
  231.             _width = param1;
  232.             _loc3_ = true;
  233.          }
  234.          if(_height != param2)
  235.          {
  236.             _height = param2;
  237.             _loc3_ = true;
  238.          }
  239.          if(_loc3_)
  240.          {
  241.             invalidateDisplayList();
  242.          }
  243.       }
  244.       
  245.       override public function get width() : Number
  246.       {
  247.          return _width;
  248.       }
  249.       
  250.       public function styleChanged(param1:String) : void
  251.       {
  252.          invalidateDisplayList();
  253.       }
  254.       
  255.       public function invalidateProperties() : void
  256.       {
  257.       }
  258.       
  259.       public function move(param1:Number, param2:Number) : void
  260.       {
  261.          this.x = param1;
  262.          this.y = param2;
  263.       }
  264.       
  265.       public function get initialized() : Boolean
  266.       {
  267.          return _initialized;
  268.       }
  269.       
  270.       protected function rotatedGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number) : Matrix
  271.       {
  272.          tempMatrix.createGradientBox(param3,param4,param5 * Math.PI / 180,param1,param2);
  273.          return tempMatrix;
  274.       }
  275.       
  276.       public function get styleName() : Object
  277.       {
  278.          return _styleName;
  279.       }
  280.       
  281.       public function validateProperties() : void
  282.       {
  283.       }
  284.       
  285.       public function validateNow() : void
  286.       {
  287.          if(invalidateDisplayListFlag)
  288.          {
  289.             validateDisplayList();
  290.          }
  291.       }
  292.    }
  293. }
  294.