Changeset 1009


Ignore:
Timestamp:
05/06/10 17:44:45 (3 years ago)
Author:
pablo
Message:

Vertical endcaps for PNG skinned playlists (785)

Location:
trunk/fl5
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/fl5/src/com/longtailvideo/jwplayer/player/PlayerVersion.as

    r1008 r1009  
    33         
    44        public class PlayerVersion { 
    5                 protected static var _version:String = "5.2.1008"; 
     5                protected static var _version:String = "5.2.1009"; 
    66                 
    77                public static function get version():String { 
  • trunk/fl5/src/com/longtailvideo/jwplayer/view/components/PlaylistComponent.as

    r998 r1009  
    1717        import com.longtailvideo.jwplayer.view.interfaces.ISkin; 
    1818        import com.longtailvideo.jwplayer.view.skins.DefaultSkin; 
     19        import com.longtailvideo.jwplayer.view.skins.PNGSkin; 
    1920        import com.longtailvideo.jwplayer.view.skins.SWFSkin; 
    2021         
     
    111112                        } 
    112113                        addElement(background); 
    113                         slider = getSkinElement("slider") as Sprite; 
    114                         if (!slider) { 
    115                                 slider = new Sprite(); 
    116                                  
    117                                 var sliderBack:Sprite = getSkinElement("sliderBackground") as Sprite; 
    118                                 if (!sliderBack) { 
    119                                         sliderBack = new Sprite(); 
    120                                         sliderBack.graphics.beginFill(0, 1); 
    121                                         sliderBack.graphics.drawRect(0, 0, 1, 1); 
    122                                         sliderBack.graphics.endFill(); 
    123                                 } 
    124                                 sliderBack.name = "back"; 
    125                                 addElement(sliderBack,slider); 
    126                                  
    127                                 var sliderRail:Sprite = getSkinElement("sliderRail") as Sprite; 
    128                                 if (!sliderRail){ 
    129                                         sliderRail = new Sprite(); 
    130                                         sliderRail.graphics.beginFill(0, 1); 
    131                                         sliderRail.graphics.drawRect(0, 0, 7, 22); 
    132                                         sliderRail.graphics.endFill(); 
    133                                 } 
    134                                 sliderRail.name = "rail"; 
    135                                 addElement(sliderRail,slider); 
    136                                  
    137                                 var sliderThumb:Sprite = getSkinElement("sliderThumb") as Sprite; 
    138                                 if (!sliderThumb) { 
    139                                         sliderThumb = new Sprite(); 
    140                                         sliderThumb.graphics.beginFill(0, 1); 
    141                                         sliderThumb.graphics.drawRect(0, 0, 5, 54); 
    142                                         sliderThumb.graphics.endFill(); 
    143                                 } 
    144                                 sliderThumb.name = "icon"; 
    145                                 addElement(sliderThumb,slider,(sliderRail.width - sliderThumb.width)/2); 
    146                         } 
    147                         addElement(slider); 
     114                         
     115                        slider = buildSlider(); 
    148116                        slider.buttonMode = true; 
    149117                        slider.mouseChildren = false; 
     
    152120                        slider.addEventListener(MouseEvent.MOUSE_OUT, soutHandler); 
    153121                        slider.visible = false; 
     122                        addElement(slider); 
     123                         
    154124                        listmask = getSkinElement("masker") as Sprite; 
    155125                        if (!listmask) { 
     
    160130                        } 
    161131                        addElement(listmask); 
     132                         
    162133                        list = getSkinElement("list") as Sprite; 
    163134                        if (!list) { 
     
    175146                        list.addEventListener(MouseEvent.MOUSE_OUT, outHandler); 
    176147                        addElement(list); 
     148                         
    177149                        buttons = new Array(); 
    178150                        this.addEventListener(MouseEvent.MOUSE_WHEEL, wheelHandler); 
     
    190162                                resize(pendingResize.width, pendingResize.height); 
    191163                        } 
     164                } 
     165                 
     166                private function buildSlider():Sprite { 
     167                        var newSlider:Sprite = getSkinElement("slider") as Sprite; 
     168 
     169                        if (!newSlider) { 
     170                                newSlider = new Sprite(); 
     171                                var sliderBack:Sprite = buildSliderElement('back', 'sliderBackground', 1, 1); 
     172                                addElement(sliderBack, newSlider); 
     173                                 
     174                                var sliderRail:Sprite = buildSliderElement('rail', 'sliderRail', 7, 22); 
     175                                addElement(sliderRail, newSlider); 
     176                                 
     177                                var sliderThumb:Sprite = buildSliderElement('icon', 'sliderThumb', 5, 54); 
     178                                addElement(sliderThumb, newSlider, (sliderRail.width - sliderThumb.width) / 2); 
     179                        } 
     180 
     181                        /* These elements were never included in the swf skins, so add them even if the slider was in a SWF skin */ 
     182                         
     183                        var sliderCapTop:Sprite = buildSliderElement('captop', 'sliderCapTop'); 
     184                        addElement(sliderCapTop, newSlider); 
     185 
     186                        var sliderCapBottom:Sprite = buildSliderElement('capbottom', 'sliderCapBottom'); 
     187                        addElement(sliderCapBottom, newSlider); 
     188                         
     189                        return newSlider; 
     190                } 
     191                 
     192                private function buildSliderElement(name:String, skinElementName:String, width:Number=0, height:Number=0):Sprite { 
     193                        var newElement:Sprite = getSkinElement(skinElementName) as Sprite; 
     194                        if (!newElement) { 
     195                                newElement = new Sprite(); 
     196                                if (width * height > 0) { 
     197                                        newElement.graphics.beginFill(0, 1); 
     198                                        newElement.graphics.drawRect(0, 0, width, height); 
     199                                        newElement.graphics.endFill(); 
     200                                } 
     201                        } 
     202                        try { 
     203                                newElement.name = name; 
     204                        } catch(e:Error) {} //This is not possible if the element was created and named from an FLA 
     205                         
     206                        return newElement; 
    192207                } 
    193208                 
     
    277292                                parent = this; 
    278293                        } 
     294                        doc.x = x; 
    279295                        parent.addChild(doc); 
    280                         doc.x = x; 
    281296                        doc.y = y; 
    282297                } 
     
    370385                        if (proportion > 1.01) { 
    371386                                wid -= slider.width; 
    372                                 buildSlider(); 
     387                                layoutSlider(); 
    373388                        } else { 
    374389                                slider.visible = false; 
     
    411426                 
    412427                /** Setup the scrollbar component **/ 
    413                 private function buildSlider():void { 
     428                private function layoutSlider():void { 
    414429                        slider.visible = true; 
    415430                        slider.x = getConfigParam("width") - slider.width; 
    416                         var dif:Number = getConfigParam("height") - slider.height - slider.y; 
    417                         slider.getChildByName("back").height += dif; 
    418                         slider.getChildByName("rail").height += dif; 
    419                         slider.getChildByName("icon").height = Math.round(slider.getChildByName("rail").height / proportion); 
     431                        if (player.skin is PNGSkin) { 
     432                                var capTop:DisplayObject = slider.getChildByName("captop"); 
     433                                var capBottom:DisplayObject = slider.getChildByName("capbottom"); 
     434                                slider.getChildByName("back").y = capTop.height; 
     435                                slider.getChildByName("rail").y = capTop.height; 
     436                                slider.getChildByName("icon").y = capTop.height; 
     437                                slider.getChildByName("back").height = getConfigParam('height') - capBottom.height - capTop.height; 
     438                                slider.getChildByName("rail").height = getConfigParam('height') - capBottom.height - capTop.height; 
     439                                slider.getChildByName("icon").height = Math.round(slider.getChildByName("rail").height / proportion); 
     440                                capBottom.y = getConfigParam('height') - capBottom.height;  
     441                        } else { 
     442                                var dif:Number = getConfigParam("height") - slider.height - slider.y; 
     443                                slider.getChildByName("back").height += dif; 
     444                                slider.getChildByName("rail").height += dif; 
     445                                slider.getChildByName("icon").height = Math.round(slider.getChildByName("rail").height / proportion); 
     446                        } 
    420447                } 
    421448                 
Note: See TracChangeset for help on using the changeset viewer.