Page Menu
Home
Wildfire Games
Search
Configure Global Search
Log In
Files
F5222553
D4004.id17735.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Size
11 KB
Referenced Files
None
Subscribers
None
D4004.id17735.diff
View Options
Index: binaries/data/mods/mod/gui/common/modern/sprites.xml
===================================================================
--- binaries/data/mods/mod/gui/common/modern/sprites.xml
+++ binaries/data/mods/mod/gui/common/modern/sprites.xml
@@ -193,6 +193,17 @@
size = "0 1 100% 100%-1"
/>
</sprite>
+ <sprite name="ModernDarkBoxWhiteBorder">
+ <!-- borders -->
+ <image texture = "global/modern/white-separator.png"
+ real_texture_placement = "0 0 806 1"
+ size = "0 0 100% 1"
+ />
+ <image texture = "global/modern/white-separator.png"
+ real_texture_placement = "0 0 806 1"
+ size = "0 100%-1 100% 100%"
+ />
+ </sprite>
<sprite name="ModernDarkBoxWhiteInvalid">
<!-- borders -->
<image texture = "global/modern/white-separator.png"
@@ -217,14 +228,16 @@
size = "0 1 100% 100%"
/>
</sprite>
- <sprite name = "ModernDarkBoxGoldNoTop">
+ <sprite name = "ModernDarkBox">
+ <image backcolor = "12 12 12 100"
+ size = "0 0 100% 100%-1"
+ />
+ </sprite>
+ <sprite name="ModernDarkBoxBottomGold">
<image texture = "global/modern/gold-separator.png"
real_texture_placement = "0 0 806 1"
size = "0 100%-1 100% 100%"
/>
- <image backcolor = "12 12 12 100"
- size = "0 0 100% 100%-1"
- />
</sprite>
<!--
==========================================
@@ -517,6 +530,18 @@
bordercolor="black"
/>
</sprite>
+ <sprite name="GrayBackground">
+ <image backcolor="darkgray"
+ size="0 0 100% 100%"
+ />
+ </sprite>
+ <sprite name="BlackBorder">
+ <image backcolor="0 0 0 0"
+ size="0 0 100% 100%"
+ border="true"
+ bordercolor="black"
+ />
+ </sprite>
<!--
==========================================
- Misc. -
Index: binaries/data/mods/mod/gui/common/modern/styles.xml
===================================================================
--- binaries/data/mods/mod/gui/common/modern/styles.xml
+++ binaries/data/mods/mod/gui/common/modern/styles.xml
@@ -28,8 +28,10 @@
font="sans-bold-stroke-14"
scrollbar="true"
scrollbar_style="ModernScrollBar"
- sprite="ModernDarkBoxGoldNoTop"
- sprite_selectarea="ModernDarkBoxWhite"
+ sprite="ModernDarkBox"
+ sprite_border="ModernDarkBoxBottomGold"
+ sprite_selectarea="ModernDarkBox"
+ sprite_selectarea_border="ModernDarkBoxWhiteBorder"
textcolor="white"
textcolor_selected="white"
text_align="left"
@@ -40,8 +42,10 @@
font="sans-bold-stroke-14"
scrollbar="true"
scrollbar_style="ModernScrollBar"
- sprite="ModernDarkBoxGoldNoTop"
- sprite_selectarea="ModernDarkBoxWhite"
+ sprite="ModernDarkBox"
+ sprite_border="ModernDarkBoxBottomGold"
+ sprite_selectarea="ModernDarkBox"
+ sprite_selectarea_border="ModernDarkBoxWhiteBorder"
sprite_heading="ModernDarkBoxGoldNoBottom"
sprite_asc="ModernArrowUp"
sprite_desc="ModernArrowDown"
@@ -66,8 +70,10 @@
buffer_zone="8"
dropdown_size="225"
minimum_visible_items="3"
- sprite_list="BlackBorderOnGray"
- sprite_selectarea="ModernDarkBoxWhite"
+ sprite_list="GrayBackground"
+ sprite_list_border="BlackBorder"
+ sprite_selectarea="ModernDarkBox"
+ sprite_selectarea_border="ModernDarkBoxWhiteBorder"
textcolor_selected="white"
textcolor_disabled="140 140 140 255"
scrollbar="true"
Index: binaries/data/mods/mod/gui/gui.rng
===================================================================
--- binaries/data/mods/mod/gui/gui.rng
+++ binaries/data/mods/mod/gui/gui.rng
@@ -369,6 +369,9 @@
<attribute name="sprite_background"/>
</optional>
<optional>
+ <attribute name="sprite_border"/>
+ </optional>
+ <optional>
<attribute name="sprite_desc"/>
</optional>
<optional>
@@ -378,6 +381,9 @@
<attribute name="sprite_list"/>
</optional>
<optional>
+ <attribute name="sprite_list_border"/>
+ </optional>
+ <optional>
<attribute name="sprite2_disabled"/>
</optional>
<optional>
@@ -399,6 +405,9 @@
<attribute name="sprite_selectarea"/>
</optional>
<optional>
+ <attribute name="sprite_selectarea_border"/>
+ </optional>
+ <optional>
<attribute name="square_side">
<data type="decimal"/>
</attribute>
Index: source/gui/ObjectTypes/CDropDown.h
===================================================================
--- source/gui/ObjectTypes/CDropDown.h
+++ source/gui/ObjectTypes/CDropDown.h
@@ -133,6 +133,7 @@
CGUISimpleSetting<CStrW> m_SoundOpened;
CGUISimpleSetting<CGUISpriteInstance> m_SpriteDisabled;
CGUISimpleSetting<CGUISpriteInstance> m_SpriteList;
+ CGUISimpleSetting<CGUISpriteInstance> m_SpriteListBorder;
CGUISimpleSetting<CGUISpriteInstance> m_Sprite2;
CGUISimpleSetting<CGUISpriteInstance> m_Sprite2Over;
CGUISimpleSetting<CGUISpriteInstance> m_Sprite2Pressed;
Index: source/gui/ObjectTypes/CDropDown.cpp
===================================================================
--- source/gui/ObjectTypes/CDropDown.cpp
+++ source/gui/ObjectTypes/CDropDown.cpp
@@ -43,6 +43,7 @@
// Setting "sprite" is registered by CList and used as the background
m_SpriteDisabled(this, "sprite_disabled"),
m_SpriteList(this, "sprite_list"), // Background of the drop down list
+ m_SpriteListBorder(this, "sprite_list_border"), // Border of the drop down list
m_Sprite2(this, "sprite2"), // Button that sits to the right
m_Sprite2Over(this, "sprite2_over"),
m_Sprite2Pressed(this, "sprite2_pressed"),
@@ -466,7 +467,7 @@
if (m_HideScrollBar)
m_ScrollBar.Set(false, false);
- DrawList(m_ElementHighlight, m_SpriteList, m_SpriteSelectArea, m_TextColor);
+ DrawList(m_ElementHighlight, m_SpriteList, m_SpriteListBorder, m_SpriteSelectArea, m_SpriteSelectAreaBorder, m_TextColor);
if (m_HideScrollBar)
m_ScrollBar.Set(old, false);
Index: source/gui/ObjectTypes/CList.h
===================================================================
--- source/gui/ObjectTypes/CList.h
+++ source/gui/ObjectTypes/CList.h
@@ -106,7 +106,8 @@
// Extended drawing interface, this is so that classes built on the this one
// can use other sprite names.
- virtual void DrawList(const int& selected, const CGUISpriteInstance& sprite, const CGUISpriteInstance& sprite_selected, const CGUIColor& textcolor);
+ virtual void DrawList(const int& selected, const CGUISpriteInstance& sprite, const CGUISpriteInstance& sprite_border,
+ const CGUISpriteInstance& sprite_selectarea, const CGUISpriteInstance& sprite_selectarea_border, const CGUIColor& textcolor);
// Get the area of the list. This is so that it can easily be changed, like in CDropDown
// where the area is not equal to m_CachedActualSize.
@@ -134,7 +135,9 @@
CGUISimpleSetting<CStrW> m_SoundDisabled;
CGUISimpleSetting<CStrW> m_SoundSelected;
CGUISimpleSetting<CGUISpriteInstance> m_Sprite;
+ CGUISimpleSetting<CGUISpriteInstance> m_SpriteBorder;
CGUISimpleSetting<CGUISpriteInstance> m_SpriteSelectArea;
+ CGUISimpleSetting<CGUISpriteInstance> m_SpriteSelectAreaBorder;
CGUISimpleSetting<CGUIColor> m_TextColor;
CGUISimpleSetting<CGUIColor> m_TextColorSelected;
CGUISimpleSetting<i32> m_Selected;
Index: source/gui/ObjectTypes/CList.cpp
===================================================================
--- source/gui/ObjectTypes/CList.cpp
+++ source/gui/ObjectTypes/CList.cpp
@@ -46,8 +46,10 @@
m_SoundDisabled(this, "sound_disabled"),
m_SoundSelected(this, "sound_selected"),
m_Sprite(this, "sprite"),
+ m_SpriteBorder(this, "sprite_border"),
// Add sprite_disabled! TODO
m_SpriteSelectArea(this, "sprite_selectarea"),
+ m_SpriteSelectAreaBorder(this, "sprite_selectarea_border"),
m_TextColor(this, "textcolor"),
m_TextColorSelected(this, "textcolor_selected"),
m_Selected(this, "selected", -1), // Index selected. -1 is none.
@@ -299,10 +301,11 @@
void CList::Draw()
{
- DrawList(m_Selected, m_Sprite, m_SpriteSelectArea, m_TextColor);
+ DrawList(m_Selected, m_Sprite, m_SpriteBorder, m_SpriteSelectArea, m_SpriteSelectAreaBorder, m_TextColor);
}
-void CList::DrawList(const int& selected, const CGUISpriteInstance& sprite, const CGUISpriteInstance& sprite_selectarea, const CGUIColor& textcolor)
+void CList::DrawList(const int& selected, const CGUISpriteInstance& sprite, const CGUISpriteInstance& sprite_border,
+ const CGUISpriteInstance& sprite_selectarea, const CGUISpriteInstance& sprite_selectarea_border, const CGUIColor& textcolor)
{
float bz = GetBufferedZ();
@@ -315,11 +318,13 @@
if (m_ScrollBar)
scroll = GetScrollBar(0).GetPos();
+ bool drawSelected = false;
+ CRect rect_sel;
if (selected >= 0 && selected+1 < (int)m_ItemsYPositions.size())
{
// Get rectangle of selection:
- CRect rect_sel(rect.left, rect.top + m_ItemsYPositions[selected] - scroll,
- rect.right, rect.top + m_ItemsYPositions[selected+1] - scroll);
+ rect_sel = CRect(rect.left, rect.top + m_ItemsYPositions[selected] - scroll,
+ rect.right, rect.top + m_ItemsYPositions[selected+1] - scroll);
if (rect_sel.top <= rect.bottom &&
rect_sel.bottom >= rect.top)
@@ -342,6 +347,7 @@
}
m_pGUI.DrawSprite(sprite_selectarea, bz + 0.05f, rect_sel);
+ drawSelected = true;
}
}
@@ -367,6 +373,10 @@
DrawText(i, textcolor, rect.TopLeft() - CVector2D(0.f, scroll - m_ItemsYPositions[i]), bz + 0.1f, cliparea);
}
+ // Draw the borders last
+ m_pGUI.DrawSprite(sprite_border, bz, rect);
+ if (drawSelected)
+ m_pGUI.DrawSprite(sprite_selectarea_border, bz + 0.05f, rect_sel);
}
if (m_ScrollBar)
Index: source/gui/ObjectTypes/COList.h
===================================================================
--- source/gui/ObjectTypes/COList.h
+++ source/gui/ObjectTypes/COList.h
@@ -67,7 +67,8 @@
virtual bool HandleAdditionalChildren(const XMBData& xmb, const XMBElement& child);
virtual void AdditionalChildrenHandled();
- void DrawList(const int& selected, const CGUISpriteInstance& sprite, const CGUISpriteInstance& sprite_selected, const CGUIColor& textcolor);
+ void DrawList(const int& selected, const CGUISpriteInstance& sprite, const CGUISpriteInstance& sprite_border,
+ const CGUISpriteInstance& sprite_selectarea, const CGUISpriteInstance& sprite_selectarea_border, const CGUIColor& textcolor);
virtual CRect GetListRect() const;
Index: source/gui/ObjectTypes/COList.cpp
===================================================================
--- source/gui/ObjectTypes/COList.cpp
+++ source/gui/ObjectTypes/COList.cpp
@@ -280,7 +280,8 @@
SetupText();
}
-void COList::DrawList(const int& selected, const CGUISpriteInstance& sprite, const CGUISpriteInstance& sprite_selected, const CGUIColor& textcolor)
+void COList::DrawList(const int& selected, const CGUISpriteInstance& sprite, const CGUISpriteInstance& sprite_border,
+ const CGUISpriteInstance& sprite_selectarea, const CGUISpriteInstance& sprite_selectarea_border, const CGUIColor& textcolor)
{
const float bz = GetBufferedZ();
@@ -295,14 +296,16 @@
if (m_ScrollBar)
scroll = GetScrollBar(0).GetPos();
+ bool drawSelected = false;
+ CRect rect_sel;
// Draw item selection
if (selected != -1)
{
ENSURE(selected >= 0 && selected+1 < (int)m_ItemsYPositions.size());
// Get rectangle of selection:
- CRect rect_sel(rect.left, rect.top + m_ItemsYPositions[selected] - scroll,
- rect.right, rect.top + m_ItemsYPositions[selected+1] - scroll);
+ rect_sel = CRect(rect.left, rect.top + m_ItemsYPositions[selected] - scroll,
+ rect.right, rect.top + m_ItemsYPositions[selected+1] - scroll);
if (rect_sel.top <= rect.bottom &&
rect_sel.bottom >= rect.top)
@@ -325,7 +328,8 @@
}
// Draw item selection
- m_pGUI.DrawSprite(sprite_selected, bz + 0.05f, rect_sel);
+ m_pGUI.DrawSprite(sprite_selectarea, bz + 0.05f, rect_sel);
+ drawSelected = true;
}
}
@@ -428,4 +432,8 @@
xpos += width;
}
}
+ // Draw the borders last
+ m_pGUI.DrawSprite(sprite_border, bz, rect);
+ if (drawSelected)
+ m_pGUI.DrawSprite(sprite_selectarea_border, bz + 0.05f, rect_sel);
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Sep 25, 9:12 PM (21 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3378183
Default Alt Text
D4004.id17735.diff (11 KB)
Attached To
Mode
D4004: CList, COList, CDropdown, CText, CInput: Draw borders above the rest and improve scrollbar drawing order
Attached
Detach File
Event Timeline
Log In to Comment