Commit Graph
45 Commits
Author SHA1 Message Date
Herman SemenovandHenrik Rydgård 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årdandGitHub 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årdandGitHub 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