Rearrange skin structure for usage in addons folder

This commit is contained in:
Benau
2019-09-21 11:33:11 +08:00
parent e6801e1599
commit 48ba0aaf27
10 changed files with 378 additions and 342 deletions

View File

@@ -68,160 +68,160 @@ when the border that intersect at this corner are enabled.
<skin name="Coal" author="Alayan">
<!-- Stateless -->
<element type="background" image="coal/background.jpg" />
<element type="background" image="background.jpg" />
<element type="bottom-bar" image="coal/bottom_bar.png" />
<element type="bottom-bar" image="bottom_bar.png" />
<element type="achievement-message" image="coal/achievement.png"
<element type="achievement-message" image="achievement.png"
left_border="160" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0.3" vborder_out_portion="0"/>
<element type="friend-message" image="coal/friend.png"
<element type="friend-message" image="friend.png"
left_border="160" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="error-message" image="coal/error.png"
<element type="error-message" image="error.png"
left_border="160" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="generic-message" image="coal/generic.png"
<element type="generic-message" image="generic.png"
left_border="160" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="neutral" image="coal/glassbutton.png"
<element type="button" state="neutral" image="glassbutton.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="focused" image="coal/glassbutton_focused.png"
<element type="button" state="focused" image="glassbutton_focused.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="deactivated" image="common/glassbutton_deactivated.png"
<element type="button" state="deactivated" common="y" image="glassbutton_deactivated.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<!-- TODO : buttons could support 'pressed' state -->
<element type="textbubble" state="neutral" image="coal/textbubble.png"
<element type="textbubble" state="neutral" image="textbubble.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
hborder_out_portion="0.7" vborder_out_portion="0.3" />
<element type="textbubble" state="focused" image="coal/textbubble2.png"
<element type="textbubble" state="focused" image="textbubble2.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
hborder_out_portion="0.7" vborder_out_portion="0.3" />
<element type="progress" state="fill" image="coal/glasssgauge_fill.png"
<element type="progress" state="fill" image="glasssgauge_fill.png"
left_border="20" right_border="20" top_border="0" bottom_border="0"
preserve_h_aspect_ratios="true" />
<element type="progress" state="neutral" image="common/progress_bg.png"
<element type="progress" state="neutral" common="y" image="progress_bg.png"
left_border="31" right_border="31" top_border="15" bottom_border="15"
preserve_h_aspect_ratios="true" />
<element type="tab" state="neutral" image="coal/glasstab.png"
<element type="tab" state="neutral" image="glasstab.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="tab" state="focused" image="coal/glasstab_focus.png"
<element type="tab" state="focused" image="glasstab_focus.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="tab" state="down" image="coal/glasstab_down.png"
<element type="tab" state="down" image="glasstab_down.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="verticalTab" state="neutral" image="coal/glasstab_vert.png"
<element type="verticalTab" state="neutral" image="glasstab_vert.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<element type="verticalTab" state="focused" image="coal/glasstab_vert_focus.png"
<element type="verticalTab" state="focused" image="glasstab_vert_focus.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<element type="verticalTab" state="down" image="coal/glasstab_vert_down.png"
<element type="verticalTab" state="down" image="glasstab_vert_down.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<!-- Stateless -->
<element type="squareFocusHaloBW" image="common/glass_square_focused_bw.png"
<element type="squareFocusHaloBW" common="y" image="glass_square_focused_bw.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo1" image="common/glass_square_focused_black.png"
<element type="squareFocusHalo1" common="y" image="glass_square_focused_black.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo2" image="common/glass_square_focused_cyan.png"
<element type="squareFocusHalo2" common="y" image="glass_square_focused_cyan.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo3" image="common/glass_square_focused_red.png"
<element type="squareFocusHalo3" common="y" image="glass_square_focused_red.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo4" image="common/glass_square_focused_green.png"
<element type="squareFocusHalo4" common="y" image="glass_square_focused_green.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo5" image="common/glass_square_focused_yellow.png"
<element type="squareFocusHalo5" common="y" image="glass_square_focused_yellow.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<!-- Stateless. No splitting into 9 areas is done; the image is just resized. -->
<element type="selectionHalo" image="coal/bubble.png" />
<element type="focusHalo" image="coal/glass_iconhighlight_focus.png" />
<element type="selectionHalo" image="bubble.png" />
<element type="focusHalo" image="glass_iconhighlight_focus.png" />
<element type="spinner" state="neutral" image="common/glassspinner.png"
<element type="spinner" state="neutral" common="y" image="glassspinner.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner" state="focused" image="coal/glassspinner_focus.png"
<element type="spinner" state="focused" image="glassspinner_focus.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner" state="deactivated" image="common/glassspinner_deactivated.png"
<element type="spinner" state="deactivated" common="y" image="glassspinner_deactivated.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- player name spinner color in multiplayer-->
<element type="spinner1" state="neutral" image="common/glass_square_black.png"
<element type="spinner1" state="neutral" common="y" image="glass_square_black.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner2" state="neutral" image="common/glass_square_cyan.png"
<element type="spinner2" state="neutral" common="y" image="glass_square_cyan.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner3" state="neutral" image="common/glass_square_red.png"
<element type="spinner3" state="neutral" common="y" image="glass_square_red.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner4" state="neutral" image="common/glass_square_green.png"
<element type="spinner4" state="neutral" common="y" image="glass_square_green.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner5" state="neutral" image="common/glass_square_yellow.png"
<element type="spinner5" state="neutral" common="y" image="glass_square_yellow.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- This one is a bit special. Only area(s) LEFT and/or RIGHT will be rendered. They will be overlaid
on top of the spinner's background -->
<element type="spinner" state="down" image="coal/glassspinner_down.png"
<element type="spinner" state="down" image="glassspinner_down.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- For checkboxes, no splitting into 9 areas is done; the image is just stretched -->
<element type="checkbox" state="neutral+unchecked" image="coal/glasscheckbox.png"/>
<element type="checkbox" state="neutral+checked" image="coal/glasscheckbox_checked.png"/>
<element type="checkbox" state="focused+unchecked" image="coal/glasscheckbox_focus.png"/>
<element type="checkbox" state="focused+checked" image="coal/glasscheckbox_checked_focus.png"/>
<element type="checkbox" state="deactivated+unchecked" image="common/glasscheckbox_deactivated.png"/>
<element type="checkbox" state="deactivated+checked" image="common/glasscheckbox_checked_deactivated.png"/>
<element type="checkbox" state="neutral+unchecked" image="glasscheckbox.png"/>
<element type="checkbox" state="neutral+checked" image="glasscheckbox_checked.png"/>
<element type="checkbox" state="focused+unchecked" image="glasscheckbox_focus.png"/>
<element type="checkbox" state="focused+checked" image="glasscheckbox_checked_focus.png"/>
<element type="checkbox" state="deactivated+unchecked" common="y" image="glasscheckbox_deactivated.png"/>
<element type="checkbox" state="deactivated+checked" common="y" image="glasscheckbox_checked_deactivated.png"/>
<!-- are always in neutral state for now. No splitting into 9 areas is done; the image is just stretched.
Note: the body of a guage is the same as for for spinners. -->
<element type="gaugefill" image="coal/glasssgauge_fill.png" />
<element type="gaugefill" image="glasssgauge_fill.png" />
<!-- Lists are always in neutral state for now -->
<element type="list" image="coal/glass_section.png"
<element type="list" image="glass_section.png"
left_border="15" right_border="15" top_border="7" bottom_border="7"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="listitem" state="focused" image="coal/select.png"
<element type="listitem" state="focused" image="select.png"
left_border="0" right_border="0" top_border="0" bottom_border="0"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
@@ -230,46 +230,46 @@ when the border that intersect at this corner are enabled.
The buttons are the top and bottom arrows. Image must be top arrow, will
be mirrorred for bottom. Buttons can be in neutral or down state.
Advanced stretching is only used for the background and thumb. -->
<element type="scrollbar_background" image="common/scrollbar_bg.png"
<element type="scrollbar_background" common="y" image="scrollbar_bg.png"
left_border="7" right_border="7" top_border="7" bottom_border="7"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="scrollbar_thumb" image="coal/scrollbar_thumb.png"
<element type="scrollbar_thumb" image="scrollbar_thumb.png"
left_border="7" right_border="7" top_border="7" bottom_border="7"
hborder_out_portion="-1.0" vborder_out_portion="-1.0" />
<element type="scrollbar_button" image="common/scrollbar_btn.png" />
<element type="scrollbar_button" state="down" image="coal/scrollbar_btn_down.png" />
<element type="scrollbar_button" common="y" image="scrollbar_btn.png" />
<element type="scrollbar_button" state="down" image="scrollbar_btn_down.png" />
<element type="left_arrow" state="neutral" image="common/left_arrow.png" />
<element type="right_arrow" state="neutral" image="common/right_arrow.png" />
<element type="left_arrow" state="focus" image="coal/left_arrow_focus.png" />
<element type="right_arrow" state="focus" image="coal/right_arrow_focus.png" />
<element type="left_arrow" state="neutral" common="y" image="left_arrow.png" />
<element type="right_arrow" state="neutral" common="y" image="right_arrow.png" />
<element type="left_arrow" state="focus" image="left_arrow_focus.png" />
<element type="right_arrow" state="focus" image="right_arrow_focus.png" />
<element type="list_header" state="neutral" image="coal/table_header.png" />
<element type="list_sort_up" state="neutral" image="common/list_sort_up.png" />
<element type="list_sort_down" state="neutral" image="common/list_sort_down.png" />
<element type="list_header" state="down" image="coal/table_header_down.png" />
<element type="list_header" state="neutral" image="table_header.png" />
<element type="list_sort_up" state="neutral" common="y" image="list_sort_up.png" />
<element type="list_sort_down" state="neutral" common="y" image="list_sort_down.png" />
<element type="list_header" state="down" image="table_header_down.png" />
<!-- Stateless -->
<element type="section" image="coal/glass_section.png"
<element type="section" image="glass_section.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="section" state="selected" image="coal/glassbutton_focused.png"
<element type="section" state="selected" image="glassbutton_focused.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<!-- Stateless -->
<element type="rounded_section" image="coal/glass_rsection.png"
<element type="rounded_section" image="glass_rsection.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<!-- Stateless -->
<element type="window" image="coal/dialog.png"
<element type="window" image="dialog.png"
left_border="7" right_border="7" top_border="50" bottom_border="50"
hborder_out_portion="1.0" vborder_out_portion="0.2" />
<!-- Stateless -->
<element type="tooltip" image="common/tooltip.png"
<element type="tooltip" common="y" image="tooltip.png"
left_border="10" right_border="10" top_border="10" bottom_border="10"
hborder_out_portion="1.0" vborder_out_portion="1.0" />
@@ -304,7 +304,7 @@ when the border that intersect at this corner are enabled.
<color type="text_field" state="deactivated" a="255" r="90" g="90" b="90" />
<!-- Rating star image -->
<element type="rating" state="neutral" image="common/rating_star.png" />
<element type="rating" state="neutral" common="y" image="rating_star.png" />
<!-- Font color -->
<color type="font" state="top" a="255" r="140" g="140" b="140" />

