Initial commit

This commit is contained in:
Gericom
2025-11-22 17:21:45 +01:00
commit 5d6f67c612
517 changed files with 63025 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
#pragma once
#include <array>
#include "BottomSheetView.h"
#include "gui/views/Label2DView.h"
#include "IconButton2DView.h"
#include "../viewModels/DisplaySettingsViewModel.h"
class IRomBrowserController;
class MaterialColorScheme;
class IFontRepository;
class DisplaySettingsBottomSheetView : public BottomSheetView
{
public:
DisplaySettingsBottomSheetView(DisplaySettingsViewModel* viewModel,
const MaterialColorScheme* materialColorScheme, const IFontRepository* fontRepository);
void InitVram(const VramContext& vramContext) override;
void Update() override;
void Draw(GraphicsContext& graphicsContext) override;
bool HandleInput(const InputProvider& inputProvider, FocusManager& focusManager) override;
View* MoveFocus(View* currentFocus,
FocusMoveDirection direction, View* source) override;
void SetGraphics(const IconButton2DView::VramToken& iconButtonVramToken);
void Focus(FocusManager& focusManager) override
{
focusManager.Focus(&_layoutOptions[0]);
}
private:
DisplaySettingsViewModel* _viewModel;
Label2DView _titleLabel;
Label2DView _layoutLabel;
Label2DView _sortingLabel;
// LabelView _filtersLabel;
std::array<IconButton2DView, 4> _layoutOptions;
std::array<IconButton2DView, /*3*/2> _sortOptions;
// std::array<IconButton2DView, 5> _filterOptions;
const MaterialColorScheme* _materialColorScheme;
IconButton2DView CreateLayoutOptionIconButton();
IconButton2DView CreateSortOptionIconButton();
// IconButton2DView CreateFilterOptionIconButton();
void UpdateLabels();
u32 LoadIcon(IVramManager& vramManager, const unsigned int* tiles, u32 tilesLength) const;
};