Commit graph

25 commits

Author SHA1 Message Date
Henrik Rydgård
c38ce2a5be Fix an issue when bringin up the dev menu with transparent background disabled 2024-05-11 21:28:26 +02:00
Henrik Rydgård
1304d04161 Fix a particular type of race condition in file dialog requests
It seems to be possible for a user to back out of a screen before
receiving the "dialog completed" callback on Android, in which case
things pointed to by the callback might be gone.

In this case, it's better to simply not call the callback, rather than
crashing.

This is accomplished by assigning "Tokens" to screens that cause
requests, and in ~Screen, invalidate any pending requests belonging to
that token.
2024-01-18 12:25:55 +01:00
Henrik Rydgård
79ab67e3b2 Run-behind-pause: Fix some edge cases with the transparent background setting 2023-12-11 17:47:19 +01:00
Henrik Rydgård
25ab7b9170 Fix a bunch of edge cases 2023-12-11 15:58:08 +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
6d51fbc1e6 Refactor UI background rendering. There's now a BackgroundScreen. 2023-12-10 22:26:46 +01:00
Henrik Rydgård
3832b32bbc Add the concept of a background screen 2023-12-10 22:21:48 +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
707670cfcf Fix time tracking during pause 2023-11-26 19:49:21 +01:00
Henrik Rydgård
b1bc6caaf6 Add a screen focus-tracking mechanism 2023-11-26 19:30:37 +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
b3a2b7a35c Batch axis events coming into the ScreenManager 2023-09-29 11:10:32 +02:00
Henrik Rydgård
109205a56a Add return value to UnsyncTouch 2023-09-04 11:00:06 +02:00
Henrik Rydgård
112b624257 Improve the situation with two transparent screens on top of each other 2023-08-02 13:03:08 +02:00
Henrik Rydgård
356cc64eb5 Logging improvements, cleanup 2023-07-06 14:56:52 +02:00
Henrik Rydgård
d6552a7673 Implement an "OverlayScreen" concept. OSD can now render on top of other screens than EmuScreen. 2023-06-20 10:44:47 +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
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
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
ecab31ef8b Keep track of focus position 2021-09-09 17:35:19 +02:00
Unknown W. Brackets
b0de7ee0e1 UI: Move to ScreenManager for mapping.
Otherwise we'll detect repeated axis for some devices and you won't be
able to map what you want.
2021-05-23 15:18:21 -07:00
Henrik Rydgård
4f43cff5ca
Move fileutil, net, image loaders, ui to Common. (#13506)
* Move and rename file_util/fd_util to Common/File/FileUtil and DirListing

Let's also move net while we're at it.

Move the ZIM/PNG loaders over to Common.

Move the UI framework into Common

iOS buildfix

* Buildfix

* Buildfixes

* Apple buildfix

* This typo again..

* UWP buildfix

* Fix build of PPSSPPQt, such as it is (it's not in good condition...)

* Guess what? Another buildfix.
2020-10-04 20:48:47 +02:00
Renamed from ext/native/ui/screen.h (Browse further)