Commit Graph

51 Commits

Author SHA1 Message Date
Henrik Rydgård 75453632f9 Handle inset adjustements on the C++ side, handle them better in the UI. 2026-03-14 18:13:37 +01:00
Henrik Rydgård 160e2c4f9b Refactor: Call GetLayoutBounds on the screen instead of the context where possible.
This will allow screens to influence the layout bounds in a unified way
2026-03-14 13:07:48 +01:00
Henrik Rydgård 6ad06e00a4 iOS: Close the keyboard on one more event. Makes it easier to get rid of it if it gets stuck. 2026-03-08 13:03:00 +01:00
Henrik Rydgård e80c67df25 Fix check for top screen. Fixes a problem with input focus after game reset.
Reported by Flide, thanks!

However, there's some underlying bug in screen focus tracking, this just works around it by checking for top screen in a more reliable way.
2026-03-01 17:47:46 +01:00
Henrik Rydgård eb234a1563 Finish the split. Greatly simplifies the render code in EmuScreen. 2026-02-08 10:46:16 +01:00
Henrik Rydgård 0453fb5449 Move PopupScreen base class into PopupScreens.cpp/h 2025-11-10 10:26:38 +01:00
Henrik Rydgård 67010ff2af Split the display layout config between landscape and portrait orientations 2025-11-05 12:49:51 +01:00
Henrik Rydgård e2e4ceb525 Fix UI alignment problem on pause screen 2025-11-04 11:06:06 +01:00
Henrik Rydgård 42a44e4243 Improve inset handling 2025-10-28 14:54:28 +01:00
Henrik Rydgård acf273a55a Rename "vertical layout" to "portrait layout", to avoid confusion 2025-10-23 16:11:54 +02:00
Henrik Rydgård 58456ae950 Remove the UI::EventReturn return values. Makes editing the UI nicer. 2025-09-15 11:09:00 -06:00
Henrik Rydgård 8dba3a50f7 imgui: Code cleanup, fix clean shutdown 2024-11-05 11:27:16 +01:00
Henrik Rydgård 455e28da6c Rename Point to Point2D to avoid a cocoa name clash 2024-05-29 18:52:39 +02:00
Henrik Rydgård 835aa02a28 Add basic soft-keyboard support on iOS
This uses the old UIKeyInput which is a bit limited language-wise, however, it's enough
to log into RetroAchievements and change your nickname, at least, and it was the easiest to implement.

So, this solves 90% of the problems caused by missing keyboard support, at least.
2024-05-20 19:08:35 +02:00
Henrik Rydgård c5791764d8 Make the i18n T function use std::string_view
Buildfixes, crashfixes

One more

Android buildfix

