Changeset 407


Ignore:
Timestamp:
10/06/09 21:53:39 (4 years ago)
Author:
pablo
Message:

Player layout manager
Base component interface
MediaProvider protected var _media becomes media getter/setter
Added "playlistfile" flashvar to avoid confusion between "playlist" position flashvar
SWF Skins report controlbar.size in skinParams

Location:
trunk/fl5/src/com/longtailvideo/jwplayer
Files:
2 added
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/fl5/src/com/longtailvideo/jwplayer/controller/PlayerSetup.as

    r400 r407  
    141141                        if (event) { 
    142142                                var skin:ISkin = event.target as ISkin; 
    143  
    144143                                _view.skin = skin; 
    145144                                var props:SkinProperties = skin.getSkinProperties(); 
     
    178177 
    179178                private function loadPlaylist():void { 
    180                         if (_model.config.playlist) { 
     179                        if (_model.config.playlistfile) { 
    181180                                _model.playlist.addEventListener(PlaylistEvent.JWPLAYER_PLAYLIST_LOADED, tasker.success); 
    182181                                _model.playlist.addEventListener(ErrorEvent.ERROR, tasker.failure); 
    183                                 _model.playlist.load(_model.config.playlist); 
     182                                _model.playlist.load(_model.config.playlistfile); 
    184183                        } else { 
    185184                                tasker.success(); 
  • trunk/fl5/src/com/longtailvideo/jwplayer/controller/PluginLoader.as

    r353 r407  
    104104                        var loader:AssetLoader = evt.target as AssetLoader; 
    105105                        delete loaders[loader]; 
     106                        checkComplete(); 
    106107                } 
    107108 
  • trunk/fl5/src/com/longtailvideo/jwplayer/events/ViewEvent.as

    r396 r407  
    99                 * for a <code>jwplayerReady</code> event. 
    1010                 * 
    11                  * @eventType jwPlayerViewPlay 
     11                 * @eventType jwplayerViewPlay 
    1212                 */ 
    13                 public static var JWPLAYER_VIEW_PLAY:String = "jwPlayerViewPlay"; 
     13                public static var JWPLAYER_VIEW_PLAY:String = "jwplayerViewPlay"; 
    1414                 
    1515                /** 
     
    1818                 * for a <code>jwplayerReady</code> event. 
    1919                 * 
    20                  * @eventType jwPlayerViewPause 
     20                 * @eventType jwplayerViewPause 
    2121                 */ 
    22                 public static var JWPLAYER_VIEW_PAUSE:String = "jwPlayerViewPause"; 
     22                public static var JWPLAYER_VIEW_PAUSE:String = "jwplayerViewPause"; 
    2323                 
    2424                /** 
     
    2727                 * for a <code>jwplayerReady</code> event. 
    2828                 * 
    29                  * @eventType jwPlayerViewStop 
     29                 * @eventType jwplayerViewStop 
    3030                 */ 
    31                 public static var JWPLAYER_VIEW_STOP:String = "jwPlayerViewStop"; 
     31                public static var JWPLAYER_VIEW_STOP:String = "jwplayerViewStop"; 
    3232                 
    3333                /** 
     
    3636                 * for a <code>jwplayerReady</code> event. 
    3737                 * 
    38                  * @eventType jwPlayerViewNext 
     38                 * @eventType jwplayerViewNext 
    3939                 */ 
    40                 public static var JWPLAYER_VIEW_NEXT:String = "jwPlayerViewNext"; 
     40                public static var JWPLAYER_VIEW_NEXT:String = "jwplayerViewNext"; 
    4141                 
    4242                /** 
     
    4545                 * for a <code>jwplayerReady</code> event. 
    4646                 * 
    47                  * @eventType jwPlayerViewPrev 
     47                 * @eventType jwplayerViewPrev 
    4848                 */ 
    49                 public static var JWPLAYER_VIEW_PREV:String = "jwPlayerViewPrev"; 
     49                public static var JWPLAYER_VIEW_PREV:String = "jwplayerViewPrev"; 
    5050                 
    5151                /** 
     
    5454                 * for a <code>jwplayerReady</code> event. 
    5555                 * 
    56                  * @eventType jwPlayerViewMute 
     56                 * @eventType jwplayerViewMute 
    5757                 */ 
    58                 public static var JWPLAYER_VIEW_MUTE:String = "jwPlayerViewMute"; 
     58                public static var JWPLAYER_VIEW_MUTE:String = "jwplayerViewMute"; 
    5959                 
    6060                /** 
     
    6363                 * for a <code>jwplayerReady</code> event. 
    6464                 * 
    65                  * @eventType jwPlayerViewFullscreen 
     65                 * @eventType jwplayerViewFullscreen 
    6666                 */ 
    67                 public static var JWPLAYER_VIEW_FULLSCREEN:String = "jwPlayerViewFullscreen"; 
     67                public static var JWPLAYER_VIEW_FULLSCREEN:String = "jwplayerViewFullscreen"; 
    6868 
    6969                /** 
     
    7272                 * for a <code>jwplayerReady</code> event. 
    7373                 * 
    74                  * @eventType jwPlayerViewItem 
     74                 * @eventType jwplayerViewItem 
    7575                 */ 
    76                 public static var JWPLAYER_VIEW_ITEM:String = "jwPlayerViewItem"; 
     76                public static var JWPLAYER_VIEW_ITEM:String = "jwplayerViewItem"; 
    7777                 
    7878                /** 
     
    8181                 * for a <code>jwplayerReady</code> event. 
    8282                 * 
    83                  * @eventType jwPlayerViewVolume 
     83                 * @eventType jwplayerViewVolume 
    8484                 */ 
    85                 public static var JWPLAYER_VIEW_VOLUME:String = "jwPlayerViewVolume"; 
     85                public static var JWPLAYER_VIEW_VOLUME:String = "jwplayerViewVolume"; 
    8686                 
    8787                /** 
     
    9090                 * for a <code>jwplayerReady</code> event. 
    9191                 * 
    92                  * @eventType jwPlayerViewLoad 
     92                 * @eventType jwplayerViewLoad 
    9393                 */ 
    94                 public static var JWPLAYER_VIEW_LOAD:String = "jwPlayerViewLoad"; 
     94                public static var JWPLAYER_VIEW_LOAD:String = "jwplayerViewLoad"; 
    9595 
    9696                /** 
     
    9999                 * for a <code>jwplayerReady</code> event. 
    100100                 * 
    101                  * @eventType jwPlayerViewRedraw 
     101                 * @eventType jwplayerViewRedraw 
    102102                 */ 
    103                 public static var JWPLAYER_VIEW_REDRAW:String = "jwPlayerViewRedraw"; 
     103                public static var JWPLAYER_VIEW_REDRAW:String = "jwplayerViewRedraw"; 
    104104 
    105105                /** 
     
    108108                 * for a <code>jwplayerReady</code> event. 
    109109                 * 
    110                  * @eventType jwPlayerViewSeek 
     110                 * @eventType jwplayerViewSeek 
    111111                 */ 
    112                 public static var JWPLAYER_VIEW_SEEK:String = "jwPlayerViewSeek"; 
     112                public static var JWPLAYER_VIEW_SEEK:String = "jwplayerViewSeek"; 
    113113 
    114114                /** 
    115115                 * The ViewEvent.JWPLAYER_VIEW_CLICK constant defines the value of the 
    116116                 * <code>type</code> property of the event object 
    117                  * for a <code>jwPlayerViewClick</code> event. 
     117                 * for a <code>jwplayerViewClick</code> event. 
    118118                 * 
    119                  * @eventType jwPlayerViewClick 
     119                 * @eventType jwplayerViewClick 
    120120                 */ 
    121                 public static var JWPLAYER_VIEW_CLICK:String = "jwPlayerDisplayClick";           
     121                public static var JWPLAYER_VIEW_CLICK:String = "jwplayerDisplayClick";           
    122122 
    123123                /** Sent along with REQUEST Event types. **/ 
  • trunk/fl5/src/com/longtailvideo/jwplayer/media/HTTPMediaProvider.as

    r380 r407  
    148148                                stream.close(); 
    149149                        } 
    150                         _media = video; 
     150                        media = video; 
    151151                        stream.play(getURL()); 
    152152                        iterator = 0; 
  • trunk/fl5/src/com/longtailvideo/jwplayer/media/ImageMediaProvider.as

    r395 r407  
    5656                /** Load and place the image on stage. **/ 
    5757                private function loaderHandler(evt:Event):void { 
    58                         _media = loader; 
     58                        media = loader; 
    5959                        try { 
    6060                                Bitmap(loader.content).smoothing = true; 
  • trunk/fl5/src/com/longtailvideo/jwplayer/media/MediaProvider.as

    r396 r407  
    33        import com.longtailvideo.jwplayer.events.IGlobalEventDispatcher; 
    44        import com.longtailvideo.jwplayer.events.MediaEvent; 
    5         import com.longtailvideo.jwplayer.events.PlayerEvent; 
    65        import com.longtailvideo.jwplayer.events.PlayerStateEvent; 
    76        import com.longtailvideo.jwplayer.model.PlayerConfig; 
     
    1110         
    1211        import flash.display.DisplayObject; 
    13         import flash.display.Loader; 
    1412        import flash.display.Sprite; 
    1513        import flash.events.Event; 
    16         import flash.events.IOErrorEvent; 
    17         import flash.net.URLRequest; 
    1814         
    1915        /** 
     
    6965                protected var _state:String; 
    7066                /** Graphical representation of the currently playing media **/ 
    71                 protected var _media:DisplayObject; 
     67                private var _media:DisplayObject; 
    7268                /** Most recent buffer data **/ 
    7369                protected var bufferPercent:Number; 
    7470                /** Handles event dispatching **/ 
    7571                protected var _dispatcher:GlobalEventDispatcher; 
     72 
     73                protected var _width:Number; 
     74                protected var _height:Number; 
    7675                 
    7776                public function MediaProvider(){ 
     
    193192                 **/ 
    194193                 public function resize(width:Number, height:Number):void { 
     194                        _width = width; 
     195                        _height = height; 
    195196                        if (_media) { 
    196197                                Stretcher.stretch(_media, width, height, _config.stretching); 
    197                         } 
    198                          
     198                        }  
    199199                 } 
    200200                 
     
    277277                } 
    278278                 
     279                protected function set media(m:DisplayObject):void { 
     280                        _media = m; 
     281                        if (m && _width * _height > 0) { 
     282                                Stretcher.stretch(m, _width, _height, _config.stretching); 
     283                        } 
     284                } 
     285                 
     286                protected function get media():DisplayObject { 
     287                        return _media; 
     288                } 
     289                 
    279290        } 
    280291} 
  • trunk/fl5/src/com/longtailvideo/jwplayer/media/RTMPMediaProvider.as

    r395 r407  
    9696                                loader.load(new URLRequest(smil)); 
    9797                        } else { 
    98                                 _media = video; 
     98                                media = video; 
    9999                                connection.connect(item.streamer); 
    100100                        } 
     
    107107                        item.streamer = xml.children()[0].children()[0].@base.toString(); 
    108108                        item.file = xml.children()[1].children()[0].@src.toString(); 
    109                         _media = video; 
     109                        media = video; 
    110110                        connection.connect(item.streamer); 
    111111                } 
  • trunk/fl5/src/com/longtailvideo/jwplayer/media/VideoMediaProvider.as

    r406 r407  
    6464                override public function load(itm:PlaylistItem):void { 
    6565                        _item = itm; 
    66                         _media = video; 
     66                        media = video; 
    6767                        stream.checkPolicyFile = true; 
    6868                        stream.play(item.file); 
  • trunk/fl5/src/com/longtailvideo/jwplayer/media/YouTubeMediaProvider.as

    r395 r407  
    104104                                        resize(_config.width, _config.width / 4 * 3); 
    105105                                        outgoing.send('AS3_' + unique, "loadVideoById", gid, _item.start); 
    106                                         _media = loader; 
     106                                        media = loader; 
    107107                                } 
    108108                        } else { 
  • trunk/fl5/src/com/longtailvideo/jwplayer/model/PlayerConfig.as

    r396 r407  
    1414                /** Internal playlist reference **/ 
    1515                private var _list:Playlist; 
     16 
     17                private var _playlistfile:String        = null; 
    1618 
    1719                private var _autostart:Boolean          = false;  
     
    3436                private var _screencolor:uint           = 0x000000; 
    3537                 
    36                 private var _controlbar:String          = "none"; 
     38                private var _controlbar:String          = "bottom"; 
    3739                private var _dock:Boolean                       = false; 
    3840                private var _height:Number                      = 400; 
    3941                private var _icons:Boolean                      = true; 
    4042                private var _logo:String                        = null; 
    41                 private var _playlist:String            = null; 
     43                private var _playlist:String            = "none"; 
    4244                private var _playlistsize:Number        = 180; 
    4345                private var _skin:String                        = null; 
     
    4951                private var _playerready:String         = ""; 
    5052                 
    51                 public function PlayerConfig(playlist:Playlist):void { 
     53                public function PlayerConfig(newlist:Playlist):void { 
    5254                        getCookiedParams(); 
    53                         setPlaylist(playlist); 
     55                        controlbar = _controlbar; 
     56                        playlist = _playlist; 
     57                        playlistsize = _playlistsize; 
     58                        setPlaylist(newlist); 
    5459                } 
    5560                 
     
    6469                                if (newItem.hasOwnProperty(item)) { 
    6570                                        if (item == "file" && Strings.extension(config[item]) == "xml") { 
    66                                                 setProperty("playlist", config[item]);                                   
     71                                                setProperty("playlistfile", config[item]);                                       
    6772                                        } else if (_list.length > 0) { 
    6873                                                _list.currentItem[item] = config[item]; 
     
    135140                // PLAYLIST PROPERTIES 
    136141                ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
     142                 
     143                /** Location of xml playlist file to load **/ 
     144                public function get playlistfile():String { return _playlistfile; } 
     145                public function set playlistfile(x:String):void { _playlistfile = x; } 
     146 
    137147 
    138148                /** Author of the video, shown in the display or playlist. **/ 
     
    157167                public function get link():String { return playlistItem('link'); } 
    158168 
    159                 /** Unique identifier. **/              public function get mediaid():String {                  return playlistItem('mediaid');         }               /** Position in seconds where playback has to start. Won't work for regular (progressive) videos, but only for streaming (HTTP / RTMP). **/ 
     169                /** Unique identifier. **/               
     170                public function get mediaid():String {                  return playlistItem('mediaid');         }                
     171                 
     172                /** Position in seconds where playback has to start. Won't work for regular (progressive) videos, but only for streaming (HTTP / RTMP). **/ 
    160173                public function get start():String { return playlistItem('start'); } 
    161174                 
     
    208221 
    209222                /** Position of the controlbar. Can be set to top, bottom, over and none.  @default bottom **/ 
    210                 public function get controlbar():String { return _controlbar; } 
    211                 public function set controlbar(x:String):void { _controlbar= x; } 
     223                public function get controlbar():String {  
     224                        if (pluginConfig('controlbar').hasOwnProperty('position')) 
     225                                return pluginConfig('controlbar')['position']; 
     226                        else return _controlbar; 
     227                } 
     228                public function set controlbar(x:String):void {  
     229                        setPluginProperty('controlbar.position', x);  
     230                } 
    212231 
    213232                /** Set this to true to show the dock with large buttons in the top right of the player. Available since 4.5.  @default true **/ 
     
    228247 
    229248                /** Position of the playlist. Can be set to bottom, over, right or none. @default none **/ 
    230                 public function get playlist():String { return _playlist; } 
    231                 public function set playlist(x:String):void { _playlist = x; } 
     249                public function get playlist():String {  
     250                        if (pluginConfig('playlist').hasOwnProperty('position')) 
     251                                return pluginConfig('playlist')['position']; 
     252                        else return _playlist; 
     253                } 
     254                public function set playlist(x:String):void {  
     255                        setPluginProperty('playlist.position', x);  
     256                } 
    232257 
    233258                /** When below this refers to the height, when right this refers to the width of the playlist. @default 180 **/ 
     
    329354                        if (_pluginConfig.hasOwnProperty(pluginName)) { 
    330355                                return _pluginConfig[pluginName] as PluginConfig; 
    331                         } 
    332                          
    333                         return new PluginConfig(pluginName); 
     356                        } else { 
     357                                var newConfig:PluginConfig = new PluginConfig(pluginName); 
     358                                _pluginConfig[pluginName] = newConfig; 
     359                                return newConfig; 
     360                        } 
     361                } 
     362                 
     363                /** 
     364                 * A list of available pluginConfig keys.  
     365                 */ 
     366                public function get pluginNames():Array { 
     367                        var names:Array = []; 
     368                        for (var plug:String in _pluginConfig) { 
     369                                if ( (['controlbar','playlist','dock','display']).indexOf(plug) == -1 ) { 
     370                                        names.push(plug); 
     371                                } 
     372                        } 
     373                        return names; 
    334374                } 
    335375 
  • trunk/fl5/src/com/longtailvideo/jwplayer/model/Playlist.as

    r396 r407  
    1313         * Sent when a playlist has been loaded.  
    1414         * 
    15          * @eventType com.longtailvideo.jwplayer.evets.PlaylistEvent.JWPLAYER_PLAYLIST_LOADED 
    16          */ 
    17         [Event(name="jwplayerPlaylistLoaded", type = "com.longtailvideo.jwplayer.evets.PlaylistEvent")] 
     15         * @eventType com.longtailvideo.jwplayer.events.PlaylistEvent.JWPLAYER_PLAYLIST_LOADED 
     16         */ 
     17        [Event(name="jwplayerPlaylistLoaded", type = "com.longtailvideo.jwplayer.events.PlaylistEvent")] 
    1818 
    1919        /** 
    2020         * Sent when the playlist has been updated.  
    2121         * 
    22          * @eventType com.longtailvideo.jwplayer.evets.PlaylistEvent.JWPLAYER_PLAYLIST_UPDATED 
    23          */ 
    24         [Event(name="jwplayerPlaylistUpdated", type = "com.longtailvideo.jwplayer.evets.PlaylistEvent")] 
     22         * @eventType com.longtailvideo.jwplayer.events.PlaylistEvent.JWPLAYER_PLAYLIST_UPDATED 
     23         */ 
     24        [Event(name="jwplayerPlaylistUpdated", type = "com.longtailvideo.jwplayer.events.PlaylistEvent")] 
    2525 
    2626        /** 
    2727         * Sent when the playlist's current item has changed.  
    2828         * 
    29          * @eventType com.longtailvideo.jwplayer.evets.PlaylistEvent.JWPLAYER_PLAYLIST_ITEM 
    30          */ 
    31         [Event(name="jwplayerPlaylistItem", type = "com.longtailvideo.jwplayer.evets.PlaylistEvent")] 
     29         * @eventType com.longtailvideo.jwplayer.events.PlaylistEvent.JWPLAYER_PLAYLIST_ITEM 
     30         */ 
     31        [Event(name="jwplayerPlaylistItem", type = "com.longtailvideo.jwplayer.events.PlaylistEvent")] 
    3232 
    3333        /** 
    3434         * Sent when an error ocurred when loading or parsing the playlist  
    3535         * 
    36          * @eventType flash.events.ErrorEvent.ERROR 
    37          */ 
    38         [Event(name="error", type = "flash.events.ErrorEvent")] 
     36         * @eventType com.longtailvideo.jwplayer.events.PlayerEvent.JWPLAYER_ERROR 
     37         */ 
     38        [Event(name="jwPlayerError", type = "com.longtailvideo.jwplayer.events.PlayerEvent")] 
    3939 
    4040        public class Playlist extends GlobalEventDispatcher { 
     
    122122                 
    123123                protected function playlistError(message:String):void { 
    124                         dispatchEvent(new ErrorEvent(ErrorEvent.ERROR, "Playlist could not be loaded: "  + message)); 
     124                        dispatchEvent(new PlayerEvent(PlayerEvent.JWPLAYER_ERROR, "Playlist could not be loaded: "  + message)); 
    125125                }  
    126126 
  • trunk/fl5/src/com/longtailvideo/jwplayer/player/Player.as

    r400 r407  
    198198                } 
    199199                 
    200                 public function get uiComponents():PlayerComponents { 
     200                public function get controls():PlayerComponents { 
    201201                        return view.components; 
    202202                } 
  • trunk/fl5/src/com/longtailvideo/jwplayer/plugins/PluginConfig.as

    r396 r407  
    77                public function PluginConfig(pluginName:String) { 
    88                        this._name = pluginName; 
    9                         this['width'] = 0; 
    10                         this['height'] = 0; 
    119                } 
    1210                 
  • trunk/fl5/src/com/longtailvideo/jwplayer/view/PlayerComponents.as

    r401 r407  
    22        import com.longtailvideo.jwplayer.model.PlayerConfig; 
    33        import com.longtailvideo.jwplayer.player.Player; 
     4        import com.longtailvideo.jwplayer.view.components.ControlbarComponent; 
     5        import com.longtailvideo.jwplayer.view.components.ControlbarComponentV4; 
     6        import com.longtailvideo.jwplayer.view.components.DisplayComponent; 
    47        import com.longtailvideo.jwplayer.view.interfaces.IControlbarComponent; 
    58        import com.longtailvideo.jwplayer.view.interfaces.IDisplayComponent; 
     
    811        import com.longtailvideo.jwplayer.view.interfaces.ISkin; 
    912        import com.longtailvideo.jwplayer.view.skins.SWFSkin; 
    10         import com.longtailvideo.jwplayer.view.components.ControlbarComponentV4; 
    11         import com.longtailvideo.jwplayer.view.components.ControlbarComponent; 
    12         import com.longtailvideo.jwplayer.view.components.DisplayComponent; 
     13         
     14        import flash.display.DisplayObject; 
    1315        import com.longtailvideo.jwplayer.view.components.PlaylistComponent; 
    1416        import com.longtailvideo.jwplayer.view.components.DockComponent; 
     
    1618         
    1719        public class PlayerComponents { 
     20                private var _player:Player; 
     21                 
    1822                private var _controlbar:IControlbarComponent; 
    1923                private var _display:IDisplayComponent; 
     
    2529                 
    2630                public function PlayerComponents(player:Player) { 
     31                        _player = player; 
     32                         
    2733                        if (player.skin is SWFSkin) { 
    2834                                _controlbar = new ControlbarComponentV4(player); 
     
    6268                 
    6369                public function resize(width:Number, height:Number):void { 
    64                         display.resize(width, height); 
     70                        _display.resize(width, height); 
     71                        _display.x = Number(_player.config.pluginConfig('display')['x']); 
     72                        _display.y = Number(_player.config.pluginConfig('display')['y']); 
     73                         
    6574                        _controlbar.resize(width, height); 
     75                        _controlbar.x = Number(_player.config.pluginConfig('controlbar')['x']); 
     76                        _controlbar.y = Number(_player.config.pluginConfig('controlbar')['y']); 
     77                         
     78                         
    6679                } 
    6780        } 
  • trunk/fl5/src/com/longtailvideo/jwplayer/view/View.as

    r400 r407  
    1515        import com.longtailvideo.jwplayer.view.interfaces.IDisplayComponent; 
    1616        import com.longtailvideo.jwplayer.view.interfaces.IDockComponent; 
     17        import com.longtailvideo.jwplayer.view.interfaces.IPlayerComponent; 
    1718        import com.longtailvideo.jwplayer.view.interfaces.IPlaylistComponent; 
    1819        import com.longtailvideo.jwplayer.view.interfaces.ISkin; 
    19                  
     20         
    2021        import flash.display.DisplayObject; 
    2122        import flash.display.Loader; 
     
    9798                        _backgroundLayer.getChildByName("background").height = height; 
    9899 
    99                         _components.resize(width, height); 
    100                          
    101                         _player.config.width = width; 
    102                         _player.config.height = height; 
    103                          
     100                        var layoutManager:PlayerLayoutManager = new PlayerLayoutManager(_player); 
     101                        layoutManager.resize(width, height); 
     102 
     103                        _components.resize(_player.config.width, _player.config.height); 
     104         
    104105                        if (_imageLayer.numChildren) { 
    105                                 Stretcher.stretch(_image, width, height, _player.config.stretching); 
     106                                _imageLayer.x = _components.display.x; 
     107                                _imageLayer.y = _components.display.y; 
     108                                Stretcher.stretch(_image, _player.config.width, _player.config.height, _player.config.stretching); 
    106109                        } 
    107110 
    108111                        if (_mediaLayer.numChildren) { 
    109                                 _model.media.resize(width, height); 
    110                         } 
    111                 } 
    112                  
     112                                _mediaLayer.x = _components.display.x; 
     113                                _mediaLayer.y = _components.display.y; 
     114                                _model.media.resize(_player.config.width, _player.config.height); 
     115                        } 
     116 
     117                } 
    113118                 
    114119                public function set skin(skn:ISkin):void { 
     
    161166                 
    162167                 
    163                 public function overrideComponent(newComponent:*):void { 
     168                public function overrideComponent(newComponent:IPlayerComponent):void { 
    164169                        if (newComponent is IControlbarComponent) { 
    165170                                // Replace controlbar 
     
    209214                                _mediaLayer.removeChildAt(0); 
    210215                        } 
     216                        _model.media.resize(_player.config.width, _player.config.height); 
     217                         
     218                        _mediaLayer.x = _components.display.x; 
     219                        _mediaLayer.y = _components.display.y; 
    211220                        _mediaLayer.addChild(_model.media.display); 
    212                         _model.media.resize(_player.config.width, _player.config.height); 
    213221                } 
    214222                 
     
    226234                        while (_imageLayer.numChildren) { _imageLayer.removeChildAt(0); } 
    227235                        _imageLayer.addChild(_image); 
     236                        _imageLayer.x = _components.display.x; 
     237                        _imageLayer.y = _components.display.y; 
    228238                        Stretcher.stretch(_image, _player.config.width, _player.config.height, _player.config.stretching); 
    229239                } 
  • trunk/fl5/src/com/longtailvideo/jwplayer/view/interfaces/IControlbarComponent.as

    r400 r407  
    6767        [Event(name="jwPlayerViewSeek", type = "com.longtailvideo.jwplayer.events.ViewEvent")] 
    6868 
    69         public interface IControlbarComponent extends IGlobalEventDispatcher { 
     69        public interface IControlbarComponent extends IPlayerComponent { 
    7070                function addButton(name:String, icon:DisplayObject, handler:Function = null):void; 
    7171                function removeButton(name:String):void; 
    72                 function resize(width:Number, height:Number):void; 
    7372                function show():void; 
    7473                function hide():void; 
  • trunk/fl5/src/com/longtailvideo/jwplayer/view/interfaces/IDisplayComponent.as

    r400 r407  
    2626        [Event(name="jwPlayerViewClick", type = "com.longtailvideo.jwplayer.events.ViewEvent")] 
    2727 
    28         public interface IDisplayComponent extends IGlobalEventDispatcher { 
     28        public interface IDisplayComponent extends IPlayerComponent { 
    2929                function setIcon(displayIcon:DisplayObject):void; 
    3030                function setText(displayText:String):void; 
    31                 function resize(width:Number, height:Number):void; 
    3231        } 
    3332} 
  • trunk/fl5/src/com/longtailvideo/jwplayer/view/interfaces/IDockComponent.as

    r400 r407  
    44        import flash.display.DisplayObject; 
    55 
    6         public interface IDockComponent extends IGlobalEventDispatcher { 
     6        public interface IDockComponent extends IPlayerComponent { 
    77                function addButton(name:String, icon:DisplayObject, clickHandler:Function):void; 
    88                function removeButton(name:String):void; 
    9                 function resize(width:Number, height:Number):void; 
    109                function show():void; 
    1110                function hide():void; 
  • trunk/fl5/src/com/longtailvideo/jwplayer/view/interfaces/IPlaylistComponent.as

    r400 r407  
    2424        [Event(name="jwPlayerViewItem", type = "com.longtailvideo.jwplayer.events.ViewEvent")] 
    2525 
    26         public interface IPlaylistComponent extends IGlobalEventDispatcher { 
    27                 function resize(width:Number, height:Number):void; 
     26        public interface IPlaylistComponent extends IPlayerComponent { 
    2827                function show():void; 
    2928                function hide():void; 
  • trunk/fl5/src/com/longtailvideo/jwplayer/view/skins/SWFSkin.as

    r400 r407  
    1111 
    1212        public class SWFSkin extends SkinBase implements ISkin { 
     13                 
     14                private var props:SkinProperties; 
     15 
    1316 
    1417                public function SWFSkin(loadedSkin:DisplayObject=null) { 
     18                        props = new SkinProperties(); 
     19                         
    1520                        if (loadedSkin) { 
    1621                                overwriteSkin(loadedSkin); 
     
    2530                                _skin.addChild(newSkin); 
    2631                        } 
     32                        if (_skin.getChildByName('controlbar')) { 
     33                                props['controlbar.size'] = _skin.getChildByName('controlbar').height; 
     34                        }  
    2735                } 
    2836 
     
    4957 
    5058                public override function getSkinProperties():SkinProperties { 
    51                         return null; 
     59                        return props; 
    5260                } 
    5361                 
Note: See TracChangeset for help on using the changeset viewer.