View File

@@ -68,160 +68,160 @@ when the border that intersect at this corner are enabled.
<skin name="Forest" author="Benau">
<!-- Stateless -->
<element type="background" image="common/background.jpg" />
<element type="background" common="y" image="background.jpg" />
<element type="bottom-bar" image="common/bottom_bar.png" />
<element type="bottom-bar" common="y" image="bottom_bar.png" />
<element type="achievement-message" image="forest/achievement.png"
<element type="achievement-message" image="achievement.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0.3" vborder_out_portion="0"/>
<element type="friend-message" image="forest/friend.png"
<element type="friend-message" image="friend.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="error-message" image="forest/error.png"
<element type="error-message" image="error.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="generic-message" image="forest/generic.png"
<element type="generic-message" image="generic.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="neutral" image="forest/glassbutton.png"
<element type="button" state="neutral" image="glassbutton.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="focused" image="forest/glassbutton_focused.png"
<element type="button" state="focused" image="glassbutton_focused.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="deactivated" image="common/glassbutton_deactivated.png"
<element type="button" state="deactivated" common="y" image="glassbutton_deactivated.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<!-- TODO : buttons could support 'pressed' state -->
<element type="textbubble" state="neutral" image="forest/textbubble.png"
<element type="textbubble" state="neutral" image="textbubble.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
hborder_out_portion="0.7" vborder_out_portion="0.3" />
<element type="textbubble" state="focused" image="forest/textbubble2.png"
<element type="textbubble" state="focused" image="textbubble2.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
hborder_out_portion="0.7" vborder_out_portion="0.3" />
<element type="progress" state="fill" image="forest/glasssgauge_fill.png"
<element type="progress" state="fill" image="glasssgauge_fill.png"
left_border="20" right_border="20" top_border="0" bottom_border="0"
preserve_h_aspect_ratios="true" />
<element type="progress" state="neutral" image="common/progress_bg.png"
<element type="progress" state="neutral" common="y" image="progress_bg.png"
left_border="31" right_border="31" top_border="15" bottom_border="15"
preserve_h_aspect_ratios="true" />
<element type="tab" state="neutral" image="forest/glasstab.png"
<element type="tab" state="neutral" image="glasstab.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="tab" state="focused" image="forest/glasstab_focus.png"
<element type="tab" state="focused" image="glasstab_focus.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="tab" state="down" image="forest/glasstab_down.png"
<element type="tab" state="down" image="glasstab_down.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="verticalTab" state="neutral" image="forest/glasstab_vert.png"
<element type="verticalTab" state="neutral" image="glasstab_vert.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<element type="verticalTab" state="focused" image="forest/glasstab_vert_focus.png"
<element type="verticalTab" state="focused" image="glasstab_vert_focus.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<element type="verticalTab" state="down" image="forest/glasstab_vert_down.png"
<element type="verticalTab" state="down" image="glasstab_vert_down.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<!-- Stateless -->
<element type="squareFocusHaloBW" image="common/glass_square_focused_bw.png"
<element type="squareFocusHaloBW" common="y" image="glass_square_focused_bw.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo1" image="common/glass_square_focused_green.png"
<element type="squareFocusHalo1" common="y" image="glass_square_focused_green.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo2" image="common/glass_square_focused_yellow.png"
<element type="squareFocusHalo2" common="y" image="glass_square_focused_yellow.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo3" image="common/glass_square_focused_red.png"
<element type="squareFocusHalo3" common="y" image="glass_square_focused_red.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo4" image="common/glass_square_focused_cyan.png"
<element type="squareFocusHalo4" common="y" image="glass_square_focused_cyan.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo5" image="common/glass_square_focused_pink.png"
<element type="squareFocusHalo5" common="y" image="glass_square_focused_pink.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<!-- Stateless. No splitting into 9 areas is done; the image is just resized. -->
<element type="selectionHalo" image="forest/bubble.png" />
<element type="focusHalo" image="forest/glass_iconhighlight_focus.png" />
<element type="selectionHalo" image="bubble.png" />
<element type="focusHalo" image="glass_iconhighlight_focus.png" />
<element type="spinner" state="neutral" image="common/glassspinner.png"
<element type="spinner" state="neutral" common="y" image="glassspinner.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner" state="focused" image="forest/glassspinner_focus.png"
<element type="spinner" state="focused" image="glassspinner_focus.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner" state="deactivated" image="common/glassspinner_deactivated.png"
<element type="spinner" state="deactivated" common="y" image="glassspinner_deactivated.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- player name spinner color in multiplayer-->
<element type="spinner1" state="neutral" image="common/glass_square_green.png"
<element type="spinner1" state="neutral" common="y" image="glass_square_green.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner2" state="neutral" image="common/glass_square_yellow.png"
<element type="spinner2" state="neutral" common="y" image="glass_square_yellow.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner3" state="neutral" image="common/glass_square_red.png"
<element type="spinner3" state="neutral" common="y" image="glass_square_red.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner4" state="neutral" image="common/glass_square_cyan.png"
<element type="spinner4" state="neutral" common="y" image="glass_square_cyan.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner5" state="neutral" image="common/glass_square_pink.png"
<element type="spinner5" state="neutral" common="y" image="glass_square_pink.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- This one is a bit special. Only area(s) LEFT and/or RIGHT will be rendered. They will be overlaid
on top of the spinner's background -->
<element type="spinner" state="down" image="forest/glassspinner_down.png"
<element type="spinner" state="down" image="glassspinner_down.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- For checkboxes, no splitting into 9 areas is done; the image is just stretched -->
<element type="checkbox" state="neutral+unchecked" image="forest/glasscheckbox.png"/>
<element type="checkbox" state="neutral+checked" image="forest/glasscheckbox_checked.png"/>
<element type="checkbox" state="focused+unchecked" image="forest/glasscheckbox_focus.png"/>
<element type="checkbox" state="focused+checked" image="forest/glasscheckbox_checked_focus.png"/>
<element type="checkbox" state="deactivated+unchecked" image="common/glasscheckbox_deactivated.png"/>
<element type="checkbox" state="deactivated+checked" image="common/glasscheckbox_checked_deactivated.png"/>
<element type="checkbox" state="neutral+unchecked" image="glasscheckbox.png"/>
<element type="checkbox" state="neutral+checked" image="glasscheckbox_checked.png"/>
<element type="checkbox" state="focused+unchecked" image="glasscheckbox_focus.png"/>
<element type="checkbox" state="focused+checked" image="glasscheckbox_checked_focus.png"/>
<element type="checkbox" state="deactivated+unchecked" common="y" image="glasscheckbox_deactivated.png"/>
<element type="checkbox" state="deactivated+checked" common="y" image="glasscheckbox_checked_deactivated.png"/>
<!-- are always in neutral state for now. No splitting into 9 areas is done; the image is just stretched.
Note: the body of a guage is the same as for for spinners. -->
<element type="gaugefill" image="forest/glasssgauge_fill.png" />
<element type="gaugefill" image="glasssgauge_fill.png" />
<!-- Lists are always in neutral state for now -->
<element type="list" image="common/glass_section.png"
<element type="list" common="y" image="glass_section.png"
left_border="15" right_border="15" top_border="7" bottom_border="7"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="listitem" state="focused" image="forest/select.png"
<element type="listitem" state="focused" image="select.png"
left_border="0" right_border="0" top_border="0" bottom_border="0"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
@@ -230,46 +230,46 @@ when the border that intersect at this corner are enabled.
The buttons are the top and bottom arrows. Image must be top arrow, will
be mirrorred for bottom. Buttons can be in neutral or down state.
Advanced stretching is only used for the background and thumb. -->
<element type="scrollbar_background" image="common/scrollbar_bg.png"
<element type="scrollbar_background" common="y" image="scrollbar_bg.png"
left_border="7" right_border="7" top_border="7" bottom_border="7"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="scrollbar_thumb" image="forest/scrollbar_thumb.png"
<element type="scrollbar_thumb" image="scrollbar_thumb.png"
left_border="7" right_border="7" top_border="7" bottom_border="7"
hborder_out_portion="-1.0" vborder_out_portion="-1.0" />
<element type="scrollbar_button" image="common/scrollbar_btn.png" />
<element type="scrollbar_button" state="down" image="forest/scrollbar_btn_down.png" />
<element type="scrollbar_button" common="y" image="scrollbar_btn.png" />
<element type="scrollbar_button" state="down" image="scrollbar_btn_down.png" />
<element type="left_arrow" state="neutral" image="common/left_arrow.png" />
<element type="right_arrow" state="neutral" image="common/right_arrow.png" />
<element type="left_arrow" state="focus" image="forest/left_arrow_focus.png" />
<element type="right_arrow" state="focus" image="forest/right_arrow_focus.png" />
<element type="left_arrow" state="neutral" common="y" image="left_arrow.png" />
<element type="right_arrow" state="neutral" common="y" image="right_arrow.png" />
<element type="left_arrow" state="focus" image="left_arrow_focus.png" />
<element type="right_arrow" state="focus" image="right_arrow_focus.png" />
<element type="list_header" state="neutral" image="common/table_header.png" />
<element type="list_sort_up" state="neutral" image="common/list_sort_up.png" />
<element type="list_sort_down" state="neutral" image="common/list_sort_down.png" />
<element type="list_header" state="down" image="forest/table_header_down.png" />
<element type="list_header" state="neutral" common="y" image="table_header.png" />
<element type="list_sort_up" state="neutral" common="y" image="list_sort_up.png" />
<element type="list_sort_down" state="neutral" common="y" image="list_sort_down.png" />
<element type="list_header" state="down" image="table_header_down.png" />
<!-- Stateless -->
<element type="section" image="common/glass_section.png"
<element type="section" common="y" image="glass_section.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="section" state="selected" image="forest/glassbutton_focused.png"
<element type="section" state="selected" image="glassbutton_focused.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<!-- Stateless -->
<element type="rounded_section" image="common/glass_rsection.png"
<element type="rounded_section" common="y" image="glass_rsection.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<!-- Stateless -->
<element type="window" image="common/dialog.png"
<element type="window" common="y" image="dialog.png"
left_border="7" right_border="7" top_border="50" bottom_border="50"
hborder_out_portion="1.0" vborder_out_portion="0.2" />
<!-- Stateless -->
<element type="tooltip" image="common/tooltip.png"
<element type="tooltip" common="y" image="tooltip.png"
left_border="10" right_border="10" top_border="10" bottom_border="10"
hborder_out_portion="1.0" vborder_out_portion="1.0" />
@@ -304,7 +304,7 @@ when the border that intersect at this corner are enabled.
<color type="text_field" state="deactivated" a="255" r="138" g="138" b="138" />
<!-- Rating star image -->
<element type="rating" state="neutral" image="common/rating_star.png" />
<element type="rating" state="neutral" common="y" image="rating_star.png" />
<!-- Font color -->
<color type="font" state="top" a="255" r="60" g="230" b="150" />

