mirror of
https://github.com/LNH-team/pico-launcher.git
synced 2026-06-02 09:06:54 +02:00
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:
@@ -13,7 +13,7 @@ RomBrowserView::RomBrowserView(
|
||||
: _viewModel(std::move(viewModel)), _isVertical(displayMode.IsVertical())
|
||||
{
|
||||
_fileGridView = displayMode.CreateRecyclerView(romBrowserViewFactory);
|
||||
_fileGridView->SetParent(this);
|
||||
AddChildTail(_fileGridView.GetPointer());
|
||||
_fileRecyclerAdapter = displayMode.CreateRecyclerAdapter(
|
||||
_viewModel.GetPointer(), themeFileIconFactory, romBrowserViewFactory, vblankTextureLoader);
|
||||
}
|
||||
@@ -32,16 +32,6 @@ void RomBrowserView::Update()
|
||||
_viewModel->SetSelectedItem(_fileGridView->GetSelectedItem());
|
||||
}
|
||||
|
||||
void RomBrowserView::Draw(GraphicsContext& graphicsContext)
|
||||
{
|
||||
_fileGridView->Draw(graphicsContext);
|
||||
}
|
||||
|
||||
void RomBrowserView::VBlank()
|
||||
{
|
||||
_fileGridView->VBlank();
|
||||
}
|
||||
|
||||
SharedPtr<View> RomBrowserView::MoveFocus(const SharedPtr<View>& currentFocus, FocusMoveDirection direction, View* source)
|
||||
{
|
||||
if (!currentFocus)
|
||||
@@ -72,24 +62,3 @@ SharedPtr<View> RomBrowserView::MoveFocus(const SharedPtr<View>& currentFocus, F
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool RomBrowserView::HandleInput(const InputProvider& inputProvider, FocusManager& focusManager)
|
||||
{
|
||||
if (inputProvider.Triggered(InputKey::A))
|
||||
{
|
||||
if (focusManager.IsFocusInside(_fileGridView.GetPointer()))
|
||||
{
|
||||
_viewModel->ItemActivated();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if (inputProvider.Triggered(InputKey::Y))
|
||||
{
|
||||
if (focusManager.IsFocusInside(_fileGridView.GetPointer()))
|
||||
{
|
||||
_viewModel->ShowGameInfo();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return View::HandleInput(inputProvider, focusManager);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user