Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/gui/CButton.cpp
Show First 20 Lines • Show All 54 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
void CButton::SetupText() | void CButton::SetupText() | ||||
{ | { | ||||
ENSURE(m_GeneratedTexts.size() == 1); | ENSURE(m_GeneratedTexts.size() == 1); | ||||
m_GeneratedTexts[0] = CGUIText( | m_GeneratedTexts[0] = CGUIText( | ||||
m_pGUI, | m_pGUI, | ||||
GUI<CGUIString>::GetSetting(this, "caption"), | GetSetting<CGUIString>("caption"), | ||||
GUI<CStrW>::GetSetting(this, "font"), | GetSetting<CStrW>("font"), | ||||
m_CachedActualSize.GetWidth(), | m_CachedActualSize.GetWidth(), | ||||
GUI<float>::GetSetting(this, "buffer_zone"), | GetSetting<float>("buffer_zone"), | ||||
this); | this); | ||||
CalculateTextPosition(m_CachedActualSize, m_TextPos, m_GeneratedTexts[0]); | CalculateTextPosition(m_CachedActualSize, m_TextPos, m_GeneratedTexts[0]); | ||||
} | } | ||||
void CButton::HandleMessage(SGUIMessage& Message) | void CButton::HandleMessage(SGUIMessage& Message) | ||||
{ | { | ||||
// Important | // Important | ||||
IGUIButtonBehavior::HandleMessage(Message); | IGUIButtonBehavior::HandleMessage(Message); | ||||
IGUITextOwner::HandleMessage(Message); | IGUITextOwner::HandleMessage(Message); | ||||
} | } | ||||
void CButton::Draw() | void CButton::Draw() | ||||
{ | { | ||||
const float bz = GetBufferedZ(); | const float bz = GetBufferedZ(); | ||||
// Statically initialise some strings, so we don't have to do | // Statically initialise some strings, so we don't have to do | ||||
// lots of allocation every time this function is called | // lots of allocation every time this function is called | ||||
static const CStr strSprite("sprite"); | static const CStr strSprite("sprite"); | ||||
static const CStr strSpriteOver("sprite_over"); | static const CStr strSpriteOver("sprite_over"); | ||||
static const CStr strSpritePressed("sprite_pressed"); | static const CStr strSpritePressed("sprite_pressed"); | ||||
static const CStr strSpriteDisabled("sprite_disabled"); | static const CStr strSpriteDisabled("sprite_disabled"); | ||||
static const CStr strCellId("cell_id"); | static const CStr strCellId("cell_id"); | ||||
CGUISpriteInstance& sprite = GUI<CGUISpriteInstance>::GetSetting(this, strSprite); | CGUISpriteInstance& sprite = GetSetting<CGUISpriteInstance>(strSprite); | ||||
CGUISpriteInstance& sprite_over = GUI<CGUISpriteInstance>::GetSetting(this, strSpriteOver); | CGUISpriteInstance& sprite_over = GetSetting<CGUISpriteInstance>(strSpriteOver); | ||||
CGUISpriteInstance& sprite_pressed = GUI<CGUISpriteInstance>::GetSetting(this, strSpritePressed); | CGUISpriteInstance& sprite_pressed = GetSetting<CGUISpriteInstance>(strSpritePressed); | ||||
CGUISpriteInstance& sprite_disabled = GUI<CGUISpriteInstance>::GetSetting(this, strSpriteDisabled); | CGUISpriteInstance& sprite_disabled = GetSetting<CGUISpriteInstance>(strSpriteDisabled); | ||||
const int cell_id = GUI<int>::GetSetting(this, strCellId); | const i32 cell_id = GetSetting<i32>(strCellId); | ||||
DrawButton(m_CachedActualSize, bz, sprite, sprite_over, sprite_pressed, sprite_disabled, cell_id); | DrawButton(m_CachedActualSize, bz, sprite, sprite_over, sprite_pressed, sprite_disabled, cell_id); | ||||
DrawText(0, ChooseColor(), m_TextPos, bz + 0.1f); | DrawText(0, ChooseColor(), m_TextPos, bz + 0.1f); | ||||
} | } |
Wildfire Games · Phabricator