aboutsummaryrefslogtreecommitdiff
path: root/src/libui_sdl
diff options
context:
space:
mode:
authorStapleButter <thetotalworm@gmail.com>2017-10-30 05:08:04 +0100
committerStapleButter <thetotalworm@gmail.com>2017-10-30 05:08:04 +0100
commitf4e7e2f62a3eb69a988689e5c25bee72bcc3bffb (patch)
treedda09443c88dfff53a5125a77b284ebb15eba33e /src/libui_sdl
parentc9082cd50d448bcdd7999c09fe047be4c1cb2e85 (diff)
fix aspect ratio code
Diffstat (limited to 'src/libui_sdl')
-rw-r--r--src/libui_sdl/main.cpp29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/libui_sdl/main.cpp b/src/libui_sdl/main.cpp
index cea9f41..83b3bdf 100644
--- a/src/libui_sdl/main.cpp
+++ b/src/libui_sdl/main.cpp
@@ -397,28 +397,29 @@ void OnAreaResize(uiAreaHandler* handler, uiArea* area, int width, int height)
// top then bottom
int widthreq;
- int possibleheight;
+ int startY = 0;
if (sizemode == 0) // even
{
widthreq = (height * screenW) / (screenH*2);
+ if (widthreq > width)
+ {
+ int newheight = (width * height) / widthreq;
+ startY = (height - newheight) / 2;
+ widthreq = width;
+ height = newheight;
+ }
}
else // emph. top/bottom
{
widthreq = ((height - screenH) * screenW) / screenH;
- }
-
- int startY;
- if (widthreq > width)
- {
- possibleheight = (width * height) / widthreq;
- startY = (height - possibleheight) / 2;
- widthreq = width;
- }
- else
- {
- possibleheight = height;
- startY = 0;
+ if (widthreq > width)
+ {
+ int newheight = ((width * (height - screenH)) / widthreq) + screenH;
+ startY = (height - newheight) / 2;
+ widthreq = width;
+ height = newheight;
+ }
}
if (sizemode == 2)