View File

@@ -67,160 +67,160 @@ when the border that intersect at this corner are enabled.
<skin name="Ocean" author="Dakal & Marianne Gagnon (Auria)">
<!-- Stateless -->
<element type="background" image="common/background.jpg" />
<element type="background" common="y" image="background.jpg" />
<element type="bottom-bar" image="common/bottom_bar.png" />
<element type="bottom-bar" common="y" image="bottom_bar.png" />
<element type="achievement-message" image="ocean/achievement.png"
<element type="achievement-message" image="achievement.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0.3" vborder_out_portion="0"/>
<element type="friend-message" image="ocean/friend.png"
<element type="friend-message" image="friend.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="error-message" image="ocean/error.png"
<element type="error-message" image="error.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="generic-message" image="ocean/generic.png"
<element type="generic-message" image="generic.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="neutral" image="ocean/glassbutton.png"
<element type="button" state="neutral" image="glassbutton.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="focused" image="ocean/glassbutton_focused.png"
<element type="button" state="focused" image="glassbutton_focused.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="deactivated" image="common/glassbutton_deactivated.png"
<element type="button" state="deactivated" common="y" image="glassbutton_deactivated.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<!-- TODO : buttons could support 'pressed' state -->
<element type="textbubble" state="neutral" image="ocean/textbubble.png"
<element type="textbubble" state="neutral" image="textbubble.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
hborder_out_portion="0.7" vborder_out_portion="0.3" />
<element type="textbubble" state="focused" image="ocean/textbubble2.png"
<element type="textbubble" state="focused" image="textbubble2.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
hborder_out_portion="0.7" vborder_out_portion="0.3" />
<element type="progress" state="fill" image="ocean/glasssgauge_fill.png"
<element type="progress" state="fill" image="glasssgauge_fill.png"
left_border="20" right_border="20" top_border="0" bottom_border="0"
preserve_h_aspect_ratios="true" />
<element type="progress" state="neutral" image="common/progress_bg.png"
<element type="progress" state="neutral" common="y" image="progress_bg.png"
left_border="31" right_border="31" top_border="15" bottom_border="15"
preserve_h_aspect_ratios="true" />
<element type="tab" state="neutral" image="ocean/glasstab.png"
<element type="tab" state="neutral" image="glasstab.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="tab" state="focused" image="ocean/glasstab_focus.png"
<element type="tab" state="focused" image="glasstab_focus.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="tab" state="down" image="ocean/glasstab_down.png"
<element type="tab" state="down" image="glasstab_down.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="verticalTab" state="neutral" image="ocean/glasstab_vert.png"
<element type="verticalTab" state="neutral" image="glasstab_vert.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<element type="verticalTab" state="focused" image="ocean/glasstab_vert_focus.png"
<element type="verticalTab" state="focused" image="glasstab_vert_focus.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<element type="verticalTab" state="down" image="ocean/glasstab_vert_down.png"
<element type="verticalTab" state="down" image="glasstab_vert_down.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<!-- Stateless -->
<element type="squareFocusHaloBW" image="common/glass_square_focused_bw.png"
<element type="squareFocusHaloBW" common="y" image="glass_square_focused_bw.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo1" image="common/glass_square_focused_cyan.png"
<element type="squareFocusHalo1" common="y" image="glass_square_focused_cyan.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo2" image="common/glass_square_focused_yellow.png"
<element type="squareFocusHalo2" common="y" image="glass_square_focused_yellow.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo3" image="common/glass_square_focused_red.png"
<element type="squareFocusHalo3" common="y" image="glass_square_focused_red.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo4" image="common/glass_square_focused_green.png"
<element type="squareFocusHalo4" common="y" image="glass_square_focused_green.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo5" image="common/glass_square_focused_pink.png"
<element type="squareFocusHalo5" common="y" image="glass_square_focused_pink.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<!-- Stateless. No splitting into 9 areas is done; the image is just resized. -->
<element type="selectionHalo" image="ocean/bubble.png" />
<element type="focusHalo" image="ocean/glass_iconhighlight_focus.png" />
<element type="selectionHalo" image="bubble.png" />
<element type="focusHalo" image="glass_iconhighlight_focus.png" />
<element type="spinner" state="neutral" image="common/glassspinner.png"
<element type="spinner" state="neutral" common="y" image="glassspinner.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner" state="focused" image="ocean/glassspinner_focus.png"
<element type="spinner" state="focused" image="glassspinner_focus.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner" state="deactivated" image="common/glassspinner_deactivated.png"
<element type="spinner" state="deactivated" common="y" image="glassspinner_deactivated.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- player name spinner color in multiplayer-->
<element type="spinner1" state="neutral" image="common/glass_square_cyan.png"
<element type="spinner1" state="neutral" common="y" image="glass_square_cyan.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner2" state="neutral" image="common/glass_square_yellow.png"
<element type="spinner2" state="neutral" common="y" image="glass_square_yellow.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner3" state="neutral" image="common/glass_square_red.png"
<element type="spinner3" state="neutral" common="y" image="glass_square_red.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner4" state="neutral" image="common/glass_square_green.png"
<element type="spinner4" state="neutral" common="y" image="glass_square_green.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner5" state="neutral" image="common/glass_square_pink.png"
<element type="spinner5" state="neutral" common="y" image="glass_square_pink.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- This one is a bit special. Only area(s) LEFT and/or RIGHT will be rendered. They will be overlaid
on top of the spinner's background -->
<element type="spinner" state="down" image="ocean/glassspinner_down.png"
<element type="spinner" state="down" image="glassspinner_down.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- For checkboxes, no splitting into 9 areas is done; the image is just stretched -->
<element type="checkbox" state="neutral+unchecked" image="ocean/glasscheckbox.png"/>
<element type="checkbox" state="neutral+checked" image="ocean/glasscheckbox_checked.png"/>
<element type="checkbox" state="focused+unchecked" image="ocean/glasscheckbox_focus.png"/>
<element type="checkbox" state="focused+checked" image="ocean/glasscheckbox_checked_focus.png"/>
<element type="checkbox" state="deactivated+unchecked" image="common/glasscheckbox_deactivated.png"/>
<element type="checkbox" state="deactivated+checked" image="common/glasscheckbox_checked_deactivated.png"/>
<element type="checkbox" state="neutral+unchecked" image="glasscheckbox.png"/>
<element type="checkbox" state="neutral+checked" image="glasscheckbox_checked.png"/>
<element type="checkbox" state="focused+unchecked" image="glasscheckbox_focus.png"/>
<element type="checkbox" state="focused+checked" image="glasscheckbox_checked_focus.png"/>
<element type="checkbox" state="deactivated+unchecked" common="y" image="glasscheckbox_deactivated.png"/>
<element type="checkbox" state="deactivated+checked" common="y" image="glasscheckbox_checked_deactivated.png"/>
<!-- are always in neutral state for now. No splitting into 9 areas is done; the image is just stretched.
Note: the body of a guage is the same as for for spinners. -->
<element type="gaugefill" image="ocean/glasssgauge_fill.png" />
<element type="gaugefill" image="glasssgauge_fill.png" />
<!-- Lists are always in neutral state for now -->
<element type="list" image="common/glass_section.png"
<element type="list" common="y" image="glass_section.png"
left_border="15" right_border="15" top_border="7" bottom_border="7"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="listitem" state="focused" image="ocean/select.png"
<element type="listitem" state="focused" image="select.png"
left_border="0" right_border="0" top_border="0" bottom_border="0"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
@@ -229,46 +229,46 @@ when the border that intersect at this corner are enabled.
The buttons are the top and bottom arrows. Image must be top arrow, will
be mirrorred for bottom. Buttons can be in neutral or down state.
Advanced stretching is only used for the background and thumb. -->
<element type="scrollbar_background" image="common/scrollbar_bg.png"
<element type="scrollbar_background" common="y" image="scrollbar_bg.png"
left_border="7" right_border="7" top_border="7" bottom_border="7"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="scrollbar_thumb" image="ocean/scrollbar_thumb.png"
<element type="scrollbar_thumb" image="scrollbar_thumb.png"
left_border="7" right_border="7" top_border="7" bottom_border="7"
hborder_out_portion="-1.0" vborder_out_portion="-1.0" />
<element type="scrollbar_button" image="common/scrollbar_btn.png" />
<element type="scrollbar_button" state="down" image="ocean/scrollbar_btn_down.png" />
<element type="scrollbar_button" common="y" image="scrollbar_btn.png" />
<element type="scrollbar_button" state="down" image="scrollbar_btn_down.png" />
<element type="left_arrow" state="neutral" image="common/left_arrow.png" />
<element type="right_arrow" state="neutral" image="common/right_arrow.png" />
<element type="left_arrow" state="focus" image="ocean/left_arrow_focus.png" />
<element type="right_arrow" state="focus" image="ocean/right_arrow_focus.png" />
<element type="left_arrow" state="neutral" common="y" image="left_arrow.png" />
<element type="right_arrow" state="neutral" common="y" image="right_arrow.png" />
<element type="left_arrow" state="focus" image="left_arrow_focus.png" />
<element type="right_arrow" state="focus" image="right_arrow_focus.png" />
<element type="list_header" state="neutral" image="common/table_header.png" />
<element type="list_sort_up" state="neutral" image="common/list_sort_up.png" />
<element type="list_sort_down" state="neutral" image="common/list_sort_down.png" />
<element type="list_header" state="down" image="ocean/table_header_down.png" />
<element type="list_header" state="neutral" common="y" image="table_header.png" />
<element type="list_sort_up" state="neutral" common="y" image="list_sort_up.png" />
<element type="list_sort_down" state="neutral" common="y" image="list_sort_down.png" />
<element type="list_header" state="down" image="table_header_down.png" />
<!-- Stateless -->
<element type="section" image="common/glass_section.png"
<element type="section" common="y" image="glass_section.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="section" state="selected" image="ocean/glassbutton_focused.png"
<element type="section" state="selected" image="glassbutton_focused.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<!-- Stateless -->
<element type="rounded_section" image="common/glass_rsection.png"
<element type="rounded_section" common="y" image="glass_rsection.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<!-- Stateless -->
<element type="window" image="common/dialog.png"
<element type="window" common="y" image="dialog.png"
left_border="7" right_border="7" top_border="50" bottom_border="50"
hborder_out_portion="1.0" vborder_out_portion="0.2" />
<!-- Stateless -->
<element type="tooltip" image="common/tooltip.png"
<element type="tooltip" common="y" image="tooltip.png"
left_border="10" right_border="10" top_border="10" bottom_border="10"
hborder_out_portion="1.0" vborder_out_portion="1.0" />
@@ -303,7 +303,7 @@ when the border that intersect at this corner are enabled.
<color type="text_field" state="deactivated" a="255" r="138" g="138" b="138" />
<!-- Rating star image -->
<element type="rating" state="neutral" image="common/rating_star.png" />
<element type="rating" state="neutral" common="y" image="rating_star.png" />
<!-- Font color -->
<color type="font" state="top" a="255" r="100" g="200" b="220" />