Buildfix Qt
2024-02-12 18:44:39 +01:00
Henrik Rydgård e8f70594a4 Implement running the game in the background on the pause screen. Fix some bugs. 2023-12-11 12:41:44 +01:00
Henrik Rydgård ae1009c92b Warning fix 2023-12-11 02:10:08 +01:00
Henrik Rydgård 6d51fbc1e6 Refactor UI background rendering. There's now a BackgroundScreen. 2023-12-10 22:26:46 +01:00
Henrik Rydgård 0ff0ad9140 Remove preRender/postRender methods from screens, in favor of a mode parameter. 2023-12-10 14:09:55 +01:00
Henrik Rydgård 22295a6412 Plumb through a ScreenRenderMode parameter 2023-12-10 13:05:17 +01:00
Henrik Rydgård 19e4de5088 Change global UI messages to use an enum instead of strings.
Makes it easier to add new ones and delete outdated ones without missing
any uses.
2023-09-30 11:37:02 +02:00
Henrik Rydgård ee93e4a2ca Batch axis events all the way into ControlMapper 2023-09-29 11:14:19 +02:00
Henrik Rydgård 12460d1b8c Avoid double-processing of input event caused by the overlay screen.
Fixes #18070
2023-09-05 16:43:45 +02:00
Henrik Rydgård 109205a56a Add return value to UnsyncTouch 2023-09-04 11:00:06 +02:00
Henrik Rydgård fc3f7da3af TouchTestScreen: Have 8 entries logged instead of 2. 2023-07-06 11:48:25 +02:00
Henrik Rydgård 3715b1ffa1 Split the functions up, so you don't have to care about the Unsync ones at all in most cases while still getting synced behavior. 2023-05-26 18:41:13 +02:00
Henrik Rydgård cca613e785 Initial work on queueing up UI events for processing. Key events excepted for now. 2023-05-26 18:41:13 +02:00
Henrik Rydgård 311a1a0fe2 Fix glitch when mapping analog inputs, caused by multiple TriggerFinish caused by stray analog axis events.
ADd some guards all over the place against the same thing.
2023-05-06 15:33:28 +02:00
Henrik Rydgård 4f20852953 cleanup 2023-01-31 20:38:09 +01:00
Henrik Rydgård b97749d623 Assorted initialization cleanup and similar, found by valgrind and warnings 2023-01-30 18:31:49 +01:00
Henrik Rydgård c27689910e Break out ScrollView from ViewGroup.h, and PopupScreens from UIScreen.h 2023-01-11 10:56:31 +01:00
Henrik Rydgård 9547deb0c6 Simplify away some theme parameters. Make popups look better 2023-01-10 16:00:17 +01:00
Henrik Rydgård 07114c6aaf Remove return value from axis functions in API 2023-01-10 10:12:37 +01:00
Henrik Rydgård a3a949f5e6 Remove touch() return values from screen hierarchy 2023-01-10 10:12:37 +01:00
Unknown W. Brackets f44852bb18 Global: Cleanup virtual/override specifiers.
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Henrik Rydgård 4ec1e2a175 Some minor initialization fixes, and one potential crash found by static analysis 2022-12-10 11:28:19 +01:00
Henrik Rydgård e59b734b27 Fix case where we could write off the end of a buffer if texture width == 1 and 4-bit color. 2022-12-09 23:47:39 +01:00
Henrik Rydgård 7ff0030772 Added vertical layout for display layout screen 2022-12-08 16:04:20 +01:00
Henrik Rydgård a83a3f9d5d Declutter using a context menu, which I had to create from scratch. 2022-12-07 10:27:02 +01:00
Henrik Rydgård 39b627c0c1 Fix layout issues, misc cleanup and comments 2022-12-07 10:27:02 +01:00
Henrik Rydgård 262a306b9a Flag shader blending as broken on Adreno for now. 2022-09-16 19:19:42 +02:00
Henrik Rydgård 9f3851678e Add tags to all our UI screens. Useful to debug UI problems. 2022-09-16 10:14:00 +02:00
iota97 3f505f760c Disable darkening background, also allow to over saturate up to 2 2022-02-18 14:24:46 +01:00
Henrik Rydgård ce2995f952 Add UI Tint/Saturation settings
Does the color tinting in the vertex shader.
2022-02-18 14:23:57 +01:00
Henrik Rydgård d390127cc6 Minor warning fix 2021-10-04 22:46:40 +02:00
Unknown W. Brackets 4c7bbad89d UI: Shrink value for all choice variants. 2021-09-24 08:21:27 -07:00
Unknown W. Brackets d41c8b077a UI: Shrink value display if needed. 2021-09-24 08:09:43 -07:00
Unknown W. Brackets c1fbd4dd57 UI: Measure width of choice with values properly.
Otherwise we don't give it enough width (or potentially height) for the
label and value.
2021-09-24 07:13:56 -07:00
Unknown W. Brackets f7b92ebb29 UI: Try to keep button visible while mapping. 2021-08-28 16:29:27 -07:00
Unknown W. Brackets 3c778f567c UI: Add text description for all views. 2021-02-21 16:38:02 -08:00