aboutsummaryrefslogtreecommitdiff
path: root/src/gui/guiBackgroundImage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/guiBackgroundImage.cpp')
-rw-r--r--src/gui/guiBackgroundImage.cpp16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/gui/guiBackgroundImage.cpp b/src/gui/guiBackgroundImage.cpp
index 85e870771..8d0d1c010 100644
--- a/src/gui/guiBackgroundImage.cpp
+++ b/src/gui/guiBackgroundImage.cpp
@@ -48,21 +48,15 @@ void GUIBackgroundImage::draw()
video::IVideoDriver *driver = Environment->getVideoDriver();
+ core::rect<s32> srcrect(core::position2d<s32>(0, 0),
+ core::dimension2di(texture->getOriginalSize()));
+
if (m_middle.getArea() == 0) {
const video::SColor color(255, 255, 255, 255);
const video::SColor colors[] = {color, color, color, color};
- draw2DImageFilterScaled(driver, texture, rect,
- core::rect<s32>(core::position2d<s32>(0, 0),
- core::dimension2di(texture->getOriginalSize())),
- nullptr, colors, true);
+ draw2DImageFilterScaled(driver, texture, rect, srcrect, nullptr, colors, true);
} else {
- core::rect<s32> middle = m_middle;
- // `-x` is interpreted as `w - x`
- if (middle.LowerRightCorner.X < 0)
- middle.LowerRightCorner.X += texture->getOriginalSize().Width;
- if (middle.LowerRightCorner.Y < 0)
- middle.LowerRightCorner.Y += texture->getOriginalSize().Height;
- draw2DImage9Slice(driver, texture, rect, middle);
+ draw2DImage9Slice(driver, texture, rect, srcrect, m_middle);
}
IGUIElement::draw();