View File

@@ -67,159 +67,159 @@ when the border that intersect at this corner are enabled.
<skin name="Peach" author="Dakal & Marianne Gagnon (Auria)">
<!-- Stateless -->
<element type="background" image="common/background.jpg" />
<element type="background" common="y" image="background.jpg" />
<element type="bottom-bar" image="common/bottom_bar.png" />
<element type="bottom-bar" common="y" image="bottom_bar.png" />
<element type="achievement-message" image="peach/achievement.png"
<element type="achievement-message" image="achievement.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0.3" vborder_out_portion="0"/>
<element type="friend-message" image="peach/friend.png"
<element type="friend-message" image="friend.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="error-message" image="peach/error.png"
<element type="error-message" image="error.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="generic-message" image="peach/generic.png"
<element type="generic-message" image="generic.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="neutral" image="peach/glassbutton.png"
<element type="button" state="neutral" image="glassbutton.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="focused" image="peach/glassbutton_focused.png"
<element type="button" state="focused" image="glassbutton_focused.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="deactivated" image="common/glassbutton_deactivated.png"
<element type="button" state="deactivated" common="y" image="glassbutton_deactivated.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<!-- TODO : buttons could support 'pressed' state -->
<element type="textbubble" state="neutral" image="peach/textbubble.png"
<element type="textbubble" state="neutral" image="textbubble.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
hborder_out_portion="0.7" vborder_out_portion="0.3" />
<element type="textbubble" state="focused" image="peach/textbubble2.png"
<element type="textbubble" state="focused" image="textbubble2.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
hborder_out_portion="0.7" vborder_out_portion="0.3" />
<element type="progress" state="fill" image="peach/glasssgauge_fill.png"
<element type="progress" state="fill" image="glasssgauge_fill.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
preserve_h_aspect_ratios="false" />
<element type="progress" state="neutral" image="common/progress_bg.png"
<element type="progress" state="neutral" common="y" image="progress_bg.png"
left_border="31" right_border="31" top_border="15" bottom_border="15"
preserve_h_aspect_ratios="true" />
<element type="tab" state="neutral" image="peach/glasstab.png"
<element type="tab" state="neutral" image="glasstab.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="tab" state="focused" image="peach/glasstab_focus.png"
<element type="tab" state="focused" image="glasstab_focus.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="tab" state="down" image="peach/glasstab_down.png"
<element type="tab" state="down" image="glasstab_down.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="verticalTab" state="neutral" image="peach/glasstab_vert.png"
<element type="verticalTab" state="neutral" image="glasstab_vert.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<element type="verticalTab" state="focused" image="peach/glasstab_vert_focus.png"
<element type="verticalTab" state="focused" image="glasstab_vert_focus.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<element type="verticalTab" state="down" image="peach/glasstab_vert_down.png"
<element type="verticalTab" state="down" image="glasstab_vert_down.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<!-- Stateless -->
<element type="squareFocusHaloBW" image="common/glass_square_focused_bw.png"
<element type="squareFocusHaloBW" common="y" image="glass_square_focused_bw.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo1" image="common/glass_square_focused_red.png"
<element type="squareFocusHalo1" common="y" image="glass_square_focused_red.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo2" image="common/glass_square_focused_cyan.png"
<element type="squareFocusHalo2" common="y" image="glass_square_focused_cyan.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo3" image="common/glass_square_focused_green.png"
<element type="squareFocusHalo3" common="y" image="glass_square_focused_green.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo4" image="common/glass_square_focused_yellow.png"
<element type="squareFocusHalo4" common="y" image="glass_square_focused_yellow.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo5" image="common/glass_square_focused_pink.png"
<element type="squareFocusHalo5" common="y" image="glass_square_focused_pink.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<!-- Stateless. No splitting into 9 areas is done; the image is just resized. -->
<element type="selectionHalo" image="peach/bubble.png" />
<element type="focusHalo" image="peach/glass_iconhighlight_focus.png" />
<element type="selectionHalo" image="bubble.png" />
<element type="focusHalo" image="glass_iconhighlight_focus.png" />
<element type="spinner" state="neutral" image="common/glassspinner.png"
<element type="spinner" state="neutral" common="y" image="glassspinner.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner" state="focused" image="peach/glassspinner_focus.png"
<element type="spinner" state="focused" image="glassspinner_focus.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner" state="deactivated" image="common/glassspinner_deactivated.png"
<element type="spinner" state="deactivated" common="y" image="glassspinner_deactivated.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- player name spinner color in multiplayer-->
<element type="spinner1" state="neutral" image="common/glass_square_red.png"
<element type="spinner1" state="neutral" common="y" image="glass_square_red.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner2" state="neutral" image="common/glass_square_cyan.png"
<element type="spinner2" state="neutral" common="y" image="glass_square_cyan.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner3" state="neutral" image="common/glass_square_green.png"
<element type="spinner3" state="neutral" common="y" image="glass_square_green.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner4" state="neutral" image="common/glass_square_yellow.png"
<element type="spinner4" state="neutral" common="y" image="glass_square_yellow.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner5" state="neutral" image="common/glass_square_pink.png"
<element type="spinner5" state="neutral" common="y" image="glass_square_pink.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- This one is a bit special. Only area(s) LEFT and/or RIGHT will be rendered. They will be overlaid
on top of the spinner's background -->
<element type="spinner" state="down" image="peach/glassspinner_down.png"
<element type="spinner" state="down" image="glassspinner_down.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- For checkboxes, no splitting into 9 areas is done; the image is just stretched -->
<element type="checkbox" state="neutral+unchecked" image="peach/glasscheckbox.png"/>
<element type="checkbox" state="neutral+checked" image="peach/glasscheckbox_checked.png"/>
<element type="checkbox" state="focused+unchecked" image="peach/glasscheckbox_focus.png"/>
<element type="checkbox" state="focused+checked" image="peach/glasscheckbox_checked_focus.png"/>
<element type="checkbox" state="deactivated+unchecked" image="common/glasscheckbox_deactivated.png"/>
<element type="checkbox" state="deactivated+checked" image="common/glasscheckbox_checked_deactivated.png"/>
<element type="checkbox" state="neutral+unchecked" image="glasscheckbox.png"/>
<element type="checkbox" state="neutral+checked" image="glasscheckbox_checked.png"/>
<element type="checkbox" state="focused+unchecked" image="glasscheckbox_focus.png"/>
<element type="checkbox" state="focused+checked" image="glasscheckbox_checked_focus.png"/>
<element type="checkbox" state="deactivated+unchecked" common="y" image="glasscheckbox_deactivated.png"/>
<element type="checkbox" state="deactivated+checked" common="y" image="glasscheckbox_checked_deactivated.png"/>
<!-- are always in neutral state for now. No splitting into 9 areas is done; the image is just stretched.
Note: the body of a guage is the same as for for spinners. -->
<element type="gaugefill" image="peach/glasssgauge_fill.png" />
<element type="gaugefill" image="glasssgauge_fill.png" />
<!-- Lists are always in neutral state for now -->
<element type="list" image="common/glass_section.png"
<element type="list" common="y" image="glass_section.png"
left_border="15" right_border="15" top_border="7" bottom_border="7"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="listitem" state="focused" image="peach/select.png"
<element type="listitem" state="focused" image="select.png"
left_border="0" right_border="0" top_border="0" bottom_border="0"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
@@ -227,46 +227,46 @@ when the border that intersect at this corner are enabled.
The buttons are the top and bottom arrows. Image must be top arrow, will
be mirrorred for bottom. Buttons can be in neutral or down state.
Advanced stretching is only used for the background and thumb. -->
<element type="scrollbar_background" image="common/scrollbar_bg.png"
<element type="scrollbar_background" common="y" image="scrollbar_bg.png"
left_border="7" right_border="7" top_border="7" bottom_border="7"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="scrollbar_thumb" image="peach/scrollbar_thumb.png"
<element type="scrollbar_thumb" image="scrollbar_thumb.png"
left_border="7" right_border="7" top_border="7" bottom_border="7"
hborder_out_portion="-1.0" vborder_out_portion="-1.0" />
<element type="scrollbar_button" image="common/scrollbar_btn.png" />
<element type="scrollbar_button" state="down" image="peach/scrollbar_btn_down.png" />
<element type="scrollbar_button" common="y" image="scrollbar_btn.png" />
<element type="scrollbar_button" state="down" image="scrollbar_btn_down.png" />
<element type="left_arrow" state="neutral" image="common/left_arrow.png" />
<element type="right_arrow" state="neutral" image="common/right_arrow.png" />
<element type="left_arrow" state="focus" image="peach/left_arrow_focus.png" />
<element type="right_arrow" state="focus" image="peach/right_arrow_focus.png" />
<element type="left_arrow" state="neutral" common="y" image="left_arrow.png" />
<element type="right_arrow" state="neutral" common="y" image="right_arrow.png" />
<element type="left_arrow" state="focus" image="left_arrow_focus.png" />
<element type="right_arrow" state="focus" image="right_arrow_focus.png" />
<element type="list_header" state="neutral" image="common/table_header.png" />
<element type="list_sort_up" state="neutral" image="common/list_sort_up.png" />
<element type="list_sort_down" state="neutral" image="common/list_sort_down.png" />
<element type="list_header" state="down" image="peach/table_header_down.png" />
<element type="list_header" state="neutral" common="y" image="table_header.png" />
<element type="list_sort_up" state="neutral" common="y" image="list_sort_up.png" />
<element type="list_sort_down" state="neutral" common="y" image="list_sort_down.png" />
<element type="list_header" state="down" image="table_header_down.png" />
<!-- Stateless -->
<element type="section" image="common/glass_section.png"
<element type="section" common="y" image="glass_section.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="section" state="selected" image="peach/glassbutton_focused.png"
<element type="section" state="selected" image="glassbutton_focused.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<!-- Stateless -->
<element type="rounded_section" image="common/glass_rsection.png"
<element type="rounded_section" common="y" image="glass_rsection.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<!-- Stateless -->
<element type="window" image="common/dialog.png"
<element type="window" common="y" image="dialog.png"
left_border="7" right_border="7" top_border="50" bottom_border="50"
hborder_out_portion="1.0" vborder_out_portion="0.2" />
<!-- Stateless -->
<element type="tooltip" image="common/tooltip.png"
<element type="tooltip" common="y" image="tooltip.png"
left_border="10" right_border="10" top_border="10" bottom_border="10"
hborder_out_portion="1.0" vborder_out_portion="1.0" />
@@ -301,7 +301,7 @@ when the border that intersect at this corner are enabled.
<color type="text_field" state="deactivated" a="255" r="138" g="138" b="138" />
<!-- Rating star image -->
<element type="rating" state="neutral" image="common/rating_star.png" />
<element type="rating" state="neutral" common="y" image="rating_star.png" />
<!-- Font color -->
<color type="font" state="top" a="255" r="255" g="128" b="0" />

