source: trunk/fl5/src/com/longtailvideo/jwplayer/view/SWFSkin.as @ 311

Revision 311, 1.6 KB checked in by pablo, 4 years ago (diff)

Skin loading

Line 
1package com.longtailvideo.jwplayer.view
2{
3        import com.longtailvideo.jwplayer.utils.AssetLoader;
4       
5        import flash.display.DisplayObject;
6        import flash.display.Sprite;
7        import flash.events.ErrorEvent;
8        import flash.events.Event;
9
10        public class SWFSkin extends SkinBase implements ISkin
11        {
12               
13                public function SWFSkin(loadedSkin:DisplayObject=null)
14                {
15                        if(loadedSkin) {
16                                overwriteSkin(loadedSkin);
17                        }
18                }
19
20                protected function overwriteSkin(newSkin:DisplayObject):void {
21                        if(newSkin is Sprite) {
22                                _skin = newSkin as Sprite;
23                        } else if (newSkin != null) {
24                                _skin = new Sprite();
25                                _skin.addChild(newSkin);
26                        }
27                }
28               
29                public override function load(url:String=null):void
30                {
31                        var loader:AssetLoader = new AssetLoader();
32                        loader.addEventListener(Event.COMPLETE, loadComplete);
33                        loader.addEventListener(ErrorEvent.ERROR, loadError);
34                        loader.load(url, DisplayObject);
35                }
36
37                protected function loadComplete(evt:Event):void {
38                        var loader:AssetLoader = AssetLoader(evt.target);
39                        overwriteSkin(DisplayObject(loader.loadedObject));
40                        dispatchEvent(new Event(Event.COMPLETE));                       
41                }
42               
43                protected function loadError(evt:ErrorEvent):void {
44                        sendError(evt.text);
45                }
46               
47                public override function hasComponent(component:String):Boolean
48                {
49                        return false;
50                }
51               
52                public override function getSkinElement(component:String, element:String):DisplayObject
53                {
54                        return null;
55                }
56
57//              public override function addSkinElement(name:String, element:DisplayObject):Boolean
58//              {
59//                      return true;
60//              }
61               
62                public override function getSkinProperties():SkinProperties
63                {
64                        return null;
65                }
66               
67        }
68}
Note: See TracBrowser for help on using the repository browser.