isle-portable/LEGO1/mxstillpresenter.h
Christian Semmler 1485e5df47
Implement/match most of MxStillPresenter (#309)
* Implement/match most of MxStillPresenter

* Fix merge
2023-12-07 13:13:31 +01:00

46 lines
1.7 KiB
C++

#ifndef MXSTILLPRESENTER_H
#define MXSTILLPRESENTER_H
#include "decomp.h"
#include "mxvideopresenter.h"
// VTABLE: LEGO1 0x100d7a38
// SIZE 0x6c
class MxStillPresenter : public MxVideoPresenter {
public:
MxStillPresenter() { m_bitmapInfo = NULL; }
virtual ~MxStillPresenter() override { Destroy(TRUE); }; // vtable+0x00
inline virtual const char* ClassName() const override // vtable+0xc
{
// GLOBAL: LEGO1 0x100f0184
return "MxStillPresenter";
}
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, MxStillPresenter::ClassName()) || MxVideoPresenter::IsA(name);
}
virtual void StartingTickle() override; // vtable+0x1c
virtual void StreamingTickle() override; // vtable+0x20
virtual void RepeatingTickle() override; // vtable+0x24
virtual void ParseExtra() override; // vtable+0x30
virtual void Destroy() override; // vtable+0x38
virtual void Enable(MxBool p_enable) override; // vtable+0x54
virtual void LoadHeader(MxStreamChunk* p_chunk) override; // vtable+0x5c
virtual void CreateBitmap() override; // vtable+0x60
virtual void NextFrame() override; // vtable+0x64
virtual void LoadFrame(MxStreamChunk* p_chunk) override; // vtable+0x68
virtual void RealizePalette() override; // vtable+0x70
virtual void VTable0x88(MxS32 p_x, MxS32 p_y); // vtable+0x88
virtual MxStillPresenter* Clone(); // vtable+0x8c
private:
void Destroy(MxBool p_fromDestructor);
MxLong m_chunkTime; // 0x64
MxBITMAPINFO* m_bitmapInfo; // 0x68
};
#endif // MXSTILLPRESENTER_H