Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/gui/CButton.cpp
Show All 23 Lines | |||||
CButton::CButton(CGUI& pGUI) | CButton::CButton(CGUI& pGUI) | ||||
: IGUIObject(pGUI), IGUIButtonBehavior(pGUI), IGUITextOwner(pGUI) | : IGUIObject(pGUI), IGUIButtonBehavior(pGUI), IGUITextOwner(pGUI) | ||||
{ | { | ||||
AddSetting<float>("buffer_zone"); | AddSetting<float>("buffer_zone"); | ||||
AddSetting<CGUIString>("caption"); | AddSetting<CGUIString>("caption"); | ||||
AddSetting<i32>("cell_id"); | AddSetting<i32>("cell_id"); | ||||
AddSetting<CStrW>("font"); | AddSetting<CStrW>("font"); | ||||
AddSetting<CStrW>("sound_disabled"); | |||||
AddSetting<CStrW>("sound_enter"); | |||||
AddSetting<CStrW>("sound_leave"); | |||||
AddSetting<CStrW>("sound_pressed"); | |||||
AddSetting<CStrW>("sound_released"); | |||||
AddSetting<CGUISpriteInstance>("sprite"); | AddSetting<CGUISpriteInstance>("sprite"); | ||||
AddSetting<CGUISpriteInstance>("sprite_over"); | AddSetting<CGUISpriteInstance>("sprite_over"); | ||||
AddSetting<CGUISpriteInstance>("sprite_pressed"); | AddSetting<CGUISpriteInstance>("sprite_pressed"); | ||||
AddSetting<CGUISpriteInstance>("sprite_disabled"); | AddSetting<CGUISpriteInstance>("sprite_disabled"); | ||||
AddSetting<EAlign>("text_align"); | AddSetting<EAlign>("text_align"); | ||||
AddSetting<EVAlign>("text_valign"); | AddSetting<EVAlign>("text_valign"); | ||||
AddSetting<CGUIColor>("textcolor"); | AddSetting<CGUIColor>("textcolor"); | ||||
AddSetting<CGUIColor>("textcolor_over"); | AddSetting<CGUIColor>("textcolor_over"); | ||||
▲ Show 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | void CButton::Draw() | ||||
CGUISpriteInstance& sprite_disabled = GetSetting<CGUISpriteInstance>(strSpriteDisabled); | CGUISpriteInstance& sprite_disabled = GetSetting<CGUISpriteInstance>(strSpriteDisabled); | ||||
const i32 cell_id = GetSetting<i32>(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); | ||||
} | } | ||||
const CGUIColor& CButton::ChooseColor() | |||||
{ | |||||
const CGUIColor& color = GetSetting<CGUIColor>("textcolor"); | |||||
if (!GetSetting<bool>("enabled")) | |||||
return GetSetting<CGUIColor>("textcolor_disabled") || color; | |||||
if (!m_MouseHovering) | |||||
return color; | |||||
if (m_Pressed) | |||||
return GetSetting<CGUIColor>("textcolor_pressed") || color; | |||||
return GetSetting<CGUIColor>("textcolor_over") || color; | |||||
} |
Wildfire Games · Phabricator