Files
pico-launcher/arm9/source/gui/VBlankTextureLoadRequest.h
2025-11-25 17:41:31 +01:00

38 lines
1.3 KiB
C++

#pragma once
#include "core/LinkedListLink.h"
#include "VBlankTextureLoadRequestState.h"
class VBlankTextureLoadRequest
{
friend class VBlankTextureLoader;
public:
typedef void (*CallbackFunc)(const VBlankTextureLoadRequest* request, void* arg);
VBlankTextureLoadRequest() { }
VBlankTextureLoadRequest(const void* textureData, u32 textureDataLength, u32 textureVramOffset,
const void* paletteData, u32 paletteDataLength, u32 paletteVramOffset,
CallbackFunc callbackFunc, void* callbackArg)
: _textureData(textureData), _textureDataLength(textureDataLength), _textureVramOffset(textureVramOffset)
, _paletteData(paletteData), _paletteDataLength(paletteDataLength), _paletteVramOffset(paletteVramOffset)
, _callbackFunc(callbackFunc), _callbackArg(callbackArg) { }
VBlankTextureLoadRequestState GetState() const
{
return _state;
}
private:
VBlankTextureLoadRequestState _state = VBlankTextureLoadRequestState::NotLoaded;
LinkedListLink _listLink;
const void* _textureData = nullptr;
u32 _textureDataLength = 0;
u32 _textureVramOffset = 0;
const void* _paletteData = nullptr;
u32 _paletteDataLength = 0;
u32 _paletteVramOffset = 0;
CallbackFunc _callbackFunc = nullptr;
void* _callbackArg = nullptr;
};