mirror of
https://github.com/LNH-team/pico-launcher.git
synced 2026-06-02 00:56:55 +02:00
Initial commit
This commit is contained in:
54
arm9/source/romBrowser/Theme/Material/MaterialCoverView.h
Normal file
54
arm9/source/romBrowser/Theme/Material/MaterialCoverView.h
Normal file
@@ -0,0 +1,54 @@
|
||||
#pragma once
|
||||
#include <memory>
|
||||
#include "core/SharedPtr.h"
|
||||
#include "gui/views/View.h"
|
||||
#include "romBrowser/FileType/FileCover.h"
|
||||
#include "gui/VBlankTextureLoader.h"
|
||||
|
||||
class MaterialCoverView : public View
|
||||
{
|
||||
public:
|
||||
explicit MaterialCoverView(VBlankTextureLoader* vblankTextureLoader)
|
||||
: _vblankTextureLoader(vblankTextureLoader) { }
|
||||
|
||||
~MaterialCoverView() override
|
||||
{
|
||||
_vblankTextureLoader->CancelLoad(_textureLoadRequest);
|
||||
}
|
||||
|
||||
void InitVram(const VramContext& vramContext) override;
|
||||
|
||||
void Draw(GraphicsContext& graphicsContext) override;
|
||||
|
||||
Rectangle GetBounds() const override
|
||||
{
|
||||
return Rectangle(_position.x - (COVER_WIDTH / 2), _position.y - (COVER_HEIGHT / 2), COVER_WIDTH, COVER_HEIGHT);
|
||||
}
|
||||
|
||||
void SetCover(SharedPtr<FileCover> cover)
|
||||
{
|
||||
if (_cover.IsValid())
|
||||
{
|
||||
_vblankTextureLoader->CancelLoad(_textureLoadRequest);
|
||||
}
|
||||
_cover = std::move(cover);
|
||||
}
|
||||
|
||||
void ClearCover()
|
||||
{
|
||||
if (_cover.IsValid())
|
||||
{
|
||||
_vblankTextureLoader->CancelLoad(_textureLoadRequest);
|
||||
}
|
||||
_cover.Reset();
|
||||
}
|
||||
|
||||
void UploadCoverGraphics();
|
||||
|
||||
private:
|
||||
VBlankTextureLoader* _vblankTextureLoader;
|
||||
SharedPtr<FileCover> _cover;
|
||||
VBlankTextureLoadRequest _textureLoadRequest;
|
||||
u32 _texVramOffset = 0;
|
||||
u32 _plttVramOffset = 0;
|
||||
};
|
||||
Reference in New Issue
Block a user