View File

@@ -68,159 +68,159 @@ when the border that intersect at this corner are enabled.
<skin name="Ruby" author="Benau">
<!-- Stateless -->
<element type="background" image="common/background.jpg" />
<element type="background" common="y" image="background.jpg" />
<element type="bottom-bar" image="common/bottom_bar.png" />
<element type="bottom-bar" common="y" image="bottom_bar.png" />
<element type="achievement-message" image="ruby/achievement.png"
<element type="achievement-message" image="achievement.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0.3" vborder_out_portion="0"/>
<element type="friend-message" image="ruby/friend.png"
<element type="friend-message" image="friend.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="error-message" image="ruby/error.png"
<element type="error-message" image="error.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="generic-message" image="ruby/generic.png"
<element type="generic-message" image="generic.png"
left_border="128" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="neutral" image="ruby/glassbutton.png"
<element type="button" state="neutral" image="glassbutton.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="focused" image="ruby/glassbutton_focused.png"
<element type="button" state="focused" image="glassbutton_focused.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<element type="button" state="deactivated" image="common/glassbutton_deactivated.png"
<element type="button" state="deactivated" common="y" image="glassbutton_deactivated.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
preserve_h_aspect_ratios="true" hborder_out_portion="0" vborder_out_portion="0"/>
<!-- TODO : buttons could support 'pressed' state -->
<element type="textbubble" state="neutral" image="ruby/textbubble.png"
<element type="textbubble" state="neutral" image="textbubble.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
hborder_out_portion="0.7" vborder_out_portion="0.3" />
<element type="textbubble" state="focused" image="ruby/textbubble2.png"
<element type="textbubble" state="focused" image="textbubble2.png"
left_border="13" right_border="13" top_border="13" bottom_border="13"
hborder_out_portion="0.7" vborder_out_portion="0.3" />
<element type="progress" state="fill" image="ruby/glasssgauge_fill.png"
<element type="progress" state="fill" image="glasssgauge_fill.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
preserve_h_aspect_ratios="false" />
<element type="progress" state="neutral" image="common/progress_bg.png"
<element type="progress" state="neutral" common="y" image="progress_bg.png"
left_border="31" right_border="31" top_border="15" bottom_border="15"
preserve_h_aspect_ratios="true" />
<element type="tab" state="neutral" image="ruby/glasstab.png"
<element type="tab" state="neutral" image="glasstab.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="tab" state="focused" image="ruby/glasstab_focus.png"
<element type="tab" state="focused" image="glasstab_focus.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="tab" state="down" image="ruby/glasstab_down.png"
<element type="tab" state="down" image="glasstab_down.png"
left_border="75" right_border="75" top_border="0" bottom_border="15"
hborder_out_portion="0.2" />
<element type="verticalTab" state="neutral" image="ruby/glasstab_vert.png"
<element type="verticalTab" state="neutral" image="glasstab_vert.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<element type="verticalTab" state="focused" image="ruby/glasstab_vert_focus.png"
<element type="verticalTab" state="focused" image="glasstab_vert_focus.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<element type="verticalTab" state="down" image="ruby/glasstab_vert_down.png"
<element type="verticalTab" state="down" image="glasstab_vert_down.png"
left_border="75" right_border="75" top_border="10" bottom_border="10"
hborder_out_portion="0.2" />
<!-- Stateless -->
<element type="squareFocusHaloBW" image="common/glass_square_focused_bw.png"
<element type="squareFocusHaloBW" common="y" image="glass_square_focused_bw.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo1" image="common/glass_square_focused_pink.png"
<element type="squareFocusHalo1" common="y" image="glass_square_focused_pink.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo2" image="common/glass_square_focused_cyan.png"
<element type="squareFocusHalo2" common="y" image="glass_square_focused_cyan.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo3" image="common/glass_square_focused_green.png"
<element type="squareFocusHalo3" common="y" image="glass_square_focused_green.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo4" image="common/glass_square_focused_yellow.png"
<element type="squareFocusHalo4" common="y" image="glass_square_focused_yellow.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<element type="squareFocusHalo5" image="common/glass_square_focused_red.png"
<element type="squareFocusHalo5" common="y" image="glass_square_focused_red.png"
left_border="6" right_border ="6" top_border="6" bottom_border="6"
hborder_out_portion="1.0" />
<!-- Stateless. No splitting into 9 areas is done; the image is just resized. -->
<element type="selectionHalo" image="ruby/bubble.png" />
<element type="focusHalo" image="ruby/glass_iconhighlight_focus.png" />
<element type="selectionHalo" image="bubble.png" />
<element type="focusHalo" image="glass_iconhighlight_focus.png" />
<element type="spinner" state="neutral" image="common/glassspinner.png"
<element type="spinner" state="neutral" common="y" image="glassspinner.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner" state="focused" image="ruby/glassspinner_focus.png"
<element type="spinner" state="focused" image="glassspinner_focus.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner" state="deactivated" image="common/glassspinner_deactivated.png"
<element type="spinner" state="deactivated" common="y" image="glassspinner_deactivated.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- player name spinner color in multiplayer-->
<element type="spinner1" state="neutral" image="common/glass_square_pink.png"
<element type="spinner1" state="neutral" common="y" image="glass_square_pink.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner2" state="neutral" image="common/glass_square_cyan.png"
<element type="spinner2" state="neutral" common="y" image="glass_square_cyan.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner3" state="neutral" image="common/glass_square_green.png"
<element type="spinner3" state="neutral" common="y" image="glass_square_green.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner4" state="neutral" image="common/glass_square_yellow.png"
<element type="spinner4" state="neutral" common="y" image="glass_square_yellow.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<element type="spinner5" state="neutral" image="common/glass_square_red.png"
<element type="spinner5" state="neutral" common="y" image="glass_square_red.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- This one is a bit special. Only area(s) LEFT and/or RIGHT will be rendered. They will be overlaid
on top of the spinner's background -->
<element type="spinner" state="down" image="ruby/glassspinner_down.png"
<element type="spinner" state="down" image="glassspinner_down.png"
left_border="110" right_border="110" top_border="0" bottom_border="36"
preserve_h_aspect_ratios="true" hborder_out_portion="0.0" />
<!-- For checkboxes, no splitting into 9 areas is done; the image is just stretched -->
<element type="checkbox" state="neutral+unchecked" image="ruby/glasscheckbox.png"/>
<element type="checkbox" state="neutral+checked" image="ruby/glasscheckbox_checked.png"/>
<element type="checkbox" state="focused+unchecked" image="ruby/glasscheckbox_focus.png"/>
<element type="checkbox" state="focused+checked" image="ruby/glasscheckbox_checked_focus.png"/>
<element type="checkbox" state="deactivated+unchecked" image="common/glasscheckbox_deactivated.png"/>
<element type="checkbox" state="deactivated+checked" image="common/glasscheckbox_checked_deactivated.png"/>
<element type="checkbox" state="neutral+unchecked" image="glasscheckbox.png"/>
<element type="checkbox" state="neutral+checked" image="glasscheckbox_checked.png"/>
<element type="checkbox" state="focused+unchecked" image="glasscheckbox_focus.png"/>
<element type="checkbox" state="focused+checked" image="glasscheckbox_checked_focus.png"/>
<element type="checkbox" state="deactivated+unchecked" common="y" image="glasscheckbox_deactivated.png"/>
<element type="checkbox" state="deactivated+checked" common="y" image="glasscheckbox_checked_deactivated.png"/>
<!-- are always in neutral state for now. No splitting into 9 areas is done; the image is just stretched.
Note: the body of a guage is the same as for for spinners. -->
<element type="gaugefill" image="ruby/glasssgauge_fill.png" />
<element type="gaugefill" image="glasssgauge_fill.png" />
<!-- Lists are always in neutral state for now -->
<element type="list" image="common/glass_section.png"
<element type="list" common="y" image="glass_section.png"
left_border="15" right_border="15" top_border="7" bottom_border="7"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="listitem" state="focused" image="ruby/select.png"
<element type="listitem" state="focused" image="select.png"
left_border="0" right_border="0" top_border="0" bottom_border="0"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
@@ -228,46 +228,46 @@ when the border that intersect at this corner are enabled.
The buttons are the top and bottom arrows. Image must be top arrow, will
be mirrorred for bottom. Buttons can be in neutral or down state.
Advanced stretching is only used for the background and thumb. -->
<element type="scrollbar_background" image="common/scrollbar_bg.png"
<element type="scrollbar_background" common="y" image="scrollbar_bg.png"
left_border="7" right_border="7" top_border="7" bottom_border="7"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="scrollbar_thumb" image="ruby/scrollbar_thumb.png"
<element type="scrollbar_thumb" image="scrollbar_thumb.png"
left_border="7" right_border="7" top_border="7" bottom_border="7"
hborder_out_portion="-1.0" vborder_out_portion="-1.0" />
<element type="scrollbar_button" image="common/scrollbar_btn.png" />
<element type="scrollbar_button" state="down" image="ruby/scrollbar_btn_down.png" />
<element type="scrollbar_button" common="y" image="scrollbar_btn.png" />
<element type="scrollbar_button" state="down" image="scrollbar_btn_down.png" />
<element type="left_arrow" state="neutral" image="common/left_arrow.png" />
<element type="right_arrow" state="neutral" image="common/right_arrow.png" />
<element type="left_arrow" state="focus" image="ruby/left_arrow_focus.png" />
<element type="right_arrow" state="focus" image="ruby/right_arrow_focus.png" />
<element type="left_arrow" state="neutral" common="y" image="left_arrow.png" />
<element type="right_arrow" state="neutral" common="y" image="right_arrow.png" />
<element type="left_arrow" state="focus" image="left_arrow_focus.png" />
<element type="right_arrow" state="focus" image="right_arrow_focus.png" />
<element type="list_header" state="neutral" image="common/table_header.png" />
<element type="list_sort_up" state="neutral" image="common/list_sort_up.png" />
<element type="list_sort_down" state="neutral" image="common/list_sort_down.png" />
<element type="list_header" state="down" image="ruby/table_header_down.png" />
<element type="list_header" state="neutral" common="y" image="table_header.png" />
<element type="list_sort_up" state="neutral" common="y" image="list_sort_up.png" />
<element type="list_sort_down" state="neutral" common="y" image="list_sort_down.png" />
<element type="list_header" state="down" image="table_header_down.png" />
<!-- Stateless -->
<element type="section" image="common/glass_section.png"
<element type="section" common="y" image="glass_section.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<element type="section" state="selected" image="ruby/glassbutton_focused.png"
<element type="section" state="selected" image="glassbutton_focused.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<!-- Stateless -->
<element type="rounded_section" image="common/glass_rsection.png"
<element type="rounded_section" common="y" image="glass_rsection.png"
left_border="15" right_border="15" top_border="15" bottom_border="15"
hborder_out_portion="0.0" vborder_out_portion="0.0" />
<!-- Stateless -->
<element type="window" image="common/dialog.png"
<element type="window" common="y" image="dialog.png"
left_border="7" right_border="7" top_border="50" bottom_border="50"
hborder_out_portion="1.0" vborder_out_portion="0.2" />
<!-- Stateless -->
<element type="tooltip" image="common/tooltip.png"
<element type="tooltip" common="y" image="tooltip.png"
left_border="10" right_border="10" top_border="10" bottom_border="10"
hborder_out_portion="1.0" vborder_out_portion="1.0" />
@@ -302,7 +302,7 @@ when the border that intersect at this corner are enabled.
<color type="text_field" state="deactivated" a="255" r="138" g="138" b="138" />
<!-- Rating star image -->
<element type="rating" state="neutral" image="common/rating_star.png" />
<element type="rating" state="neutral" common="y" image="rating_star.png" />
<!-- Font color -->
<color type="font" state="top" a="255" r="255" g="30" b="200" />

