Chop game background in mainmenu (#10796)

This commit is contained in:
Lars Müller 2021-09-14 20:46:02 +02:00 committed by GitHub
parent 4feb799b7e
commit 719a12ecac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 1 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 B

After

Width:  |  Height:  |  Size: 160 B

@ -437,9 +437,22 @@ void GUIEngine::drawBackground(video::IVideoDriver *driver)
return; return;
} }
// Chop background image to the smaller screen dimension
v2u32 bg_size = screensize;
v2f32 scale(
(f32) bg_size.X / sourcesize.X,
(f32) bg_size.Y / sourcesize.Y);
if (scale.X < scale.Y)
bg_size.X = (int) (scale.Y * sourcesize.X);
else
bg_size.Y = (int) (scale.X * sourcesize.Y);
v2s32 offset = v2s32(
(s32) screensize.X - (s32) bg_size.X,
(s32) screensize.Y - (s32) bg_size.Y
) / 2;
/* Draw background texture */ /* Draw background texture */
draw2DImageFilterScaled(driver, texture, draw2DImageFilterScaled(driver, texture,
core::rect<s32>(0, 0, screensize.X, screensize.Y), core::rect<s32>(offset.X, offset.Y, bg_size.X + offset.X, bg_size.Y + offset.Y),
core::rect<s32>(0, 0, sourcesize.X, sourcesize.Y), core::rect<s32>(0, 0, sourcesize.X, sourcesize.Y),
NULL, NULL, true); NULL, NULL, true);
} }