Changeset 2


Ignore:
Timestamp:
06/05/08 11:54:24 (5 years ago)
Author:
jeroen
Message:

fixes in skinning and controlbar

Location:
trunk
Files:
5 added
7 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/as3/com/jeroenwijering/player/Player.as

    r1 r2  
    1919        private var defaults:Object = { 
    2020                height:300, 
    21                 skin:undefined, 
    2221                width:400, 
    2322 
     
    3938                playlist:'none', 
    4039                playlistsize:180, 
     40                skin:'agriya.swf', 
    4141                texts:false, 
    4242 
     
    6060                streamscript:undefined, 
    6161                tracecall:undefined, 
    62                 version:'4.0 r157' 
     62                version:'4.0 r1' 
    6363        }; 
    6464        /** Object that loads all configuration variables. **/ 
  • trunk/as3/com/jeroenwijering/player/View.as

    r1 r2  
    3333                _config = cfg; 
    3434                _skin = skn; 
     35                _config['controlbarsize'] = _skin['controlbar'].height; 
    3536                controller = ctr; 
    3637                model = mdl; 
  • trunk/as3/com/jeroenwijering/utils/Draw.as

    r1 r2  
    55 
    66 
     7import flash.display.DisplayObject; 
    78import flash.display.Sprite; 
     9import flash.geom.Rectangle; 
    810import flash.text.TextField; 
    911import flash.text.TextFormat; 
     
    1113 
    1214public class Draw { 
     15 
     16 
     17        /**  
     18        * Completely clear the contents of a displayobject. 
     19        * 
     20        * @param tgt    Displayobject to clear. 
     21        **/ 
     22        public static function clear(tgt:Sprite) { 
     23                var len = tgt.numChildren; 
     24                for(var i=0; i<len; i++) { 
     25                        tgt.removeChildAt(0); 
     26                } 
     27                tgt.scaleX = tgt.scaleY = 1; 
     28        }; 
     29 
     30 
     31        /**  
     32        * Clone a displayobject. 
     33        * 
     34        * @param tgt    Displayobject to clone. 
     35        * 
     36        * @return               The clone; not yet added to the displaystack. 
     37        **/ 
     38        public static function clone(tgt:DisplayObject):DisplayObject { 
     39                var cls:Class = Object(tgt).constructor; 
     40                var dup:DisplayObject = new cls(); 
     41                dup.transform = tgt.transform; 
     42                dup.filters = tgt.filters; 
     43                dup.cacheAsBitmap = tgt.cacheAsBitmap; 
     44                dup.opaqueBackground = tgt.opaqueBackground; 
     45                if(tgt.scale9Grid) { 
     46                        var rct:Rectangle = tgt.scale9Grid; 
     47                        rct.x /= 20, rct.y /= 20, rct.width /= 20, rct.height /= 20; 
     48                        dup.scale9Grid = rct; 
     49                } 
     50            return dup; 
     51        }; 
    1352 
    1453 
     
    65104 
    66105 
    67         /**  
    68         * Completely clear the contents of a displayobject. 
    69         * 
    70         * @param tgt    Displayobject to clear. 
    71         **/ 
    72         public static function clear(tgt:Sprite) { 
    73                 var len = tgt.numChildren; 
    74                 for(var i=0; i<len; i++) { 
    75                         tgt.removeChildAt(0); 
    76                 } 
    77                 tgt.scaleX = tgt.scaleY = 1; 
    78         }; 
    79  
    80  
    81106} 
    82107 
  • trunk/as3/com/jeroenwijering/utils/Skinner.as

    r1 r2  
    2020        /** SWF skin loader reference **/ 
    2121        private var loader:Loader; 
     22        /** Skinnable elements **/ 
     23        private var ELEMENTS:Array = new Array("controlbar","display","playlist"); 
    2224 
    2325 
     
    6264        private function loaderHandler(evt:Event) { 
    6365                var cnt = MovieClip(loader.content); 
    64                 while(cnt.numChildren > 0) { 
    65                         var ncd = cnt.getChildAt(0); 
     66                for(var i=0; i<cnt.numChildren; i++) { 
     67                        var ncd = cnt.getChildAt(i); 
    6668                        var ocd = skin.getChildByName(ncd.name); 
    67                         skin.removeChild(ocd); 
    68                         skin.addChild(ncd); 
     69                        if(ocd) { 
     70                                skin.removeChild(ocd); 
     71                                skin.addChild(ncd); 
     72                                skin[ncd.name] = ncd; 
     73                        } 
    6974                } 
    7075                dispatchEvent(new Event(Event.COMPLETE)); 
  • trunk/as3/com/jeroenwijering/views/ControlbarView.as

    r1 r2  
    6464        private function captionHandler(evt:ControllerEvent) { 
    6565                if(evt.data.state == true) {  
    66                         bar.captionButton.icn.visible = true; 
    67                         bar.captionButton.alt.visible = false; 
     66                        try { 
     67                                bar.captionButton.icn.visible = true; 
     68                                bar.captionButton.alt.visible = false; 
     69                        } catch (err:Error) {} 
    6870                } else { 
    69                         bar.captionButton.icn.visible = false; 
    70                         bar.captionButton.alt.visible = true; 
     71                        try { 
     72                                bar.captionButton.icn.visible = false; 
     73                                bar.captionButton.alt.visible = true; 
     74                        } catch (err:Error) {} 
    7175                } 
    7276        }; 
     
    160164                        pc2 = evt.data.offset/evt.data.total; 
    161165                } 
    162                 var wid = bar.timeSlider.bck.width; 
    163                 bar.timeSlider.bar.x = Math.round(pc2*wid); 
    164                 bar.timeSlider.bar.width = Math.round(pc1*wid);   
     166                try { 
     167                        var wid = bar.timeSlider.bck.width; 
     168                        bar.timeSlider.bar.x = Math.round(pc2*wid); 
     169                        bar.timeSlider.bar.width = Math.round(pc1*wid);   
     170                } catch (err:Error) {} 
    165171        }; 
    166172 
     
    208214                        if(evt.data.width > 640) {  
    209215                                bar.x = Math.round(evt.data.width/2 - 300); 
    210                                 bar.back.width = 600; 
     216                                try { bar.back.width = 600; } catch (err:Error) {} 
    211217                        } else {  
    212218                                bar.x = view.config['controlbarsize']; 
    213                                 bar.back.width = evt.data.width - view.config['controlbarsize']*2; 
     219                                try { bar.back.width = evt.data.width - view.config['controlbarsize']*2;  } catch (err:Error) {} 
    214220                        } 
    215221                } else { 
    216222                        bar.x = 0; 
    217                         bar.back.width = evt.data.width; 
     223                        try { bar.back.width = evt.data.width;  } catch (err:Error) {} 
    218224                        bar.y = evt.data.height; 
    219225                        if(view.config['playlist'] == 'right') {  
    220                                 bar.back.width += view.config['playlistsize']; 
    221                         } 
    222                 } 
    223                 if(evt.data.fullscreen == true) {  
    224                         bar.fullscreenButton.icn.visible = false; 
    225                         bar.fullscreenButton.alt.visible = true; 
    226                 } else {  
    227                         bar.fullscreenButton.icn.visible = true; 
    228                         bar.fullscreenButton.alt.visible = false; 
    229                 } 
     226                                try { bar.back.width += view.config['playlistsize'];  } catch (err:Error) {} 
     227                        } 
     228                } 
     229                try {  
     230                        if(evt.data.fullscreen == true) {  
     231                                bar.fullscreenButton.icn.visible = false; 
     232                                bar.fullscreenButton.alt.visible = true; 
     233                        } else {  
     234                                bar.fullscreenButton.icn.visible = true; 
     235                                bar.fullscreenButton.alt.visible = false; 
     236                        } 
     237                } catch (err:Error) {} 
    230238                setButtons(); 
    231239        }; 
     
    317325                } catch(err:Error) {} 
    318326                var pct = evt.data.position/evt.data.duration; 
    319                 var xps = Math.floor(pct*bar.timeSlider.bck.width); 
    320                 if (dur <= 0) { 
    321                         bar.timeSlider.icn.visible = false; 
    322                 } else { 
    323                         bar.timeSlider.icn.visible = true; 
    324                         bar.timeSlider.icn.x = xps; 
    325                 } 
     327                try { 
     328                        var xps = Math.floor(pct*bar.timeSlider.bck.width); 
     329                        if (dur <= 0) { 
     330                                bar.timeSlider.icn.visible = false; 
     331                        } else { 
     332                                bar.timeSlider.icn.visible = true; 
     333                                bar.timeSlider.icn.x = xps; 
     334                        } 
     335                } catch(err:Error) {} 
    326336        }; 
    327337 
Note: See TracChangeset for help on using the changeset viewer.