mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-11-01 03:57:17 +01:00
Touch controls: Use the full width when the side insets are only for a top corner
On the iPhone Duo's cover screen, the camera sits in a box in the top right corner, which gives a side inset down the whole right edge in portrait. The controls are far below it, so they lose width for nothing. iOS 27.1 reports the box as an occlusion region, and from that we report how far down the side insets are needed (SYSPROP_DISPLAY_SIDE_INSETS_BOTTOM). When that's within the top third, the game screen and the touch layout editor skip the side insets. The rest of the UI, including the FPS counter, still keeps them. The regions can show up after the size and insets have settled, so the insets are now recomputed on every layout, and a screen recreates its views when its layout mode changes, since the touch controls are placed for the bounds they were created in. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
9a6a4361ae
commit
f364f297f1
12 files changed
+77
-6
No files matched your search
@@ -586,6 +586,10 @@ void TouchControlLayoutScreen::onFinish(DialogResult reason) {
|
||||
g_Config.Save("TouchControlLayoutScreen::onFinish");
|
||||
}
|
||||
|
||||
ViewLayoutMode TouchControlLayoutScreen::LayoutMode() const {
|
||||
return TouchControlsLayoutMode();
|
||||
}
|
||||
|
||||
void TouchControlLayoutScreen::OnReset(UI::EventParams &e) {
|
||||
INFO_LOG(Log::G3D, "Resetting touch control layout to default.");
|
||||
|
||||
|
||||
Reference in new issue
Block a user