adds bitmap coloration to: guibitmapctrl, guibitmapbarctrl, guianimbitmapctrl (and guicrosshairhud by way of inheritance)

This commit is contained in:
Azaezel 2016-07-06 02:15:46 -05:00
parent b012ffff17
commit f8368cd7e9
4 changed files with 8 additions and 2 deletions

View file

@ -269,6 +269,7 @@ void guiAnimBitmapCtrl::onRender(Point2I offset, const RectI &updateRect)
}
GFX->getDrawUtil()->clearBitmapModulation();
GFX->getDrawUtil()->setBitmapModulation(mColor);
GFXTextureObject* texture = mTextureObject;

View file

@ -58,6 +58,7 @@ void GuiBitmapBarCtrl::onRender(Point2I offset, const RectI &updateRect)
if (mTextureObject)
{
GFX->getDrawUtil()->clearBitmapModulation();
GFX->getDrawUtil()->setBitmapModulation(mColor);
F32 pct = (mPercent / 100.0);
GFXTextureObject* texture = mTextureObject;
Point2I modifiedSRC;

View file

@ -56,7 +56,8 @@ ConsoleDocClass( GuiBitmapCtrl,
GuiBitmapCtrl::GuiBitmapCtrl(void)
: mBitmapName(),
mStartPoint( 0, 0 ),
mWrap( false )
mWrap( false ),
mColor(ColorI::WHITE)
{
}
@ -78,7 +79,8 @@ void GuiBitmapCtrl::initPersistFields()
addProtectedField( "bitmap", TypeImageFilename, Offset( mBitmapName, GuiBitmapCtrl ),
&setBitmapName, &defaultProtectedGetFn,
"The bitmap file to display in the control." );
"The bitmap file to display in the control.");
addField("color", TypeColorI, Offset(mColor, GuiBitmapCtrl),"color mul");
addField( "wrap", TypeBool, Offset( mWrap, GuiBitmapCtrl ),
"If true, the bitmap is tiled inside the control rather than stretched to fit." );
@ -169,6 +171,7 @@ void GuiBitmapCtrl::onRender(Point2I offset, const RectI &updateRect)
if (mTextureObject)
{
GFX->getDrawUtil()->clearBitmapModulation();
GFX->getDrawUtil()->setBitmapModulation(mColor);
if(mWrap)
{
// We manually draw each repeat because non power of two textures will

View file

@ -44,6 +44,7 @@ class GuiBitmapCtrl : public GuiControl
GFXTexHandle mTextureObject;
Point2I mStartPoint;
ColorI mColor;
/// If true, bitmap tiles inside control. Otherwise stretches.
bool mWrap;