Add the screen rotation control to the display layout page (to reduce confusion)

This commit is contained in:
Henrik Rydgård
2026-03-14 09:52:35 +01:00
parent 80f8911c88
commit c5e0403ffd
46 changed files with 56 additions and 5 deletions
+11 -5
View File
@@ -34,6 +34,7 @@
#include "Common/Data/Text/I18n.h"
#include "UI/DisplayLayoutScreen.h"
#include "UI/Background.h"
#include "UI/MiscViews.h"
#include "Core/Config.h"
#include "Core/ConfigValues.h"
#include "Core/System.h"
@@ -236,9 +237,9 @@ void DisplayLayoutScreen::CreateViews() {
rightScrollView->SetClickableBackground(true);
root_->Add(rightScrollView);
Choice *back = new Choice(di->T("Back"), ImageID("I_NAVIGATE_BACK"));
Choice *back = rightColumn->Add(new Choice(di->T("Back"), ImageID("I_NAVIGATE_BACK")));
back->OnClick.Handle<UIScreen>(this, &UIScreen::OnBack);
rightColumn->Add(back);
rightColumn->Add(new Spacer(12.0f));
LinearLayout *bottomControls;
if (portrait) {
@@ -274,8 +275,6 @@ void DisplayLayoutScreen::CreateViews() {
rightColumn->Add(new CheckBox(&config.bDisplayIntegerScale, gr->T("Integer scale factor")));
rightColumn->Add(new Spacer(12.0f));
bool supportsInsets = false;
#if PPSSPP_PLATFORM(ANDROID)
supportsInsets = System_GetPropertyInt(SYSPROP_SYSTEMVERSION) >= 28;
@@ -291,6 +290,13 @@ void DisplayLayoutScreen::CreateViews() {
rightColumn->Add(new CheckBox(&config.bIgnoreScreenInsets, gr->T("Ignore camera notch when centering")));
}
if (System_GetPropertyInt(SYSPROP_DEVICE_TYPE) == DEVICE_TYPE_MOBILE) {
rightColumn->Add(new Spacer(12.0f));
AddRotationPicker(screenManager(), rightColumn, true);
}
rightColumn->Add(new ItemHeader(gr->T("PSP display rotation")));
static const char *displayRotation[] = { "Landscape", "Portrait", "Landscape Reversed", "Portrait Reversed" };
auto rotation = new PopupMultiChoice(&config.iInternalScreenRotation, gr->T("Rotation"), displayRotation, 1, ARRAY_SIZE(displayRotation), I18NCat::CONTROLS, screenManager());
rotation->OnChoice.Add([this](UI::EventParams &) {
@@ -302,7 +308,7 @@ void DisplayLayoutScreen::CreateViews() {
});
rotation->SetHideTitle(true);
rightColumn->Add(new ItemHeader(gr->T("Display rotation")));
rightColumn->Add(rotation);
rightColumn->Add(new CheckBox(&config.bRotateControlsWithScreen, gr->T("Rotate controls")))->SetEnabledFunc([&config]() -> bool {
return (!g_Config.bSkipBufferEffects || g_Config.bSoftwareRendering) && config.iInternalScreenRotation != 1;
+1
View File
@@ -729,6 +729,7 @@ Native device resolution = ‎حجم الجهاز الأساسي
Nearest = Nearest
No = No
No buffer = No buffer
PSP display rotation = اتجاه شاشة PSP # AI translated
Reduces artifacts = Reduces artifacts
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Qurğunun doğma çözünürlüyü
Nearest = Ən yaxın
No = Yoxdur
No buffer = Ara yaddaşsız
PSP display rotation = PSP ekran döndərilməsi # AI translated
Reduces artifacts = Artifaktları azaldır
Render all frames = Bütün kadrları işlət
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Разрозненне прылады
Nearest = Бліжэйшы
No = No
No buffer = No buffer
PSP display rotation = Кручэнне экрана PSP # AI translated
Reduces artifacts = памяншае артэфакты
Request 60 Hz = Request 60 Hz
Rotate controls = Паварот кіравання # AI translated
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Резолюция на устройството
Nearest = Най-близко
No = Не
No buffer = Без буфер
PSP display rotation = Преобръщане на дисплея на PSP # AI translated
Reduces artifacts = намалява артефактите
Render all frames = Рендиране на всички кадри
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Resolució nativa del dispositiu
Nearest = Més proper
No = No
No buffer = Sense memòria intermèdia
PSP display rotation = Rotació de pantalla PSP # AI translated
Reduces artifacts = Redueix errors gràfics per escalat
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Původní rozlišení zařízení
Nearest = Nejbližší
No = No
No buffer = No buffer
PSP display rotation = Otáčení displeje PSP # AI translated
Reduces artifacts = Snižuje artefakty
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Standard enheds opløsning
Nearest = Nærmest
No = No
No buffer = No buffer
PSP display rotation = PSP-skærmrotation # AI translated
Reduces artifacts = Reducerer artefakter
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -720,6 +720,7 @@ Native device resolution = Native Auflösung
Nearest = Nächster Nachbar
No = Nein (Vorgabe)
No buffer = Kein Puffer
PSP display rotation = PSP-Display-Rotation # AI translated
Reduces artifacts = Reduziert Artifakte
Render all frames = Alle Einzelbilder rendern
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Native device resolution
Nearest = To paling mandoppi'
No = No
No buffer = No buffer
PSP display rotation = Rotasi layar PSP # AI translated
Reduces artifacts = Reduces artifacts
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -745,6 +745,7 @@ Native device resolution = Native device resolution
Nearest = Nearest
No = No
No buffer = No buffer
PSP display rotation = PSP display rotation
Reduces artifacts = Reduces artifacts
Request 60 Hz = Request 60 Hz
Rotate controls = Rotate controls
+1
View File
@@ -730,6 +730,7 @@ Overlay Information = Información en pantalla
Partial Stretch = Estiramiento parcial
Performance = Rendimiento
Postprocessing shaders = Postprocesamiento de shaders
PSP display rotation = Rotación de pantalla PSP # AI translated
Recreate Activity = Recrear actividad
Reduces artifacts = Reduce artefactos
Render all frames = Renderizar todos los fotogramas
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Resolución nativa del dispositivo
Nearest = Pixelado
No = No
No buffer = No hay búfer
PSP display rotation = Rotación de pantalla PSP # AI translated
Reduces artifacts = Reduce errores gráficos por escalado
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = ‎رزولوشن دستگاه
Nearest = ‎نزدیک ترین
No = No
No buffer = بدون بافر
PSP display rotation = چرخش نمایشگر PSP # AI translated
Reduces artifacts = کاهش باگ گرافیکی
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Laiteen alkuperäinen resoluutio
Nearest = Lähin
No = Ei
No buffer = Ei puskuria
PSP display rotation = PSP-näytön kierto # AI translated
Reduces artifacts = Vähentää häiriöitä
Render all frames = Renderöi kaikki kuvat
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Définition native de l'appareil
Nearest = Le plus proche
No = No
No buffer = 0
PSP display rotation = Rotation de l'affichage PSP # AI translated
Reduces artifacts = Réduit artéfacts
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Resolución nativa do dispositivo
Nearest = Pixelado
No = No
No buffer = No buffer
PSP display rotation = Rotación da pantalla PSP # AI translated
Reduces artifacts = Reduces artifacts
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Χρήση ανάλυσης συσκευής
Nearest = Κοντινότερο
No = No
No buffer = No buffer
PSP display rotation = Περιστροφή οθόνης PSP # AI translated
Reduces artifacts = λιγότερα προβλήματα
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Native device resolution
Nearest = הקרוב ביותר
No = No
No buffer = No buffer
PSP display rotation = סיבוב התצוגה של PSP # AI translated
Reduces artifacts = Reduces artifacts
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Native device resolution
Nearest = רתויב בורקה
No = No
No buffer = No buffer
PSP display rotation = סיבוב התצוגה של PSP # AI translated
Reduces artifacts = Reduces artifacts
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Urođena rezolucija uređaja
Nearest = Najbliže
No = No
No buffer = No buffer
PSP display rotation = Rotacija zaslona PSP # AI translated
Reduces artifacts = Smanjuje artefakte
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Natív készülék felbontás
Nearest = Legközelebbi
No = Nem
No buffer = Nincs puffer
PSP display rotation = PSP kijelző elforgatása # AI translated
Reduces artifacts = Artifacteket csökkenti
Render all frames = Összes képkocka renderelése
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Resolusi asli
Nearest = Terdekat
No = Tidak
No buffer = Tidak ada penyangga
PSP display rotation = Rotasi layar PSP # AI translated
Reduces artifacts = Mengurangi artefak
Render all frames = Render semua frame
Request 60 Hz = Request 60 Hz
+1
View File
@@ -722,6 +722,7 @@ Native device resolution = Risoluzione nativa della periferica
Nearest = Pixel perfect
No = No
No buffer = Niente buffer
PSP display rotation = Rotazione display PSP # AI translated
Reduces artifacts = Riduce gli artefatti
Render all frames = Renderizza tutti i frame
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = 機器のネイティブ解像度
Nearest = Nearest
No = なし
No buffer = バッファなし
PSP display rotation = PSPの画面回転 # AI translated
Reduces artifacts = 生成物を減らす
Render all frames = 全てのフレームをレンダリングする
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Resolusi piranti asal
Nearest = Cedhak
No = No
No buffer = No buffer
PSP display rotation = Rotasi layar PSP # AI translated
Reduces artifacts = Nyuda artefak
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = 기본 장치 해상도
Nearest = 근접 필터링
No = 아니오
No buffer = 버퍼 없음
PSP display rotation = PSP 화면 회전 # AI translated
Reduces artifacts = 인공물 감소
Request 60 Hz = 60 Hz 요청
Rotate controls = 컨트롤 회전 # AI translated
+1
View File
@@ -735,6 +735,7 @@ Native device resolution = Native device resolution
Nearest = Nearest
No = No
No buffer = No buffer
PSP display rotation = Jêra nivîsar PSP # AI translated
Reduces artifacts = Reduces artifacts
Request 60 Hz = Request 60 Hz
Rotate controls = Dibêjê kontrol # AI translated
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = ຄ່າຄວາມລະອຽດດັ້ງເ
Nearest = Nearest
No = No
No buffer = No buffer
PSP display rotation = ບັນດາຊວດ PSP # AI translated
Reduces artifacts = ແກ້ພາບແຈ້ງ
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Įrenginio rezoliucija
Nearest = Arčiausias
No = No
No buffer = No buffer
PSP display rotation = PSP ekrano pasukimas # AI translated
Reduces artifacts = Reduces artifacts
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Native device resolution
Nearest = Terdekat
No = No
No buffer = No buffer
PSP display rotation = Putaran paparan PSP # AI translated
Reduces artifacts = Reduces artifacts
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Apparaatresolutie
Nearest = Naaste buur
No = No
No buffer = No buffer
PSP display rotation = PSP-schermrotatie # AI translated
Reduces artifacts = Minder objecten
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Native device resolution
Nearest = Nermest
No = No
No buffer = No buffer
PSP display rotation = PSP-skjermrotasjon # AI translated
Reduces artifacts = Reduces artifacts
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -725,6 +725,7 @@ Native device resolution = Natywna rozdzielczość urządzenia
Nearest = Najbliższe
No = Nie
No buffer = Bez bufora
PSP display rotation = Obrót wyświetlacza PSP # AI translated
Reduces artifacts = Mniej błędów
Render all frames = Renderuj wszystkie klatki
Request 60 Hz = Request 60 Hz
+1
View File
@@ -745,6 +745,7 @@ Native device resolution = Resolução nativa do dispositivo
Nearest = Mais próximo
No = Não
No buffer = Sem buffer
PSP display rotation = Rotação da tela PSP # AI translated
Reduces artifacts = Reduz artefatos
Request 60 Hz = Requisitar 60 Hz
Rotate controls = Girar controles
+1
View File
@@ -746,6 +746,7 @@ Native device resolution = Resolução nativa do dispositivo
Nearest = Mais próximo
No = Não
No buffer = Sem buffer
PSP display rotation = Rotação do ecrã PSP # AI translated
Reduces artifacts = Reduz artefatos
Request 60 Hz = Solicitar 60 Hz
Rotate controls = Rodar controlos
+1
View File
@@ -722,6 +722,7 @@ Native device resolution = Rezoluție nativă dispozitiv
Nearest = Apropiată
No = No
No buffer = No buffer
PSP display rotation = Rotire ecran PSP # AI translated
Reduces artifacts = Reduce artefacte
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Разрешение устройства
Nearest = Ближайший
No = Нет
No buffer = Нет буфера
PSP display rotation = Вращение экрана PSP # AI translated
Reduces artifacts = Меньше артефактов
Render all frames = Рендерить все кадры
Request 60 Hz = Запрашивать 60 Гц
+1
View File
@@ -722,6 +722,7 @@ Native device resolution = Inbyggd enhetsupplösning
Nearest = Närmast
No = Nej
No buffer = Ingen buffer
PSP display rotation = PSP-skärmsrotation # AI translated
Reduces artifacts = Bättre kvalitet
Render all frames = Rendera alla frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -722,6 +722,7 @@ Native device resolution = Native device resolution
Nearest = Pinakamalapit
No = No
No buffer = No buffer
PSP display rotation = Чархи намоиши PSP # AI translated
Reduces artifacts = Reduces artifacts
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -746,6 +746,7 @@ Overlay Information = การแสดงข้อมูลซ้อนทั
Partial Stretch = แนวตั้งดึงเต็มจอ
Performance = ประสิทธิภาพ
Postprocessing shaders = กระบวนการทำงานปรับเฉดแสงสี
PSP display rotation = การหมุนหน้าจอ PSP # AI translated
Recreate Activity = สร้างกิจกรรมใหม่
Reduces artifacts = ลดขอบภาพสว่าง
Render all frames = เรนเดอร์ทุกเฟรม
+1
View File
@@ -723,6 +723,7 @@ Native device resolution = Yerel aygıt çözünürlüğü
Nearest = En yakın
No = Hayır
No buffer = Arabellek Yok
PSP display rotation = PSP ekran döndürme # AI translated
Reduces artifacts = Sorunları azaltır
Render all frames = Tüm Kareleri İşle
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Роздільна здатність пристро
Nearest = Найближчий
No = Ні
No buffer = Без буфера
PSP display rotation = Поворот екрана PSP # AI translated
Reduces artifacts = зменшує артефакти
Render all frames = Відобразити всі кадри
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = Độ phân giải tự nhiên.
Nearest = Gần nhất
No = No
No buffer = No buffer
PSP display rotation = Xoay màn hình PSP # AI translated
Reduces artifacts = Làm giảm vật thể
Render all frames = Render all frames
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = 原生分辨率
Nearest = 邻近取样 (像素化)
No = 关闭
No buffer = 关闭缓冲
PSP display rotation = PSP显示旋转 # AI translated
Reduces artifacts = 修复光晕效果
Render all frames = 逐一渲染 (不跳帧)
Request 60 Hz = Request 60 Hz
+1
View File
@@ -721,6 +721,7 @@ Native device resolution = 原生裝置解析度
Nearest = 鄰近取樣
No =
No buffer = 無緩衝
PSP display rotation = PSP顯示旋轉 # AI translated
Reduces artifacts = 降低失真
Render all frames = 轉譯所有影格
Request 60 Hz = Request 60 Hz