53 data +=
sizeof(
MxS32);
56 data += rectCount *
sizeof(
MxRect32);
71 for (
MxS32 i = 0; i < rectCount; i++) {
[AI] Represents an 8bpp or high color device-independent bitmap (DIB) and provides operations for bit...
MxBITMAPINFO * GetBitmapInfo() const
[AI] Retrieves the pointer to the underlying MxBITMAPINFO struct (header and palette).
virtual MxPalette * CreatePalette()
[AI] Allocates or clones the current palette for the bitmap.
virtual MxResult SetSize(MxS32 p_width, MxS32 p_height, MxPalette *p_palette, MxBool)
[AI] Allocates the bitmap to a specified width and height, attaches a palette, and configures bit dep...
MxU8 * GetImage() const
[AI] Retrieves the pointer to the image pixel data.
MxU32 GetLength()
[AI] Returns the length in bytes of the data payload. [AI]
MxU8 * GetData()
[AI] Returns a pointer to the start of the data payload. [AI]
Implements playback and presentation of Autodesk FLIC (FLC) video streams.
FLIC_HEADER * m_flcHeader
[AI] Internal cached FLIC header for video decoding and playback.
~MxFlcPresenter() override
Cleans up FLIC presenter and associated resources (including FLIC header memory).
void LoadFrame(MxStreamChunk *p_chunk) override
[AI] Decodes a FLIC frame from the stream chunk, applies it to the bitmap, and triggers any palette/r...
void RealizePalette() override
[AI] Realizes the palette for the current frame by creating a palette object (MxPalette) and updating...
void CreateBitmap() override
[AI] Creates a bitmap sized from FLIC header for decoded frame output.
MxFlcPresenter()
Constructs a FLIC presenter and initializes state.
void LoadHeader(MxStreamChunk *p_chunk) override
[AI] Loads FLIC header data from a stream chunk into memory for subsequent decoding.
[AI] Encapsulates a DirectDraw 8-bit (256 color) palette for use with DirectX rendering.
MxDSAction * m_action
[AI] The associated action currently being presented by this presenter.
MxPoint32 m_location
[AI] 2D display location for the presenter.
[AI] Rectangle using 32-bit signed integer coordinates.
[AI] Represents a streamable chunk of data, typically sourced from a media buffer and designed for no...
virtual MxResult RealizePalette(MxPalette *p_palette)
[AI] Applies (realizes) the palette to both MxVideoParam and hardware palette, and updates the displa...
void InvalidateRect(MxRect32 &p_rect)
[AI] Invalidates a rectangular region in the display; marks it for redraw on next tick.
MxBitmap * m_frameBitmap
Bitmap for current video frame. [AI].
#define DECOMP_SIZE_ASSERT(T, S)
void DecodeFLCFrame(LPBITMAPINFOHEADER p_bitmapHeader, BYTE *p_pixelData, FLIC_HEADER *p_flcHeader, FLIC_FRAME *p_flcFrame, BYTE *p_decodedColorMap)
[AI] Decodes a single FLIC (FLI/FLC) animation frame and updates the pixel data and palette.
#define NULL
[AI] Null pointer value (C/C++ semantics).
MxVideoManager * MVideoManager()
[AI] Returns the video manager used for video/cutscene presenter management.
[AI] Structure describing the header of a FLIC animation frame, used to organize frame subchunks and ...
BITMAPINFOHEADER m_bmiHeader
[AI] Standard DIB bitmap header (size 0x28 bytes).