Isle
Loading...
Searching...
No Matches
mxstillpresenter.h
Go to the documentation of this file.
1#ifndef MXSTILLPRESENTER_H
2#define MXSTILLPRESENTER_H
3
4#include "decomp.h"
5#include "mxvideopresenter.h"
6
7// VTABLE: LEGO1 0x100d7a38
8// SIZE 0x6c
9
15public:
19 MxStillPresenter() { m_bitmapInfo = NULL; }
20
24 ~MxStillPresenter() override { Destroy(TRUE); } // vtable+0x00
25
29 void Destroy() override { Destroy(FALSE); } // vtable+0x38
30
35 static const char* HandlerClassName()
36 {
37 // STRING: LEGO1 0x100f0184
38 return "MxStillPresenter";
39 }
40
45 const char* ClassName() const override // vtable+0x0c
46 {
47 return HandlerClassName();
48 }
49
55 MxBool IsA(const char* p_name) const override // vtable+0x10
56 {
57 return !strcmp(p_name, MxStillPresenter::ClassName()) || MxVideoPresenter::IsA(p_name);
58 }
59
63 void StartingTickle() override; // vtable+0x1c
64
68 void StreamingTickle() override; // vtable+0x20
69
73 void RepeatingTickle() override; // vtable+0x24
74
78 void ParseExtra() override; // vtable+0x30
79
84 void Enable(MxBool p_enable) override; // vtable+0x54
85
90 void LoadHeader(MxStreamChunk* p_chunk) override; // vtable+0x5c
91
95 void CreateBitmap() override; // vtable+0x60
96
100 void NextFrame() override; // vtable+0x64
101
106 void LoadFrame(MxStreamChunk* p_chunk) override; // vtable+0x68
107
111 void RealizePalette() override; // vtable+0x70
112
118 virtual void SetPosition(MxS32 p_x, MxS32 p_y); // vtable+0x88
119
124 virtual MxStillPresenter* Clone(); // vtable+0x8c
125
126private:
131 void Destroy(MxBool p_fromDestructor);
132
133 MxLong m_chunkTime;
134 MxBITMAPINFO* m_bitmapInfo;
135};
136
137// SYNTHETIC: LEGO1 0x100436e0
138// MxStillPresenter::`scalar deleting destructor'
139
140#endif // MXSTILLPRESENTER_H
[AI] Presenter for single still image/bitmap media sources in the game.
void CreateBitmap() override
[AI] Allocates and constructs the bitmap from internal bitmap info, importing palette and image layou...
const char * ClassName() const override
[AI] Returns the class name of this presenter type.
MxBool IsA(const char *p_name) const override
[AI] Run-time type check against the provided type name.
void ParseExtra() override
[AI] Parses extra action data for bitmap configuration, such as visibility or image mapping,...
void LoadFrame(MxStreamChunk *p_chunk) override
[AI] Copies frame image data from chunk to presenter's bitmap and prepares for rendering,...
void LoadHeader(MxStreamChunk *p_chunk) override
[AI] Loads header chunk data into the presenter's bitmap info buffer (BITMAPINFO structure).
static const char * HandlerClassName()
[AI] Returns the handler class name string for this Presenter type ("MxStillPresenter").
void StartingTickle() override
[AI] Handles transition to the starting state of the presenter, processing palette realization if nee...
void RepeatingTickle() override
[AI] Repetition tickle logic—handles repeated action/time-based state changes.
virtual MxStillPresenter * Clone()
[AI] Clones the presenter, attempting to fully duplicate internal state and associated memory resourc...
MxStillPresenter()
[AI] Constructs an MxStillPresenter.
void Destroy() override
[AI] Destroys the presenter's resources, optionally called by the destructor for complete cleanup.
void RealizePalette() override
[AI] Realizes/updates the palette in the current video environment using the frame bitmap and notifie...
virtual void SetPosition(MxS32 p_x, MxS32 p_y)
[AI] Sets the pixel-based position of the presented image.
~MxStillPresenter() override
[AI] Destructor—ensures resource cleanup of bitmap information and other associated memory.
void StreamingTickle() override
[AI] Main frame advancing logic, loads the next frame if the elapsed time is appropriate.
void Enable(MxBool p_enable) override
[AI] Sets the enabled/disabled state of the presenter, updating the video manager's rendering as need...
void NextFrame() override
[AI] Loads the next single image frame from the stream and updates the presenter's display state.
[AI] Represents a streamable chunk of data, typically sourced from a media buffer and designed for no...
Definition: mxstreamchunk.h:19
Derived video presenter responsible for displaying video frames using DirectDraw surfaces.
MxBool IsA(const char *p_name) const override
Determines if this object is or derives from a class with the given name.
#define override
Definition: compat.h:21
#define TRUE
Definition: d3drmdef.h:28
#define FALSE
Definition: d3drmdef.h:27
#define NULL
[AI] Null pointer value (C/C++ semantics).
Definition: legotypes.h:26
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
int MxLong
[AI]
Definition: mxtypes.h:83
signed int MxS32
[AI]
Definition: mxtypes.h:38
[AI] Represents a bitmap information header plus a 256-color palette, matching the layout for 8-bit D...
Definition: mxbitmap.h:25