View File

@@ -913,7 +913,7 @@ namespace UserConfigParams
"Last selected track group") );
PARAM_PREFIX StringUserConfigParam m_skin_file
PARAM_DEFAULT( StringUserConfigParam("Peach.stkskin", "skin_file",
PARAM_DEFAULT( StringUserConfigParam("peach", "skin_file",
"Name of the skin to use") );
PARAM_PREFIX IntUserConfigParam m_minimap_display

View File

@@ -61,6 +61,7 @@ namespace SkinConfig
std::string type;
std::string state = "neutral";
std::string image;
bool common_img = false;
int leftborder = 0, rightborder=0, topborder=0, bottomborder=0;
float hborder_out_portion = 0.5f, vborder_out_portion = 1.0f;
bool preserve_h_aspect_ratios = false;
@@ -90,7 +91,7 @@ namespace SkinConfig
node->get("preserve_h_aspect_ratios", &preserve_h_aspect_ratios);
node->get("areas", &areas);
node->get("common", &common_img);
BoxRenderParams new_param;
new_param.m_left_border = leftborder;
@@ -103,7 +104,9 @@ namespace SkinConfig
// call last since it calculates coords considering all other
// parameters
new_param.setTexture( irr_driver->getTexture(FileManager::SKIN, image));
new_param.setTexture(common_img ?
irr_driver->getTexture(FileManager::SKIN, std::string("common/") + image) :
irr_driver->getTexture(m_data_path + image));
if (areas.size() > 0)
{
@@ -318,8 +321,11 @@ X##_yflip.LowerRightCorner.Y = y1;}
Skin::Skin(IGUISkin* fallback_skin)
{
std::string skin_name = file_manager->getAsset(FileManager::SKIN,
UserConfigParams::m_skin_file);
std::string skin_id = UserConfigParams::m_skin_file;
std::string skin_name = skin_id.find("addon_") != std::string::npos ?
file_manager->getAddonsFile(
std::string("skins/") + skin_id.substr(6) + "/stkskin.xml") :
file_manager->getAsset(FileManager::SKIN, skin_id + "/stkskin.xml");
try
{
@@ -330,9 +336,9 @@ Skin::Skin(IGUISkin* fallback_skin)
(void)e; // avoid compiler warning
// couldn't load skin. Try to revert to default
UserConfigParams::m_skin_file.revertToDefaults();
std::string default_skin_id = UserConfigParams::m_skin_file;
skin_name = file_manager->getAsset(FileManager::SKIN,
UserConfigParams::m_skin_file);
default_skin_id + "/stkskin.xml");
SkinConfig::loadFromFile( skin_name );
}

View File

@@ -169,6 +169,17 @@ namespace GUIEngine
*/
irr::core::stringw getStringValue() const;
/**
* \brief retrieve the value of the spinner from id
* \return the value of the spinner from id, in a string form
*/
irr::core::stringw getStringValueFromID(unsigned id) const
{
if (id > m_labels.size())
return L"";
return m_labels[id];
}
/**
* \return the maximum value the spinner can take
*/

View File

@@ -78,17 +78,38 @@ void OptionsScreenUI::loadedFromFile()
m_skins.clear();
skinSelector->clearLabels();
std::set<std::string> skinFiles;
file_manager->listFiles(skinFiles /* out */, file_manager->getAsset(FileManager::SKIN,""),
std::set<std::string> skin_files;
file_manager->listFiles(skin_files /* out */, file_manager->getAsset(FileManager::SKIN,""),
true /* make full path */ );
std::set<std::string> addon_skin_files;
file_manager->listFiles(addon_skin_files /* out */, file_manager->getAddonsFile("skins/"),
true /* make full path */ );
for (std::set<std::string>::iterator it = skinFiles.begin(); it != skinFiles.end(); it++)
{
if(StringUtils::getExtension(*it)=="stkskin")
auto lb = [](const std::set<std::string>& files, bool addon,
std::map<core::stringw, std::string>& result)->void
{
m_skins.push_back( *it );
}
}
for (auto& f : files)
{
std::string stkskin = f + "/stkskin.xml";
if (file_manager->fileExists(stkskin))
{
XMLNode* root = file_manager->createXMLTree(stkskin);
if (!root)
continue;
core::stringw skin_name;
if (root->get("name", &skin_name))
{
std::string skin_id = StringUtils::getBasename(f);
if (addon)
skin_id = std::string("addon_") + skin_id;
result[skin_name] = skin_id;
}
delete root;
}
}
};
lb(skin_files, false, m_skins);
lb(addon_skin_files, true, m_skins);
if (m_skins.size() == 0)
{
@@ -99,12 +120,8 @@ void OptionsScreenUI::loadedFromFile()
}
const int skin_count = (int)m_skins.size();
for (int n=0; n<skin_count; n++)
{
const std::string skinFileName = StringUtils::getBasename(m_skins[n]);
const std::string skinName = StringUtils::removeExtension( skinFileName );
skinSelector->addLabel( core::stringw(skinName.c_str()) );
}
for (auto& p : m_skins)
skinSelector->addLabel(p.first);
skinSelector->m_properties[GUIEngine::PROP_MIN_VALUE] = "0";
skinSelector->m_properties[GUIEngine::PROP_MAX_VALUE] = StringUtils::toString(skin_count-1);
@@ -222,11 +239,13 @@ void OptionsScreenUI::init()
// --- select the right skin in the spinner
bool currSkinFound = false;
const int skinCount = (int) m_skins.size();
std::string user_skin = StringUtils::toLowerCase(UserConfigParams::m_skin_file.c_str());
for (int n=0; n<skinCount; n++)
const std::string& user_skin = UserConfigParams::m_skin_file;
for (int n = 0; n < skinSelector->getMax(); n++)
{
const std::string skinFileName = StringUtils::toLowerCase(StringUtils::getBasename(m_skins[n]));
auto ret = m_skins.find(skinSelector->getStringValueFromID(n));
if (ret == m_skins.end())
continue;
const std::string skinFileName = ret->second;
if (user_skin == skinFileName)
{
@@ -283,7 +302,7 @@ void OptionsScreenUI::eventCallback(Widget* widget, const std::string& name, con
assert( skinSelector != NULL );
const core::stringw selectedSkin = skinSelector->getStringValue();
UserConfigParams::m_skin_file = core::stringc(selectedSkin.c_str()).c_str() + std::string(".stkskin");
UserConfigParams::m_skin_file = m_skins[selectedSkin];
irr_driver->unsetMaxTextureSize();
GUIEngine::reloadSkin();
irr_driver->setMaxTextureSize();

View File

@@ -37,7 +37,7 @@ class OptionsScreenUI : public GUIEngine::Screen, public GUIEngine::ScreenSingle
bool m_inited;
float m_prev_font_size;
std::vector<std::string> m_skins;
std::map<core::stringw, std::string> m_skins;
public:
friend class GUIEngine::ScreenSingleton<OptionsScreenUI>;