#pragma once #include "BottomSheetView.h" #include "ChipView.h" #include "gui/FocusManager.h" class IRomBrowserController; class IFontRepository; class NdsGameDetailsBottomSheetView : public BottomSheetView { SHARED_ONLY(NdsGameDetailsBottomSheetView) public: void SetGraphics(const ChipView::VramToken& chipVramToken) { _cheatsChip->SetGraphics(chipVramToken); _favoriteChip->SetGraphics(chipVramToken); } void InitVram(const VramContext& vramContext) override; void Update() override; void Draw(GraphicsContext& graphicsContext) override; void Focus(FocusManager& focusManager) override { focusManager.Focus(_cheatsChip); } SharedPtr MoveFocus(const SharedPtr& currentFocus, FocusMoveDirection direction, View* source) override; bool HandleInput(const InputProvider& inputProvider, FocusManager& focusManager) override; protected: void Close() override; private: IRomBrowserController* _romBrowserController; u32 _smallHeartIconVramOffset; u32 _smallHeartIconFilledVramOffset; SharedPtr _cheatsChip; SharedPtr _favoriteChip; NdsGameDetailsBottomSheetView( IRomBrowserController* romBrowserController, const MaterialColorScheme* materialColorScheme, const IFontRepository* fontRepository); };