This patch offers the following two new features. I developed them together to meet a single (combined) objective and so I will only offer a single patch ;-) The features are:
Button control changes - this patch gives the button control the following new skin attributes
scrollStartDelaySec - specifies the amount of time, in seconds, until text scrolling starts once the button *receives focus*. Obtaining focus is the trigger to start consideration for scrolling (otherwise all buttons on the screen might scroll at the same time = very annoying). If scrollWrapString is not specified then the fadelabel in the button control behaves as a "legacy" fadelabel (no text wrapping).
scrollWrapString - specifies two things; (a) that the fade label should wrap text back to front and, (b) the text string that should be used to join the back of the label to the front. If you want text to wrap around you must specify at least one character (e.g., a space). An empty string turns off wrapping behavior. This attribute has no effect if scrollStartDelaySec < 0.
Fade label control changes - this patch gives the fadelabel control the following new skin attributes
wrapString - identical behavior to the button control scrollWrapString attribute.
Up down Button control changes - this patch gives the up down button control the same behavior as the button control (since the up down button control inherits from button control).
Example:
In the attached image a button control is defined by the transparent rectangle. The button control text is the longer, light-blue text (being scrolled). Notice the " | " before the word "LONG" - this is the value of the scrollWrapString attribute on the button control. The skin code for this button follows. Incidentally, the TV icon and "TV" label are simply overlays defined in other controls.
- Fade label text wrap around feature - allows the fade label to scroll continuously without a break (back filling of spaces). This feature is very useful in combination with the recently released MPInfoService for RSS feeds.
- Button control with fade label feature - allows the button control to use a fade label instead of a (standard) label. This feature allows a long text string to scroll in a short (width) button control. When used in combination with the fade label wrap around feature the button will never be blank (as would happen with the default behavior of the fade label.
Button control changes - this patch gives the button control the following new skin attributes
scrollStartDelaySec - specifies the amount of time, in seconds, until text scrolling starts once the button *receives focus*. Obtaining focus is the trigger to start consideration for scrolling (otherwise all buttons on the screen might scroll at the same time = very annoying). If scrollWrapString is not specified then the fadelabel in the button control behaves as a "legacy" fadelabel (no text wrapping).
scrollWrapString - specifies two things; (a) that the fade label should wrap text back to front and, (b) the text string that should be used to join the back of the label to the front. If you want text to wrap around you must specify at least one character (e.g., a space). An empty string turns off wrapping behavior. This attribute has no effect if scrollStartDelaySec < 0.
Fade label control changes - this patch gives the fadelabel control the following new skin attributes
wrapString - identical behavior to the button control scrollWrapString attribute.
Up down Button control changes - this patch gives the up down button control the same behavior as the button control (since the up down button control inherits from button control).
Example:
In the attached image a button control is defined by the transparent rectangle. The button control text is the longer, light-blue text (being scrolled). Notice the " | " before the word "LONG" - this is the value of the scrollWrapString attribute on the button control. The skin code for this button follows. Incidentally, the TV icon and "TV" label are simply overlays defined in other controls.
Code:
<control>
<description>tv settings button</description>
<type>button</type>
<id>1001</id>
<label>LONG DESCRIPTION GOES HERE FOR THESE SETTINGS</label>
<font>h3</font>
<textXOff>90</textXOff>
<textYOff>50</textYOff>
<textcolor>#buttonDescTextColor</textcolor>
<textcolorNoFocus>#buttonDescTextColor</textcolorNoFocus>
<textureFocus>list-nofocus.png</textureFocus>
<textureNoFocus>-</textureNoFocus>
[B]<scrollStartDelaySec>1</scrollStartDelaySec>
<scrollWrapString> | </scrollWrapString>[/B]
<width>600</width>
<height>96</height>
</control>