home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2012 April / ME_04_2012.iso / Video-Tutorial / iPhoto / media / player.swf / scripts / mx / styles / CSSMergedStyleDeclaration.as < prev    next >
Encoding:
Text File  |  2011-11-11  |  5.5 KB  |  180 lines

  1. package mx.styles
  2. {
  3.    import flash.display.DisplayObject;
  4.    import mx.core.mx_internal;
  5.    
  6.    use namespace mx_internal;
  7.    
  8.    public class CSSMergedStyleDeclaration extends CSSStyleDeclaration
  9.    {
  10.       mx_internal static const VERSION:String = "4.5.0.20967";
  11.       
  12.       private var style:CSSStyleDeclaration;
  13.       
  14.       private var parentStyle:CSSStyleDeclaration;
  15.       
  16.       private var updateOverrides:Boolean;
  17.       
  18.       private var _defaultFactory:Function;
  19.       
  20.       private var _factory:Function;
  21.       
  22.       public function CSSMergedStyleDeclaration(param1:CSSStyleDeclaration, param2:CSSStyleDeclaration, param3:Object = null, param4:IStyleManager2 = null, param5:Boolean = false)
  23.       {
  24.          var _loc6_:uint = 0;
  25.          var _loc7_:uint = 0;
  26.          var _loc8_:Array = null;
  27.          super(param3,param4,param5);
  28.          this.style = param1;
  29.          this.parentStyle = param2;
  30.          if(Boolean(param1) && Boolean(param1.mx_internal::effects))
  31.          {
  32.             mx_internal::effects = [];
  33.             _loc8_ = param1.mx_internal::effects;
  34.             _loc7_ = _loc8_.length;
  35.             _loc6_ = 0;
  36.             while(_loc6_ < _loc7_)
  37.             {
  38.                mx_internal::effects[_loc6_] = _loc8_[_loc6_];
  39.                _loc6_++;
  40.             }
  41.          }
  42.          if(Boolean(param2) && Boolean(param2.mx_internal::effects))
  43.          {
  44.             if(!mx_internal::effects)
  45.             {
  46.                mx_internal::effects = [];
  47.             }
  48.             _loc8_ = param2.mx_internal::effects;
  49.             _loc7_ = _loc8_.length;
  50.             _loc6_ = 0;
  51.             while(_loc6_ < _loc7_)
  52.             {
  53.                mx_internal::effects[_loc6_] = _loc8_[_loc6_];
  54.                if(mx_internal::effects.indexOf(_loc8_[_loc6_]) == -1)
  55.                {
  56.                   mx_internal::effects[_loc6_] = _loc8_[_loc6_];
  57.                }
  58.                _loc6_++;
  59.             }
  60.          }
  61.          this.updateOverrides = true;
  62.       }
  63.       
  64.       override public function get defaultFactory() : Function
  65.       {
  66.          if(this._defaultFactory != null)
  67.          {
  68.             return this._defaultFactory;
  69.          }
  70.          if(this.style != null && this.style.defaultFactory != null || this.parentStyle != null && this.parentStyle.defaultFactory != null)
  71.          {
  72.             this._defaultFactory = function():void
  73.             {
  74.                if(Boolean(parentStyle) && parentStyle.defaultFactory != null)
  75.                {
  76.                   parentStyle.defaultFactory.apply(this);
  77.                }
  78.                if(Boolean(style) && style.defaultFactory != null)
  79.                {
  80.                   style.defaultFactory.apply(this);
  81.                }
  82.             };
  83.          }
  84.          return this._defaultFactory;
  85.       }
  86.       
  87.       override public function set defaultFactory(param1:Function) : void
  88.       {
  89.       }
  90.       
  91.       override public function get factory() : Function
  92.       {
  93.          if(this._factory != null)
  94.          {
  95.             return this._factory;
  96.          }
  97.          if(this.style != null && this.style.factory != null || this.parentStyle != null && this.parentStyle.factory != null)
  98.          {
  99.             this._factory = function():void
  100.             {
  101.                if(Boolean(parentStyle) && parentStyle.factory != null)
  102.                {
  103.                   parentStyle.factory.apply(this);
  104.                }
  105.                if(Boolean(style) && style.factory != null)
  106.                {
  107.                   style.factory.apply(this);
  108.                }
  109.             };
  110.          }
  111.          return this._factory;
  112.       }
  113.       
  114.       override public function set factory(param1:Function) : void
  115.       {
  116.       }
  117.       
  118.       override public function get overrides() : Object
  119.       {
  120.          var _loc1_:Object = null;
  121.          var _loc3_:Object = null;
  122.          var _loc4_:Object = null;
  123.          if(!this.updateOverrides)
  124.          {
  125.             return super.overrides;
  126.          }
  127.          var _loc2_:Object = null;
  128.          if(Boolean(this.style) && Boolean(this.style.overrides))
  129.          {
  130.             _loc2_ = [];
  131.             _loc3_ = this.style.overrides;
  132.             for(_loc1_ in _loc3_)
  133.             {
  134.                _loc2_[_loc1_] = _loc3_[_loc1_];
  135.             }
  136.          }
  137.          if(Boolean(this.parentStyle) && Boolean(this.parentStyle.overrides))
  138.          {
  139.             if(!_loc2_)
  140.             {
  141.                _loc2_ = [];
  142.             }
  143.             _loc4_ = this.parentStyle.overrides;
  144.             for(_loc1_ in _loc4_)
  145.             {
  146.                if(_loc2_[_loc1_] === undefined)
  147.                {
  148.                   _loc2_[_loc1_] = _loc4_[_loc1_];
  149.                }
  150.             }
  151.          }
  152.          super.overrides = _loc2_;
  153.          this.updateOverrides = false;
  154.          return _loc2_;
  155.       }
  156.       
  157.       override public function set overrides(param1:Object) : void
  158.       {
  159.       }
  160.       
  161.       override public function setStyle(param1:String, param2:*) : void
  162.       {
  163.       }
  164.       
  165.       override mx_internal function addStyleToProtoChain(param1:Object, param2:DisplayObject, param3:Object = null) : Object
  166.       {
  167.          if(this.style)
  168.          {
  169.             return this.style.mx_internal::addStyleToProtoChain(param1,param2,param3);
  170.          }
  171.          if(this.parentStyle)
  172.          {
  173.             return this.parentStyle.mx_internal::addStyleToProtoChain(param1,param2,param3);
  174.          }
  175.          return param1;
  176.       }
  177.    }
  178. }
  179.  
  180.