forked from Mirrorlandia_minetest/irrlicht
Add getActiveColor functions to IGUIStaticText and IGUIButton
Returns currently used color - depending on state and if override color is set. Note: Not adding this to editbox for now as it's a bit more tricky there (selection changing color, so it has no single color). git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6165 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
parent
bd2b44aa1c
commit
c90238e87f
@ -1,5 +1,6 @@
|
|||||||
--------------------------
|
--------------------------
|
||||||
Changes in 1.9 (not yet released)
|
Changes in 1.9 (not yet released)
|
||||||
|
- Add getActiveColor functions to IGUIStaticText and IGUIButton (get currently used color).
|
||||||
- Add IGUIEnvironment::addToDeletionQueue to allow save removal of gui elements while iterating over them (like the same named function in ISceneManager).
|
- Add IGUIEnvironment::addToDeletionQueue to allow save removal of gui elements while iterating over them (like the same named function in ISceneManager).
|
||||||
- IGUIEnvironment::drawAll has now a parameter to allow disabling automatic resize to screensize. Makes it easier to use partial screens with full alignment support.
|
- IGUIEnvironment::drawAll has now a parameter to allow disabling automatic resize to screensize. Makes it easier to use partial screens with full alignment support.
|
||||||
- No longer try to set WM_QUIT when using an external Window on Win32.
|
- No longer try to set WM_QUIT when using an external Window on Win32.
|
||||||
|
@ -139,6 +139,10 @@ namespace gui
|
|||||||
/** \return: The override color */
|
/** \return: The override color */
|
||||||
virtual video::SColor getOverrideColor(void) const = 0;
|
virtual video::SColor getOverrideColor(void) const = 0;
|
||||||
|
|
||||||
|
//! Gets the currently used text color
|
||||||
|
/** Either a skin-color for the current state or the override color */
|
||||||
|
virtual video::SColor getActiveColor() const = 0;
|
||||||
|
|
||||||
//! Sets if the button text should use the override color or the color in the gui skin.
|
//! Sets if the button text should use the override color or the color in the gui skin.
|
||||||
/** \param enable: If set to true, the override color, which can be set
|
/** \param enable: If set to true, the override color, which can be set
|
||||||
with IGUIStaticText::setOverrideColor is used, otherwise the
|
with IGUIStaticText::setOverrideColor is used, otherwise the
|
||||||
|
@ -51,6 +51,10 @@ namespace gui
|
|||||||
/** \return: The override color */
|
/** \return: The override color */
|
||||||
virtual video::SColor getOverrideColor(void) const = 0;
|
virtual video::SColor getOverrideColor(void) const = 0;
|
||||||
|
|
||||||
|
//! Gets the currently used text color
|
||||||
|
/** Either a skin-color for the current state or the override color */
|
||||||
|
virtual video::SColor getActiveColor() const = 0;
|
||||||
|
|
||||||
//! Sets if the static text should use the override color or the color in the gui skin.
|
//! Sets if the static text should use the override color or the color in the gui skin.
|
||||||
/** \param enable: If set to true, the override color, which can be set
|
/** \param enable: If set to true, the override color, which can be set
|
||||||
with IGUIStaticText::setOverrideColor is used, otherwise the
|
with IGUIStaticText::setOverrideColor is used, otherwise the
|
||||||
|
@ -327,7 +327,7 @@ void CGUIButton::draw()
|
|||||||
|
|
||||||
if (font)
|
if (font)
|
||||||
font->draw(Text.c_str(), rect,
|
font->draw(Text.c_str(), rect,
|
||||||
OverrideColorEnabled ? OverrideColor : skin->getColor(isEnabled() ? EGDC_BUTTON_TEXT : EGDC_GRAY_TEXT),
|
getActiveColor(),
|
||||||
true, true, &AbsoluteClippingRect);
|
true, true, &AbsoluteClippingRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -466,6 +466,16 @@ video::SColor CGUIButton::getOverrideColor() const
|
|||||||
return OverrideColor;
|
return OverrideColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
irr::video::SColor CGUIButton::getActiveColor() const
|
||||||
|
{
|
||||||
|
if ( OverrideColorEnabled )
|
||||||
|
return OverrideColor;
|
||||||
|
IGUISkin* skin = Environment->getSkin();
|
||||||
|
if (skin)
|
||||||
|
return OverrideColorEnabled ? OverrideColor : skin->getColor(isEnabled() ? EGDC_BUTTON_TEXT : EGDC_GRAY_TEXT);
|
||||||
|
return OverrideColor;
|
||||||
|
}
|
||||||
|
|
||||||
void CGUIButton::enableOverrideColor(bool enable)
|
void CGUIButton::enableOverrideColor(bool enable)
|
||||||
{
|
{
|
||||||
OverrideColorEnabled = enable;
|
OverrideColorEnabled = enable;
|
||||||
|
@ -50,6 +50,9 @@ namespace gui
|
|||||||
//! Gets the override color
|
//! Gets the override color
|
||||||
virtual video::SColor getOverrideColor(void) const _IRR_OVERRIDE_;
|
virtual video::SColor getOverrideColor(void) const _IRR_OVERRIDE_;
|
||||||
|
|
||||||
|
//! Gets the currently used text color
|
||||||
|
virtual video::SColor getActiveColor() const _IRR_OVERRIDE_;
|
||||||
|
|
||||||
//! Sets if the button text should use the override color or the color in the gui skin.
|
//! Sets if the button text should use the override color or the color in the gui skin.
|
||||||
virtual void enableOverrideColor(bool enable) _IRR_OVERRIDE_;
|
virtual void enableOverrideColor(bool enable) _IRR_OVERRIDE_;
|
||||||
|
|
||||||
|
@ -99,8 +99,8 @@ void CGUIStaticText::draw()
|
|||||||
font->getDimension(Text.c_str()).Width;
|
font->getDimension(Text.c_str()).Width;
|
||||||
}
|
}
|
||||||
|
|
||||||
font->draw(Text.c_str(), frameRect,
|
font->draw(Text.c_str(), frameRect,
|
||||||
OverrideColorEnabled ? OverrideColor : skin->getColor(isEnabled() ? EGDC_BUTTON_TEXT : EGDC_GRAY_TEXT),
|
getActiveColor(),
|
||||||
HAlign == EGUIA_CENTER, VAlign == EGUIA_CENTER, (RestrainTextInside ? &AbsoluteClippingRect : NULL));
|
HAlign == EGUIA_CENTER, VAlign == EGUIA_CENTER, (RestrainTextInside ? &AbsoluteClippingRect : NULL));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -129,7 +129,7 @@ void CGUIStaticText::draw()
|
|||||||
}
|
}
|
||||||
|
|
||||||
font->draw(BrokenText[i].c_str(), r,
|
font->draw(BrokenText[i].c_str(), r,
|
||||||
OverrideColorEnabled ? OverrideColor : skin->getColor(isEnabled() ? EGDC_BUTTON_TEXT : EGDC_GRAY_TEXT),
|
getActiveColor(),
|
||||||
HAlign == EGUIA_CENTER, false, (RestrainTextInside ? &AbsoluteClippingRect : NULL));
|
HAlign == EGUIA_CENTER, false, (RestrainTextInside ? &AbsoluteClippingRect : NULL));
|
||||||
|
|
||||||
r.LowerRightCorner.Y += height;
|
r.LowerRightCorner.Y += height;
|
||||||
@ -254,6 +254,16 @@ video::SColor CGUIStaticText::getOverrideColor() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
irr::video::SColor CGUIStaticText::getActiveColor() const
|
||||||
|
{
|
||||||
|
if ( OverrideColorEnabled )
|
||||||
|
return OverrideColor;
|
||||||
|
IGUISkin* skin = Environment->getSkin();
|
||||||
|
if (skin)
|
||||||
|
return OverrideColorEnabled ? OverrideColor : skin->getColor(isEnabled() ? EGDC_BUTTON_TEXT : EGDC_GRAY_TEXT);
|
||||||
|
return OverrideColor;
|
||||||
|
}
|
||||||
|
|
||||||
//! Sets if the static text should use the override color or the
|
//! Sets if the static text should use the override color or the
|
||||||
//! color in the gui skin.
|
//! color in the gui skin.
|
||||||
void CGUIStaticText::enableOverrideColor(bool enable)
|
void CGUIStaticText::enableOverrideColor(bool enable)
|
||||||
|
@ -66,6 +66,9 @@ namespace gui
|
|||||||
//! Gets the override color
|
//! Gets the override color
|
||||||
virtual video::SColor getOverrideColor() const _IRR_OVERRIDE_;
|
virtual video::SColor getOverrideColor() const _IRR_OVERRIDE_;
|
||||||
|
|
||||||
|
//! Gets the currently used text color
|
||||||
|
virtual video::SColor getActiveColor() const _IRR_OVERRIDE_;
|
||||||
|
|
||||||
//! Sets if the static text should use the override color or the
|
//! Sets if the static text should use the override color or the
|
||||||
//! color in the gui skin.
|
//! color in the gui skin.
|
||||||
virtual void enableOverrideColor(bool enable) _IRR_OVERRIDE_;
|
virtual void enableOverrideColor(bool enable) _IRR_OVERRIDE_;
|
||||||
|
Loading…
Reference in New Issue
Block a user