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

@@ -9,20 +9,13 @@
class IRomBrowserViewFactory;
class RomBrowserView : public View
class RomBrowserView : public ViewContainer
{
public:
RomBrowserView(
SharedPtr<RomBrowserViewModel> viewModel,
const RomBrowserDisplayMode& displayMode,
const IThemeFileIconFactory* themeFileIconFactory,
const IRomBrowserViewFactory* romBrowserViewFactory,
VBlankTextureLoader* vblankTextureLoader);
SHARED_ONLY(RomBrowserView)
public:
void InitVram(const VramContext& vramContext) override;
void Update() override;
void Draw(GraphicsContext& graphicsContext) override;
void VBlank() override;
Rectangle GetBounds() const override
{
@@ -41,11 +34,16 @@ public:
SharedPtr<View> MoveFocus(
const SharedPtr<View>& currentFocus, FocusMoveDirection direction, View* source) override;
bool HandleInput(const InputProvider& inputProvider, FocusManager& focusManager) override;
private:
SharedPtr<RomBrowserViewModel> _viewModel;
SharedPtr<RecyclerViewBase> _fileGridView;
SharedPtr<FileRecyclerAdapter> _fileRecyclerAdapter;
bool _isVertical;
RomBrowserView(
SharedPtr<RomBrowserViewModel> viewModel,
const RomBrowserDisplayMode& displayMode,
const IThemeFileIconFactory* themeFileIconFactory,
const IRomBrowserViewFactory* romBrowserViewFactory,
VBlankTextureLoader* vblankTextureLoader);
};