Added new roundedbox widget
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@5982 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
209d9582a8
commit
40d3d2e5de
@ -1,8 +1,8 @@
|
||||
<stkgui>
|
||||
<div x="2%" y="5%" width="100%" height="95%" layout="vertical-row" id="div">
|
||||
<placeholder id="result-table" width="96%" proportion="1">
|
||||
<!-- Contents is added programatically -->
|
||||
</placeholder>
|
||||
<roundedbox id="result-table" width="90%" proportion="1" align="center">
|
||||
<!-- Contents is added programatically -->
|
||||
</roundedbox>
|
||||
<spacer height="10" width="96%"/>
|
||||
<!-- The actual button texts will vary depending on what type of race
|
||||
was being run, and if something was unlocked etc. So we don't
|
||||
|
@ -175,7 +175,12 @@ when the border that intersect at this corner are enabled.
|
||||
<element type="section" image="glass/glass_section.png"
|
||||
left_border="15" right_border="15" top_border="15" bottom_border="15"
|
||||
hborder_out_portion="1.0" vborder_out_portion="0.2" />
|
||||
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="rounded_section" image="glass/glass_rsection.png"
|
||||
left_border="15" right_border="15" top_border="15" bottom_border="15"
|
||||
hborder_out_portion="1.0" vborder_out_portion="0.2" />
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="window" image="glass/dialog.png"
|
||||
left_border="7" right_border="7" top_border="50" bottom_border="50"
|
||||
|
@ -175,7 +175,12 @@ when the border that intersect at this corner are enabled.
|
||||
<element type="section" image="ocean/glass_section.png"
|
||||
left_border="15" right_border="15" top_border="15" bottom_border="15"
|
||||
hborder_out_portion="1.0" vborder_out_portion="0.2" />
|
||||
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="rounded_section" image="glass/glass_rsection.png"
|
||||
left_border="15" right_border="15" top_border="15" bottom_border="15"
|
||||
hborder_out_portion="1.0" vborder_out_portion="0.2" />
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="window" image="ocean/dialog.png"
|
||||
left_border="7" right_border="7" top_border="50" bottom_border="50"
|
||||
|
@ -175,7 +175,12 @@ when the border that intersect at this corner are enabled.
|
||||
<element type="section" image="peach/glass_section.png"
|
||||
left_border="15" right_border="15" top_border="15" bottom_border="15"
|
||||
hborder_out_portion="1.0" vborder_out_portion="0.2" />
|
||||
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="rounded_section" image="glass/glass_rsection.png"
|
||||
left_border="15" right_border="15" top_border="15" bottom_border="15"
|
||||
hborder_out_portion="1.0" vborder_out_portion="0.2" />
|
||||
|
||||
<!-- Stateless -->
|
||||
<element type="window" image="peach/dialog.png"
|
||||
left_border="7" right_border="7" top_border="50" bottom_border="50"
|
||||
|
BIN
data/gui/skins/glass/glass_rsection.png
Normal file
BIN
data/gui/skins/glass/glass_rsection.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
BIN
data/gui/skins/ocean/glass_rsection.png
Normal file
BIN
data/gui/skins/ocean/glass_rsection.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
BIN
data/gui/skins/peach/glass_rsection.png
Normal file
BIN
data/gui/skins/peach/glass_rsection.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
@ -72,6 +72,13 @@ void Screen::parseScreenFileDiv(irr::io::IrrXMLReader* xml, ptr_vector<Widget>&
|
||||
w->m_show_bounding_box = true;
|
||||
append_to.push_back(w);
|
||||
}
|
||||
else if (!strcmp("roundedbox", xml->getNodeName()))
|
||||
{
|
||||
Widget* w = new Widget(WTYPE_DIV);
|
||||
w->m_show_bounding_box = true;
|
||||
w->m_is_bounding_box_round = true;
|
||||
append_to.push_back(w);
|
||||
}
|
||||
else if (!strcmp("ribbon", xml->getNodeName()))
|
||||
{
|
||||
append_to.push_back(new RibbonWidget());
|
||||
@ -227,6 +234,8 @@ if(prop_name != NULL) widget.m_properties[prop_flag] = prop_name; else widget.m_
|
||||
return;
|
||||
if (!strcmp("placeholder", xml->getNodeName()))
|
||||
return;
|
||||
if (!strcmp("roundedbox", xml->getNodeName()))
|
||||
return;
|
||||
|
||||
// we're done parsing this 'ribbon', return one step back in the recursive call
|
||||
if (!strcmp("ribbon", xml->getNodeName()) ||
|
||||
|
@ -1238,15 +1238,28 @@ void Skin::renderSections(ptr_vector<Widget>* within_vector)
|
||||
{
|
||||
Widget& widget = (*within_vector)[n];
|
||||
|
||||
if(widget.m_type == WTYPE_DIV)
|
||||
if (widget.m_type == WTYPE_DIV)
|
||||
{
|
||||
if(widget.m_show_bounding_box)
|
||||
if (widget.m_show_bounding_box)
|
||||
{
|
||||
core::rect< s32 > rect = core::rect<s32>(widget.m_x,
|
||||
widget.m_y,
|
||||
widget.m_x + widget.m_w,
|
||||
widget.m_y + widget.m_h );
|
||||
drawBoxFromStretchableTexture(&widget, rect, SkinConfig::m_render_params["section::neutral"]);
|
||||
if (widget.m_is_bounding_box_round)
|
||||
{
|
||||
core::rect< s32 > rect = core::rect<s32>(widget.m_x,
|
||||
widget.m_y,
|
||||
widget.m_x + widget.m_w,
|
||||
widget.m_y + widget.m_h );
|
||||
drawBoxFromStretchableTexture(&widget, rect,
|
||||
SkinConfig::m_render_params["rounded_section::neutral"]);
|
||||
}
|
||||
else
|
||||
{
|
||||
core::rect< s32 > rect = core::rect<s32>(widget.m_x,
|
||||
widget.m_y,
|
||||
widget.m_x + widget.m_w,
|
||||
widget.m_y + widget.m_h );
|
||||
drawBoxFromStretchableTexture(&widget, rect,
|
||||
SkinConfig::m_render_params["section::neutral"]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -74,6 +74,7 @@ Widget::Widget(WidgetType type, bool reserve_id)
|
||||
|
||||
m_event_handler = NULL;
|
||||
m_show_bounding_box = false;
|
||||
m_is_bounding_box_round = false;
|
||||
m_parent = NULL;
|
||||
m_reserve_id = reserve_id;
|
||||
m_supports_multiplayer = false;
|
||||
|
@ -262,6 +262,9 @@ namespace GUIEngine
|
||||
/** Whether to show a bounding box around this widget (used for sections) */
|
||||
bool m_show_bounding_box;
|
||||
|
||||
/** Only used if m_show_bounding_box is true */
|
||||
bool m_is_bounding_box_round;
|
||||
|
||||
/** Used in two cases :
|
||||
1) For 'placeholder' divisions; at the time the layout is created, there is nothing to
|
||||
place there yet, but we know there eventually will. So in this case pass 'true' to the
|
||||
|
Loading…
x
Reference in New Issue
Block a user