setDrawBorder(style.getBool(StyleSpec::BORDER, DrawBorder));\r
setUseAlphaChannel(style.getBool(StyleSpec::ALPHA, true));\r
\r
+ const core::position2di buttonCenter(AbsoluteRect.getCenter());\r
+ core::position2d<s32> geom(buttonCenter);\r
if (style.isNotDefault(StyleSpec::BGIMG)) {\r
video::ITexture *texture = style.getTexture(StyleSpec::BGIMG, tsrc);\r
- video::ITexture *hovered_texture = style.getTexture(StyleSpec::BGIMG_HOVERED, tsrc, texture);\r
- video::ITexture *pressed_texture = style.getTexture(StyleSpec::BGIMG_PRESSED, tsrc, texture);\r
-\r
- const core::position2di buttonCenter(AbsoluteRect.getCenter());\r
- core::position2d<s32> geom(buttonCenter);\r
\r
setImage(guiScalingImageButton(\r
Environment->getVideoDriver(), texture, geom.X, geom.Y));\r
+ setScaleImage(true);\r
+ }\r
+ if (style.isNotDefault(StyleSpec::BGIMG_HOVERED)) {\r
+ video::ITexture *hovered_texture = style.getTexture(StyleSpec::BGIMG_HOVERED, tsrc);\r
+\r
setHoveredImage(guiScalingImageButton(\r
Environment->getVideoDriver(), hovered_texture, geom.X, geom.Y));\r
+ setScaleImage(true);\r
+ }\r
+ if (style.isNotDefault(StyleSpec::BGIMG_PRESSED)) {\r
+ video::ITexture *pressed_texture = style.getTexture(StyleSpec::BGIMG_PRESSED, tsrc);\r
+\r
setPressedImage(guiScalingImageButton(\r
Environment->getVideoDriver(), pressed_texture, geom.X, geom.Y));\r
setScaleImage(true);\r
EGUI_BUTTON_IMAGE_STATE imageState = getImageState(isPressed(), m_foreground_images);
video::ITexture *texture = m_foreground_images[(u32)imageState].Texture;
if (texture != nullptr)
+ {
m_image->setImage(texture);
+ }
+
+ m_image->setVisible(texture != nullptr);
return result;
}
video::IVideoDriver *driver = Environment->getVideoDriver();
+ const core::position2di buttonCenter(AbsoluteRect.getCenter());
+ core::position2d<s32> geom(buttonCenter);
if (style.isNotDefault(StyleSpec::FGIMG)) {
video::ITexture *texture = style.getTexture(StyleSpec::FGIMG, tsrc);
- video::ITexture *hovered_texture = style.getTexture(StyleSpec::FGIMG_HOVERED, tsrc, texture);
- video::ITexture *pressed_texture = style.getTexture(StyleSpec::FGIMG_PRESSED, tsrc, texture);
-
- const core::position2di buttonCenter(AbsoluteRect.getCenter());
- core::position2d<s32> geom(buttonCenter);
setForegroundImage(guiScalingImageButton(driver, texture, geom.X, geom.Y));
+ setScaleImage(true);
+ }
+ if (style.isNotDefault(StyleSpec::FGIMG_HOVERED)) {
+ video::ITexture *hovered_texture = style.getTexture(StyleSpec::FGIMG_HOVERED, tsrc);
+
setHoveredForegroundImage(guiScalingImageButton(driver, hovered_texture, geom.X, geom.Y));
+ setScaleImage(true);
+ }
+ if (style.isNotDefault(StyleSpec::FGIMG_PRESSED)) {
+ video::ITexture *pressed_texture = style.getTexture(StyleSpec::FGIMG_PRESSED, tsrc);
+
setPressedForegroundImage(guiScalingImageButton(driver, pressed_texture, geom.X, geom.Y));
setScaleImage(true);
}