Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/gui/ObjectTypes/CButton.cpp
Show All 31 Lines | : IGUIObject(pGUI), | ||||
m_Font(this, "font"), | m_Font(this, "font"), | ||||
m_Sprite(this, "sprite"), | m_Sprite(this, "sprite"), | ||||
m_SpriteOver(this, "sprite_over"), | m_SpriteOver(this, "sprite_over"), | ||||
m_SpritePressed(this, "sprite_pressed"), | m_SpritePressed(this, "sprite_pressed"), | ||||
m_SpriteDisabled(this, "sprite_disabled"), | m_SpriteDisabled(this, "sprite_disabled"), | ||||
m_TextColor(this, "textcolor"), | m_TextColor(this, "textcolor"), | ||||
m_TextColorOver(this, "textcolor_over"), | m_TextColorOver(this, "textcolor_over"), | ||||
m_TextColorPressed(this, "textcolor_pressed"), | m_TextColorPressed(this, "textcolor_pressed"), | ||||
m_TextColorDisabled(this, "textcolor_disabled") | m_TextColorDisabled(this, "textcolor_disabled"), | ||||
m_MouseEventMask(this) | |||||
{ | { | ||||
AddText(); | AddText(); | ||||
} | } | ||||
CButton::~CButton() | CButton::~CButton() | ||||
{ | { | ||||
} | } | ||||
Show All 37 Lines | void CButton::Draw() | ||||
m_pGUI.DrawSprite( | m_pGUI.DrawSprite( | ||||
GetButtonSprite(m_Sprite, m_SpriteOver, m_SpritePressed, m_SpriteDisabled), | GetButtonSprite(m_Sprite, m_SpriteOver, m_SpritePressed, m_SpriteDisabled), | ||||
bz, | bz, | ||||
m_CachedActualSize); | m_CachedActualSize); | ||||
DrawText(0, ChooseColor(), m_TextPos, bz + 0.1f); | DrawText(0, ChooseColor(), m_TextPos, bz + 0.1f); | ||||
} | } | ||||
bool CButton::IsMouseOver() const | |||||
{ | |||||
if (!IGUIObject::IsMouseOver()) | |||||
return false; | |||||
if (!m_MouseEventMask) | |||||
return true; | |||||
return m_MouseEventMask.IsMouseOver(m_pGUI.GetMousePos(), m_CachedActualSize); | |||||
} | |||||
const CGUIColor& CButton::ChooseColor() | const CGUIColor& CButton::ChooseColor() | ||||
{ | { | ||||
if (!m_Enabled) | if (!m_Enabled) | ||||
return *m_TextColorDisabled ? m_TextColorDisabled : m_TextColor; | return *m_TextColorDisabled ? m_TextColorDisabled : m_TextColor; | ||||
if (!m_MouseHovering) | if (!m_MouseHovering) | ||||
return m_TextColor; | return m_TextColor; | ||||
if (m_Pressed) | if (m_Pressed) | ||||
return *m_TextColorPressed ? m_TextColorPressed : m_TextColor; | return *m_TextColorPressed ? m_TextColorPressed : m_TextColor; | ||||
return *m_TextColorOver ? m_TextColorOver : m_TextColor; | return *m_TextColorOver ? m_TextColorOver : m_TextColor; | ||||
} | } |
Wildfire Games · Phabricator