mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-10-30 03:37:52 +00:00
android: Fixed landscape layouts not displaying correctly
This commit is contained in:
parent
61715bd4a2
commit
ab99fff953
3 changed files with 8 additions and 0 deletions
|
@ -42,7 +42,9 @@ enum class LayoutOption : u32 {
|
|||
SeparateWindows,
|
||||
#endif
|
||||
HybridScreen,
|
||||
#ifndef ANDROID // TODO: Implement custom layouts on Android
|
||||
CustomLayout,
|
||||
#endif
|
||||
// Similiar to default, but better for mobile devices in portrait mode. Top screen in clamped to
|
||||
// the top of the frame, and the bottom screen is enlarged to match the top screen.
|
||||
MobilePortrait,
|
||||
|
|
|
@ -228,10 +228,12 @@ void EmuWindow::UpdateCurrentFramebufferLayout(u32 width, u32 height, bool is_po
|
|||
Layout::LargeFrameLayout(width, height, Settings::values.swap_screen.GetValue(),
|
||||
false, 2.25f, Layout::VerticalAlignment::Top);
|
||||
break;
|
||||
#ifndef ANDROID // TODO: Implement custom layouts on Android
|
||||
case Settings::LayoutOption::CustomLayout:
|
||||
layout =
|
||||
Layout::CustomFrameLayout(width, height, Settings::values.swap_screen.GetValue());
|
||||
break;
|
||||
#endif
|
||||
case Settings::LayoutOption::Default:
|
||||
default:
|
||||
layout =
|
||||
|
|
|
@ -696,6 +696,7 @@ void RendererOpenGL::DrawScreens(const Layout::FramebufferLayout& layout, bool f
|
|||
}
|
||||
|
||||
void RendererOpenGL::ApplySecondLayerOpacity() {
|
||||
#ifndef ANDROID // TODO: Implement custom layouts on Android
|
||||
if ((Settings::values.layout_option.GetValue() == Settings::LayoutOption::CustomLayout ||
|
||||
Settings::values.custom_layout) &&
|
||||
Settings::values.custom_second_layer_opacity.GetValue() < 100) {
|
||||
|
@ -705,9 +706,11 @@ void RendererOpenGL::ApplySecondLayerOpacity() {
|
|||
state.blend.dst_rgb_func = GL_ONE_MINUS_CONSTANT_ALPHA;
|
||||
state.blend.color.alpha = Settings::values.custom_second_layer_opacity.GetValue() / 100.0f;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void RendererOpenGL::ResetSecondLayerOpacity() {
|
||||
#ifndef ANDROID // TODO: Implement custom layouts on Android
|
||||
if ((Settings::values.layout_option.GetValue() == Settings::LayoutOption::CustomLayout ||
|
||||
Settings::values.custom_layout) &&
|
||||
Settings::values.custom_second_layer_opacity.GetValue() < 100) {
|
||||
|
@ -717,6 +720,7 @@ void RendererOpenGL::ResetSecondLayerOpacity() {
|
|||
state.blend.dst_a_func = GL_ZERO;
|
||||
state.blend.color.alpha = 0.0f;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void RendererOpenGL::DrawTopScreen(const Layout::FramebufferLayout& layout,
|
||||
|
|
Loading…
Reference in a new issue