mirror of
https://github.com/libretro/RetroArch
synced 2025-03-03 04:14:00 +00:00
On mobile in portrait mode, don't override custom viewport
This commit is contained in:
parent
6506b65ce7
commit
6a1320bcfb
@ -534,6 +534,11 @@ void gl1_gfx_set_viewport(gl1_t *gl1,
|
||||
{
|
||||
delta = (device_aspect / desired_aspect - 1.0f) / 2.0f + 0.5f;
|
||||
y = (int)roundf(viewport_height * (0.5f - delta));
|
||||
#if defined(RARCH_MOBILE)
|
||||
/* In portrait mode, we want viewport to gravitate to top of screen. */
|
||||
if (device_aspect < 1.0f)
|
||||
y *= 2;
|
||||
#endif
|
||||
viewport_height = (unsigned)roundf(2.0f * viewport_height * delta);
|
||||
}
|
||||
}
|
||||
@ -550,12 +555,6 @@ void gl1_gfx_set_viewport(gl1_t *gl1,
|
||||
gl1->vp.height = viewport_height;
|
||||
}
|
||||
|
||||
#if defined(RARCH_MOBILE)
|
||||
/* In portrait mode, we want viewport to gravitate to top of screen. */
|
||||
if (device_aspect < 1.0f)
|
||||
gl1->vp.y *= 2;
|
||||
#endif
|
||||
|
||||
glViewport(gl1->vp.x, gl1->vp.y, gl1->vp.width, gl1->vp.height);
|
||||
gl1_set_projection(gl1, &gl1_default_ortho, allow_rotate);
|
||||
|
||||
|
@ -465,6 +465,11 @@ static void gl2_set_viewport(gl2_t *gl,
|
||||
{
|
||||
delta = (device_aspect / desired_aspect - 1.0f) / 2.0f + 0.5f;
|
||||
y = (int)roundf(viewport_height * (0.5f - delta));
|
||||
#if defined(RARCH_MOBILE)
|
||||
/* In portrait mode, we want viewport to gravitate to top of screen. */
|
||||
if (device_aspect < 1.0f)
|
||||
y *= 2;
|
||||
#endif
|
||||
viewport_height = (unsigned)roundf(2.0f * viewport_height * delta);
|
||||
}
|
||||
}
|
||||
@ -481,12 +486,6 @@ static void gl2_set_viewport(gl2_t *gl,
|
||||
gl->vp.height = viewport_height;
|
||||
}
|
||||
|
||||
#if defined(RARCH_MOBILE)
|
||||
/* In portrait mode, we want viewport to gravitate to top of screen. */
|
||||
if (device_aspect < 1.0f)
|
||||
gl->vp.y *= 2;
|
||||
#endif
|
||||
|
||||
glViewport(gl->vp.x, gl->vp.y, gl->vp.width, gl->vp.height);
|
||||
gl2_set_projection(gl, &default_ortho, allow_rotate);
|
||||
|
||||
|
@ -628,6 +628,11 @@ static void gl3_set_viewport(gl3_t *gl,
|
||||
{
|
||||
delta = (device_aspect / desired_aspect - 1.0f) / 2.0f + 0.5f;
|
||||
y = (int)roundf(viewport_height * (0.5f - delta));
|
||||
#if defined(RARCH_MOBILE)
|
||||
/* In portrait mode, we want viewport to gravitate to top of screen. */
|
||||
if (device_aspect < 1.0f)
|
||||
y *= 2;
|
||||
#endif
|
||||
viewport_height = (unsigned)roundf(2.0f * viewport_height * delta);
|
||||
}
|
||||
}
|
||||
@ -644,12 +649,6 @@ static void gl3_set_viewport(gl3_t *gl,
|
||||
gl->vp.height = viewport_height;
|
||||
}
|
||||
|
||||
#if defined(RARCH_MOBILE)
|
||||
/* In portrait mode, we want viewport to gravitate to top of screen. */
|
||||
if (device_aspect < 1.0f)
|
||||
gl->vp.y *= 2;
|
||||
#endif
|
||||
|
||||
glViewport(gl->vp.x, gl->vp.y, gl->vp.width, gl->vp.height);
|
||||
gl3_set_projection(gl, &gl3_default_ortho, allow_rotate);
|
||||
|
||||
|
@ -1932,6 +1932,12 @@ static void vulkan_set_viewport(void *data, unsigned viewport_width,
|
||||
{
|
||||
delta = (device_aspect / desired_aspect - 1.0f)
|
||||
/ 2.0f + 0.5f;
|
||||
#if defined(RARCH_MOBILE)
|
||||
/* In portrait mode, we want viewport to gravitate to top of screen. */
|
||||
if (device_aspect < 1.0f)
|
||||
y = 0;
|
||||
else
|
||||
#endif
|
||||
y = (int)roundf(viewport_height * (0.5f - delta));
|
||||
viewport_height = (unsigned)roundf(2.0f * viewport_height * delta);
|
||||
}
|
||||
@ -1950,12 +1956,6 @@ static void vulkan_set_viewport(void *data, unsigned viewport_width,
|
||||
vk->vp.height = viewport_height;
|
||||
}
|
||||
|
||||
#if defined(RARCH_MOBILE)
|
||||
/* In portrait mode, we want viewport to gravitate to top of screen. */
|
||||
if (device_aspect < 1.0f)
|
||||
vk->vp.y = 0;
|
||||
#endif
|
||||
|
||||
vulkan_set_projection(vk, &ortho, allow_rotate);
|
||||
|
||||
/* Set last backbuffer viewport. */
|
||||
|
@ -2162,17 +2162,17 @@ void video_driver_update_viewport(
|
||||
vp->width = vp->full_width;
|
||||
delta = (device_aspect / desired_aspect - 1.0f)
|
||||
/ 2.0f + 0.5f;
|
||||
#if defined(RARCH_MOBILE)
|
||||
/* In portrait mode, we want viewport to gravitate to top of screen. */
|
||||
if (device_aspect < 1.0f)
|
||||
vp->y = 0;
|
||||
else
|
||||
#endif
|
||||
vp->y = (int)roundf(vp->full_height * (0.5f - delta));
|
||||
vp->height = (unsigned)roundf(2.0f * vp->full_height * delta);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(RARCH_MOBILE)
|
||||
/* In portrait mode, we want viewport to gravitate to top of screen. */
|
||||
if (device_aspect < 1.0f)
|
||||
vp->y = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
void video_driver_show_mouse(void)
|
||||
|
Loading…
x
Reference in New Issue
Block a user