adds colorization to GuiBitmapButtonCtrl

This commit is contained in:
AzaezelX 2021-11-26 20:13:59 -06:00
parent 3c30a905c3
commit d074343b50
2 changed files with 5 additions and 2 deletions

View file

@ -128,7 +128,7 @@ GuiBitmapButtonCtrl::GuiBitmapButtonCtrl()
mUseStates = true; mUseStates = true;
setExtent( 140, 30 ); setExtent( 140, 30 );
mMasked = false; mMasked = false;
mColor = ColorI::WHITE;
INIT_ASSET(Bitmap); INIT_ASSET(Bitmap);
} }
@ -142,6 +142,7 @@ void GuiBitmapButtonCtrl::initPersistFields()
"If useStates is false, this will be the file that renders on the control. Otherwise, this will " "If useStates is false, this will be the file that renders on the control. Otherwise, this will "
"specify the default texture name to which the various state and modifier suffixes are appended " "specify the default texture name to which the various state and modifier suffixes are appended "
"to find the per-state and per-modifier (if enabled) textures."); "to find the per-state and per-modifier (if enabled) textures.");
addField("color", TypeColorI, Offset(mColor, GuiBitmapButtonCtrl), "color mul");
addField( "bitmapMode", TYPEID< BitmapMode >(), Offset( mBitmapMode, GuiBitmapButtonCtrl ), addField( "bitmapMode", TYPEID< BitmapMode >(), Offset( mBitmapMode, GuiBitmapButtonCtrl ),
"Behavior for fitting the bitmap to the control extents.\n" "Behavior for fitting the bitmap to the control extents.\n"
@ -545,7 +546,8 @@ void GuiBitmapButtonCtrl::onRender(Point2I offset, const RectI& updateRect)
void GuiBitmapButtonCtrl::renderButton( GFXTexHandle &texture, const Point2I &offset, const RectI& updateRect ) void GuiBitmapButtonCtrl::renderButton( GFXTexHandle &texture, const Point2I &offset, const RectI& updateRect )
{ {
GFX->getDrawUtil()->clearBitmapModulation(); GFX->getDrawUtil()->clearBitmapModulation();
GFX->getDrawUtil()->setBitmapModulation(mColor);
switch( mBitmapMode ) switch( mBitmapMode )
{ {
case BitmapStretched: case BitmapStretched:

View file

@ -126,6 +126,7 @@ class GuiBitmapButtonCtrl : public GuiButtonCtrl
/// ///
Textures mTextures[ NumModifiers ]; Textures mTextures[ NumModifiers ];
ColorI mColor;
virtual void renderButton( GFXTexHandle &texture, const Point2I& offset, const RectI& updateRect ); virtual void renderButton( GFXTexHandle &texture, const Point2I& offset, const RectI& updateRect );