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
aeefa4a45a
Better variable naming (foundBackgroundScreen)
2023-12-28 10:45:33 +01:00
Herman Semenov
315340fc62
Using const reference for C++17 range-based loop and freq used objects
2023-12-13 17:33:01 +01:00
Henrik Rydgård
76c7540173
First part of UI texture loading refactor
2023-12-12 22:13:15 +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
600fb7cc22
Minor cleanups
2023-12-10 12:37:35 +01:00
Henrik Rydgård
36a2174ac0
Vulkan: Add indicator of swizzle mode to texture debug names
2023-12-07 10:35:04 +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
211c23e004
Remove the axis event filtering from Screen.cpp again. See #18368
2023-11-16 09:20:40 +01:00
Henrik Rydgård
0fb318c8e9
Revert "Control: Remove the axis event dupe filtering from ScreenManager"
...
This reverts commit 265a9021fd
.
2023-10-18 22:48:23 +02:00
Unknown W. Brackets
847a87f164
UI: Fix crash on input with no screens.
2023-09-30 15:31:00 -07: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
1a5d5452fe
Batch axis events to the VR code
2023-09-29 11:10:32 +02:00
Henrik Rydgård
b3be6db3ae
Remove (probably) unnecessary special case for axis value = 0.
2023-09-29 11:10:32 +02:00
Henrik Rydgård
265a9021fd
Control: Remove the axis event dupe filtering from ScreenManager
...
It's better to have the event sources pre-filter, and most of them now
do that.
2023-09-29 11:10:32 +02:00
Henrik Rydgård
546f9d7743
Some cleanups and fixes to obscure crashes
2023-09-24 13:05:25 +02:00
Henrik Rydgård
5547fe2107
Add missing mutex lock in ScreenManager::RecreateAllViews
2023-09-11 00:31:59 +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
cd78097e74
Allow dismissing notifications by touching/clicking them.
...
Fixes #18040
Might do something more elegant in the future.
2023-09-04 10:01:07 +02:00
Henrik Rydgård
797f88bf31
Fix ordering problem with screenshots that was causing crashes.
...
Fixes #17781
2023-08-23 19:03:33 +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
26e097923d
Fix issue with analog stick menu navigation caused by processing UI events twice per frame
2023-07-06 16:34:18 +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
300a64a86d
IconCache: Remove texture objects quite quickly after it stops getting used.
...
They can be recreated pretty quickly as needed.
2023-06-18 15:24:56 +02:00
Henrik Rydgård
2bee5b64e4
Add new icon cache, for caching small images.
...
It doesn't try to insert or fetch missing things itself, re-fetching is up to the caller.
This will be required for handling the many achievement icons.
Saving/loading the cache to a single file on disk is implemented but not
hooked up yet. It works without it, though of course will have to
re-fetch things on the next startup.
2023-06-18 14:11:12 +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
8b431b39ba
Wrap the display globals in a struct ( #16998 )
...
* Wrap the display globals in a struct
Makes it easier to search/replace these, for future refactorings.
* Some renaming
* Qt buildfix, also fix the Qt build on Mac (got broken with battery changes)
* Attempt at buildfixing ios
* UWP buildfix
2023-02-25 13:09:44 +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
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
iota97
c94e9ad73c
Support ScrollView for focus position
2021-09-10 02:06:51 +02:00
iota97
ecab31ef8b
Keep track of focus position
2021-09-09 17:35:19 +02:00
Henrik Rydgård
3be1ff6ce4
Get the new setup flow going, with a confirmation dialog etc.
...
Moving the folder while already installed still crashes.
2021-08-04 23:22:43 +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