Add touch input support, add fast scrolling support for coverflow display mode, fix use after free bug in banner list mode

This commit is contained in:
Gericom
2026-04-04 19:24:39 +02:00
parent 21a8790ebc
commit 97762b14d3
119 changed files with 2251 additions and 762 deletions

View File

@@ -12,6 +12,7 @@
#include "gui/DescendingStackVramManager.h"
#include "material/scheme/scheme.h"
#include "gui/input/PadInputSource.h"
#include "gui/input/TouchInputSource.h"
#include "gui/input/SampledInputProvider.h"
#include "gui/input/InputRepeater.h"
#include "gui/VBlankTextureLoader.h"
@@ -62,9 +63,9 @@ private:
Rgb6Palette _rgb6Palette;
Animator<int> _fadeAnimator;
TaskQueue<32, 32> _ioTaskQueue;
TaskQueue<32, sizeof(TaskBase) + 32> _ioTaskQueue;
u32 _ioTaskThreadStack[2048 / 4];
TaskQueue<32, 32> _bgTaskQueue;
TaskQueue<32, sizeof(TaskBase) + 32> _bgTaskQueue;
u32 _bgTaskThreadStack[2048 / 4];
std::unique_ptr<ITheme> _theme;
@@ -75,12 +76,13 @@ private:
IBgmService& _bgmService;
volatile bool _exit = false;
PadInputSource _inputSource;
PadInputSource _keyInputSource;
TouchInputSource _touchInputSource;
SampledInputProvider _inputProvider;
InputRepeater _inputRepeater;
std::unique_ptr<RomBrowserBottomScreenView> _romBrowserBottomScreenView;
std::unique_ptr<RomBrowserTopScreenView> _romBrowserTopScreenView;
SharedPtr<RomBrowserBottomScreenView> _romBrowserBottomScreenView;
SharedPtr<RomBrowserTopScreenView> _romBrowserTopScreenView;
RomBrowserController _romBrowserController;
@@ -103,10 +105,13 @@ private:
bool _vcountIrqStarted = false;
Point _lastTouchPoint = Point(0, 0);
void InitVramMapping() const;
void DisplaySplashScreen() const;
void LoadTheme();
void VCountIrq();
void HandleInput();
void HandleTrigger(RomBrowserStateTrigger trigger, RomBrowserState newState);
void HandleShowGameInfoTrigger();
void HandleHideGameInfoTrigger();