diff options
author | notaz | 2014-12-25 16:27:00 +0200 |
---|---|---|
committer | notaz | 2014-12-25 16:27:00 +0200 |
commit | 5f6c916de711a94c90e3d58d0014e7ec6ab77abc (patch) | |
tree | 5623cab9b39059f31716011b34e45ce66b4530de | |
parent | 35d3fd2efb47352edf794255da3e4745f6bd0a0d (diff) | |
download | pcsx_rearmed-5f6c916de711a94c90e3d58d0014e7ec6ab77abc.tar.gz pcsx_rearmed-5f6c916de711a94c90e3d58d0014e7ec6ab77abc.tar.bz2 pcsx_rearmed-5f6c916de711a94c90e3d58d0014e7ec6ab77abc.zip |
frontend: fix broken cropping
-rw-r--r-- | frontend/plat_omap.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/frontend/plat_omap.c b/frontend/plat_omap.c index f397cc6..4e3ea79 100644 --- a/frontend/plat_omap.c +++ b/frontend/plat_omap.c @@ -94,20 +94,25 @@ void plat_omap_gvideo_open(void) vout_fbdev_wait_vsync(layer_fb); } -void *plat_gvideo_set_mode(int *w, int *h, int *bpp) +void *plat_gvideo_set_mode(int *w_in, int *h_in, int *bpp) { int l = 0, r = 0, t = 0, b = 0; + int w = *w_in, h = *h_in; void *buf; if (g_scaler == SCALE_1_1 || g_scaler == SCALE_2_2) { - if (*w > g_menuscreen_w) - l = r = (*w - g_menuscreen_w) / 2; - if (*h > g_menuscreen_h) - t = b = (*h - g_menuscreen_h) / 2; + if (w > g_menuscreen_w) { + l = r = (w - g_menuscreen_w) / 2; + w -= l + r; + } + if (h > g_menuscreen_h) { + t = b = (h - g_menuscreen_h) / 2; + h -= t + b; + } } vout_fbdev_clear(layer_fb); - buf = vout_fbdev_resize(layer_fb, *w, *h, *bpp, + buf = vout_fbdev_resize(layer_fb, w, h, *bpp, l, r, t, b, 3); omap_enable_layer(1); |