Isle
Loading...
Searching...
No Matches
MxVideoPresenter Class Reference

Derived video presenter responsible for displaying video frames using DirectDraw surfaces. More...

#include <mxvideopresenter.h>

Inheritance diagram for MxVideoPresenter:
Collaboration diagram for MxVideoPresenter:

Classes

class  AlphaMask
 Opaque mask used for efficient hit testing against video transparency. More...
 

Public Member Functions

 MxVideoPresenter ()
 Constructs a new MxVideoPresenter and initializes internal state. More...
 
virtual void LoadHeader (MxStreamChunk *p_chunk)
 Loads and processes header information from a video stream chunk. More...
 
virtual void CreateBitmap ()
 Allocates and sets up the display bitmap for video frame data. More...
 
virtual void NextFrame ()
 Advances video playback to the next frame, handling decoding and playback progression. More...
 
virtual void LoadFrame (MxStreamChunk *p_chunk)
 Loads and processes frame data from a video stream chunk. More...
 
virtual void PutFrame ()
 Presents the current frame using the chosen output mechanism (e.g., blitting to screen). More...
 
virtual void RealizePalette ()
 Loads or establishes the palette for display from the current video format or media. More...
 
virtual undefined VTable0x74 ()
 Unknown/potentially format-specific method (VTable0x74). More...
 
 ~MxVideoPresenter () override
 Destroys the MxVideoPresenter, releasing owned resources and unregistering from the manager. More...
 
void Destroy () override
 Destroys internal resources for the presenter. More...
 
virtual LPDIRECTDRAWSURFACE VTable0x78 ()
 Retrieves the DirectDraw surface used for hardware-accelerated rendering. More...
 
virtual MxBool VTable0x7c ()
 Checks if this presenter has either a video frame bitmap or alpha mask available. More...
 
virtual MxS32 GetWidth ()
 Returns the width of the current bitmap or alpha mask in pixels. More...
 
virtual MxS32 GetHeight ()
 Returns the height of the current bitmap or alpha mask in pixels. More...
 
const char * ClassName () const override
 Returns the run-time class name of this presenter instance. More...
 
MxBool IsA (const char *p_name) const override
 Determines if this object is or derives from a class with the given name. More...
 
void ReadyTickle () override
 Advance logic for the "ready" tickle state. More...
 
void StartingTickle () override
 Advance logic for the "starting" tickle state (frame setup). More...
 
void StreamingTickle () override
 Advance logic for the "streaming" tickle state (typical video playback). More...
 
void RepeatingTickle () override
 Advance logic for the "repeating" tickle state (media looping). More...
 
void FreezingTickle () override
 Advance logic for the "freezing" tickle state (sustain after playback). More...
 
MxResult AddToManager () override
 Adds this presenter to the global video manager. More...
 
void EndAction () override
 Signals the end of the current playback action. More...
 
MxResult PutData () override
 Writes the frame to the display device if appropriate. More...
 
MxBool IsHit (MxS32 p_x, MxS32 p_y) override
 Determines if a point is inside the non-transparent region of frame/alpha. More...
 
MxS32 PrepareRects (RECT &p_rectDest, RECT &p_rectSrc)
 Utility function to adjust source/dest rectangles to stay within allowed bounds. More...
 
MxBitmapGetBitmap ()
 Returns the frame bitmap currently used for this presenter. More...
 
AlphaMaskGetAlphaMask ()
 Returns this presenter's alpha mask for hit testing. More...
 
MxU8GetBitmapStart (MxS32 p_left, MxS32 p_top)
 Provides a pointer to the start of frame bitmap data at a given coordinate. More...
 
void SetBit0 (BOOL p_e)
 Sets internal miscellaneous state flags. More...
 
void SetBit1 (BOOL p_e)
 
void SetBit2 (BOOL p_e)
 
void SetBit3 (BOOL p_e)
 
void SetBit4 (BOOL p_e)
 
BYTE GetBit0 ()
 Gets internal miscellaneous state flags (bits 0-4). More...
 
BYTE GetBit1 ()
 
BYTE GetBit2 ()
 
BYTE GetBit3 ()
 
BYTE GetBit4 ()
 
- Public Member Functions inherited from MxMediaPresenter
 MxMediaPresenter ()
 [AI] Constructs the presenter, initializing all member variables. More...
 
 ~MxMediaPresenter () override
 [AI] Destructor; cleans up and optionally destroys all internal resources as well as the MxDSSubscriber and chunk list/cursor. More...
 
void Destroy () override
 [AI] Cleans up internal resources and resets the presenter to an uninitialized state. More...
 
MxResult Tickle () override
 [AI] Advances the presenter's state and media stream, if any, by tickling (i.e., updating) components. More...
 
const char * ClassName () const override
 [AI] Returns the class name for this presenter (see HandlerClassName()). More...
 
MxBool IsA (const char *p_name) const override
 [AI] Returns TRUE if the provided class name matches this class or any of its parents. More...
 
void StreamingTickle () override
 [AI] Per-frame update when streaming the media stream. More...
 
void RepeatingTickle () override
 [AI] Per-frame update while looping/repeating over known chunks. More...
 
void DoneTickle () override
 [AI] Per-frame update for the "done" state; transitions this presenter to idle and ends the action. More...
 
MxResult StartAction (MxStreamController *, MxDSAction *) override
 [AI] Begins a new media playback action, wiring up the stream and chunk lists as needed. More...
 
void EndAction () override
 [AI] Ends the media playback action, releasing all resources, notifying listeners if necessary. More...
 
void Enable (MxBool p_enable) override
 [AI] Enables or disables media stream playback and transitions state as needed. More...
 
virtual void LoopChunk (MxStreamChunk *p_chunk)
 [AI] Adds a chunk to the looping chunk list, making it available for repeated playback. More...
 
MxStreamChunkCurrentChunk ()
 [AI] Returns a pointer to the current data chunk at the head of the stream, without consuming it. More...
 
MxStreamChunkNextChunk ()
 [AI] Returns the next data chunk in the stream, removing it from the stream queue. More...
 
- Public Member Functions inherited from MxPresenter
 MxPresenter ()
 [AI] Constructor. Initializes internal tickle state and other members. More...
 
MxResult Tickle () override
 [AI] Main tickle handler, called periodically to progress presenter's internal state. More...
 
virtual void VTable0x14 ()
 [AI] Reserved for future or specialized use in derived classes. More...
 
virtual void ReadyTickle ()
 [AI] Handles the transition and setup for the Ready state. Parses extra action data and advances state. More...
 
virtual void StartingTickle ()
 [AI] Handles actions required when first starting presentation. Advances to streaming state. More...
 
virtual void StreamingTickle ()
 [AI] Handles periodic updates during the streaming/presentation stage. Advances to repeating state. More...
 
virtual void RepeatingTickle ()
 [AI] Handles updates when in a repeating (looping) stage. Advances to freezing state. More...
 
virtual void FreezingTickle ()
 [AI] Handles updates during the freezing/suspended state. Advances to done state. More...
 
 ~MxPresenter () override
 [AI] Destructor, cleans up resources (base class: does nothing beyond Init). More...
 
virtual MxResult AddToManager ()
 [AI] Optional registration with a manager (such as TickleManager); by default does nothing. More...
 
virtual void Destroy ()
 [AI] Resets presenter state or cleans up resources after completion/removal. More...
 
virtual MxResult StartAction (MxStreamController *, MxDSAction *)
 [AI] Initiates presenter for a new action, setting up context and state. More...
 
virtual void EndAction ()
 [AI] Terminates the current action, notifies listeners and resets state. More...
 
virtual void SetTickleState (TickleState p_tickleState)
 [AI] Forces the tickle state, advancing to the requested lifecycle stage. More...
 
virtual MxBool HasTickleStatePassed (TickleState p_tickleState)
 [AI] Checks if the specified tickle state has ever been passed since last reset. More...
 
virtual MxResult PutData ()
 [AI] Allows the presenter to submit pending results or output to the engine. More...
 
virtual MxBool IsHit (MxS32 p_x, MxS32 p_y)
 [AI] Returns TRUE if the given (x, y) falls within hit-test bounds for the presenter (e.g. More...
 
virtual void Enable (MxBool p_enable)
 [AI] Enables or disables this presenter (controls action flags accordingly). More...
 
const char * ClassName () const override
 [AI] Returns the run-time class name for this presenter. More...
 
MxBool IsA (const char *p_name) const override
 [AI] Determines if this object is of (or inherits) the specified named class. More...
 
MxEntityCreateEntity (const char *p_defaultName)
 [AI] Creates an entity based on action 'extra' data, or uses the provided default name. More...
 
void SendToCompositePresenter (MxOmni *p_omni)
 [AI] Notifies a composite presenter (if one exists) that this presenter wishes to join a group. More...
 
MxBool IsEnabled ()
 [AI] Returns whether this presenter is logically enabled (based on the associated action's flags). More...
 
MxS32 GetCurrentTickleState () const
 [AI] Returns the current tickle state. More...
 
MxPoint32 GetLocation () const
 [AI] Returns the presenter's screen location (in pixels). More...
 
MxS32 GetX () const
 [AI] Returns the X coordinate of screen location. More...
 
MxS32 GetY () const
 [AI] Returns the Y coordinate of screen location. More...
 
MxS32 GetDisplayZ () const
 [AI] Returns the display Z (depth) order. More...
 
MxDSActionGetAction () const
 [AI] Returns the current action being presented. More...
 
void SetAction (MxDSAction *p_action)
 [AI] Sets the action associated with this presenter. More...
 
void SetCompositePresenter (MxCompositePresenter *p_compositePresenter)
 [AI] Sets the composite presenter to notify/join on completion. More...
 
void SetDisplayZ (MxS32 p_displayZ)
 [AI] Sets the display Z (depth) order for the presenter. More...
 
- Public Member Functions inherited from MxCore
 MxCore ()
 [AI] Constructs a new MxCore object and assigns it a unique id. More...
 
virtual ~MxCore ()
 [AI] Virtual destructor. Required for correct polymorphic cleanup in derived classes. More...
 
virtual MxLong Notify (MxParam &p_param)
 [AI] Virtual callback notification mechanism. More...
 
virtual MxResult Tickle ()
 [AI] Called by tickle managers to allow the object to update itself. More...
 
virtual const char * ClassName () const
 [AI] Returns the runtime class name of this object. More...
 
virtual MxBool IsA (const char *p_name) const
 [AI] Checks whether this object's class type or parents match the given name. More...
 
MxU32 GetId ()
 [AI] Gets the unique (per-process) id assigned to this object instance. More...
 

Static Public Member Functions

static const char * HandlerClassName ()
 Returns the class name string for this presenter type. More...
 
- Static Public Member Functions inherited from MxMediaPresenter
static const char * HandlerClassName ()
 [AI] Gets the class name string for handler dispatch and RTTI emulation. More...
 
- Static Public Member Functions inherited from MxPresenter
static const char * HandlerClassName ()
 [AI] Returns the handler class name for identification and reflection purposes. More...
 

Protected Member Functions

void Destroy (MxBool p_fromDestructor)
 Releases resources and unregisters presenter from the video manager. More...
 
- Protected Member Functions inherited from MxMediaPresenter
void Init ()
 [AI] Initializes all member variables to a known default state (NULL pointers, etc). More...
 
void Destroy (MxBool p_fromDestructor)
 [AI] Frees all managed resources, owned memory and pointers, optionally preventing destruction of the base class. More...
 
- Protected Member Functions inherited from MxPresenter
virtual void DoneTickle ()
 [AI] Handles any post-completion logic, resetting to idle state. More...
 
virtual void ParseExtra ()
 [AI] Parses additional data from the associated action for configuration or world interaction. More...
 
void ProgressTickleState (TickleState p_tickleState)
 [AI] Helper for advancing the presenter's tickle state and updating transition history. More...
 
void Init ()
 [AI] Initializes object state to post-construction defaults. More...
 

Protected Attributes

MxBitmapm_frameBitmap
 Bitmap for current video frame. [AI]. More...
 
AlphaMaskm_alpha
 Alpha mask for hit testing. May be null. [AI]. More...
 
LPDIRECTDRAWSURFACE m_unk0x58
 DirectDraw surface for hardware video rendering. [AI]. More...
 
MxS16 m_unk0x5c
 Loop/advance/frame decode counter. [AI]. More...
 
FlagBitfield m_flags
 Miscellaneous flags for object and UI state. [AI]. More...
 
MxLong m_unk0x60
 Last freeze time/start of sustain interval. [AI]. More...
 
- Protected Attributes inherited from MxMediaPresenter
MxDSSubscriberm_subscriber
 [AI] Subscriber that provides the stream data (e.g., audio/video chunks) for this presenter. More...
 
MxStreamChunkListm_loopingChunks
 [AI] Linked list of all chunks available for looping/repeating playback. More...
 
MxStreamChunkListCursorm_loopingChunkCursor
 [AI] Cursor used to iterate through the loopingChunk list during repeat mode. More...
 
MxStreamChunkm_currentChunk
 [AI] Currently active data chunk for playback or processing. More...
 
- Protected Attributes inherited from MxPresenter
TickleState m_currentTickleState
 [AI] Current state in the tickle lifecycle. More...
 
MxU32 m_previousTickleStates
 [AI] Bitfield representing all tickle states that have already occurred during this lifetime. More...
 
MxPoint32 m_location
 [AI] 2D display location for the presenter. More...
 
MxS32 m_displayZ
 [AI] Z-order value for display stacking. More...
 
MxDSActionm_action
 [AI] The associated action currently being presented by this presenter. More...
 
MxCriticalSection m_criticalSection
 [AI] Thread synchronization for presenter state and data. More...
 
MxCompositePresenterm_compositePresenter
 [AI] Owner composite presenter, if any. More...
 

Additional Inherited Members

- Public Types inherited from MxPresenter
enum  TickleState {
  e_idle = 0 , e_ready , e_starting , e_streaming ,
  e_repeating , e_freezing , e_done
}
 [AI] Represents the state of the presenter's tickle (update) lifecycle. More...
 

Detailed Description

Derived video presenter responsible for displaying video frames using DirectDraw surfaces.

[AI] MxVideoPresenter manages video playback, bitmap frames, alpha masking for hit tests, palette management, and rendering output onto the display. It is used for both software and hardware-accelerated video display and ties into the video tickle/update system.

Definition at line 18 of file mxvideopresenter.h.

Constructor & Destructor Documentation

◆ MxVideoPresenter()

MxVideoPresenter::MxVideoPresenter ( )
inline

Constructs a new MxVideoPresenter and initializes internal state.

[AI]

Definition at line 24 of file mxvideopresenter.h.

◆ ~MxVideoPresenter()

MxVideoPresenter::~MxVideoPresenter ( )
inlineoverride

Destroys the MxVideoPresenter, releasing owned resources and unregistering from the manager.

[AI] Calls Destroy(TRUE) to indicate destruction from the destructor context.

Definition at line 74 of file mxvideopresenter.h.

Member Function Documentation

◆ AddToManager()

MxResult MxVideoPresenter::AddToManager ( )
overridevirtual

Adds this presenter to the global video manager.

Returns
SUCCESS if added, FAILURE if not. [AI]

[AI] Presenter registration is required for global invalidation/redraw integration.

Reimplemented from MxPresenter.

Definition at line 470 of file mxvideopresenter.cpp.

◆ ClassName()

const char * MxVideoPresenter::ClassName ( ) const
inlineoverridevirtual

Returns the run-time class name of this presenter instance.

[AI] Used for polymorphic identification and the IsA hierarchy check.

Reimplemented from MxMediaPresenter.

Definition at line 125 of file mxvideopresenter.h.

◆ CreateBitmap()

virtual void MxVideoPresenter::CreateBitmap ( )
inlinevirtual

Allocates and sets up the display bitmap for video frame data.

[AI] Typically called after header information is available so the bitmap can be sized appropriately for the video media.

Reimplemented in MxFlcPresenter, MxSmkPresenter, and MxStillPresenter.

Definition at line 37 of file mxvideopresenter.h.

◆ Destroy() [1/2]

void MxVideoPresenter::Destroy ( )
inlineoverridevirtual

Destroys internal resources for the presenter.

[AI] Calls Destroy(FALSE) to indicate manual destruction.

Reimplemented from MxMediaPresenter.

Definition at line 80 of file mxvideopresenter.h.

◆ Destroy() [2/2]

void MxVideoPresenter::Destroy ( MxBool  p_fromDestructor)
protected

Releases resources and unregisters presenter from the video manager.

Parameters
p_fromDestructorIf TRUE, indicates called from destructor. [AI]

[AI]

Definition at line 112 of file mxvideopresenter.cpp.

◆ EndAction()

void MxVideoPresenter::EndAction ( )
overridevirtual

Signals the end of the current playback action.

[AI] Cleans up and invalidates regions after playback stops.

Reimplemented from MxMediaPresenter.

Definition at line 484 of file mxvideopresenter.cpp.

◆ FreezingTickle()

void MxVideoPresenter::FreezingTickle ( )
overridevirtual

Advance logic for the "freezing" tickle state (sustain after playback).

[AI] Handles the delay after playback by counting sustain time.

Reimplemented from MxPresenter.

Definition at line 449 of file mxvideopresenter.cpp.

◆ GetAlphaMask()

AlphaMask * MxVideoPresenter::GetAlphaMask ( )
inline

Returns this presenter's alpha mask for hit testing.

[AI] May be nullptr if no alpha mask is present.

Definition at line 268 of file mxvideopresenter.h.

◆ GetBit0()

BYTE MxVideoPresenter::GetBit0 ( )
inline

Gets internal miscellaneous state flags (bits 0-4).

[AI] Used for logic and presentation decision-making.

Definition at line 294 of file mxvideopresenter.h.

◆ GetBit1()

BYTE MxVideoPresenter::GetBit1 ( )
inline

Definition at line 295 of file mxvideopresenter.h.

◆ GetBit2()

BYTE MxVideoPresenter::GetBit2 ( )
inline

Definition at line 296 of file mxvideopresenter.h.

◆ GetBit3()

BYTE MxVideoPresenter::GetBit3 ( )
inline

Definition at line 297 of file mxvideopresenter.h.

◆ GetBit4()

BYTE MxVideoPresenter::GetBit4 ( )
inline

Definition at line 298 of file mxvideopresenter.h.

◆ GetBitmap()

MxBitmap * MxVideoPresenter::GetBitmap ( )
inline

Returns the frame bitmap currently used for this presenter.

[AI] This bitmap contains the raw pixel data for the current frame.

Definition at line 262 of file mxvideopresenter.h.

◆ GetBitmapStart()

MxU8 * MxVideoPresenter::GetBitmapStart ( MxS32  p_left,
MxS32  p_top 
)
inline

Provides a pointer to the start of frame bitmap data at a given coordinate.

Parameters
p_leftX coordinate within the bitmap. [AI]
p_topY coordinate within the bitmap. [AI]
Returns
Pointer to first byte of pixel data at the given location. [AI]

[AI] Used for pixel-level access into the video frame.

Definition at line 277 of file mxvideopresenter.h.

◆ GetHeight()

virtual MxS32 MxVideoPresenter::GetHeight ( )
inlinevirtual

Returns the height of the current bitmap or alpha mask in pixels.

[AI] Alpha mask height is prioritized if available, otherwise bitmap height is used.

Definition at line 106 of file mxvideopresenter.h.

◆ GetWidth()

virtual MxS32 MxVideoPresenter::GetWidth ( )
inlinevirtual

Returns the width of the current bitmap or alpha mask in pixels.

[AI] Alpha mask width is prioritized if available, otherwise bitmap width is used.

Definition at line 100 of file mxvideopresenter.h.

◆ HandlerClassName()

static const char * MxVideoPresenter::HandlerClassName ( )
inlinestatic

Returns the class name string for this presenter type.

[AI] Used for run-time class identification and IsA checks.

Definition at line 115 of file mxvideopresenter.h.

◆ IsA()

MxBool MxVideoPresenter::IsA ( const char *  p_name) const
inlineoverridevirtual

Determines if this object is or derives from a class with the given name.

Parameters
p_nameName of the class to check. [AI]
Returns
TRUE on a match or base-class match, FALSE otherwise. [AI]

[AI] Recursively checks up the parent class chain.

Reimplemented from MxMediaPresenter.

Definition at line 136 of file mxvideopresenter.h.

◆ IsHit()

MxBool MxVideoPresenter::IsHit ( MxS32  p_x,
MxS32  p_y 
)
overridevirtual

Determines if a point is inside the non-transparent region of frame/alpha.

Parameters
p_xX pixel coordinate (absolute). [AI]
p_yY pixel coordinate (absolute). [AI]
Returns
TRUE if hit, otherwise FALSE. [AI]

[AI] Used for input/mouse hit testing.

Reimplemented from MxPresenter.

Definition at line 165 of file mxvideopresenter.cpp.

◆ LoadFrame()

virtual void MxVideoPresenter::LoadFrame ( MxStreamChunk p_chunk)
inlinevirtual

Loads and processes frame data from a video stream chunk.

Parameters
p_chunkPointer to the stream chunk containing frame data. [AI]

[AI] Frame loading typically performs format-specific decoding or copying of bitmap data into the display buffer.

Reimplemented in LegoFlcTexturePresenter, LegoPhonemePresenter, MxFlcPresenter, MxSmkPresenter, and MxStillPresenter.

Definition at line 50 of file mxvideopresenter.h.

◆ LoadHeader()

virtual void MxVideoPresenter::LoadHeader ( MxStreamChunk p_chunk)
inlinevirtual

Loads and processes header information from a video stream chunk.

Parameters
p_chunkPointer to the stream chunk containing header data. [AI]

[AI] This is intended to be implemented in derived classes to parse format-specific header information.

Reimplemented in MxFlcPresenter, MxSmkPresenter, and MxStillPresenter.

Definition at line 31 of file mxvideopresenter.h.

◆ NextFrame()

void MxVideoPresenter::NextFrame ( )
virtual

Advances video playback to the next frame, handling decoding and playback progression.

[AI] This method is responsible for decoding/loading the next frame and advancing state within the tickle loop.

Reimplemented in MxLoopingFlcPresenter, MxLoopingSmkPresenter, and MxStillPresenter.

Definition at line 149 of file mxvideopresenter.cpp.

◆ PrepareRects()

MxS32 MxVideoPresenter::PrepareRects ( RECT &  p_rectDest,
RECT &  p_rectSrc 
)
inline

Utility function to adjust source/dest rectangles to stay within allowed bounds.

Parameters
p_rectDestDestination rectangle (will be clipped). [AI]
p_rectSrcSource rectangle (will be clipped). [AI]
Returns
1 if unchanged, 0 if src rect was adjusted to match dest, -1 if unclippable. [AI]

[AI] Used in DirectDraw blitting to guarantee rendering does not exceed screen limits.

Definition at line 197 of file mxvideopresenter.cpp.

◆ PutData()

MxResult MxVideoPresenter::PutData ( )
overridevirtual

Writes the frame to the display device if appropriate.

[AI] Called within the tickle loop to present active video content.

Reimplemented from MxPresenter.

Definition at line 505 of file mxvideopresenter.cpp.

◆ PutFrame()

void MxVideoPresenter::PutFrame ( )
virtual

Presents the current frame using the chosen output mechanism (e.g., blitting to screen).

[AI] Handles both hardware-accelerated surfaces and software presentation, including correct color keying and region-drawing if necessary.

Reimplemented in LegoAnimPresenter, LegoCarBuildAnimPresenter, LegoFlcTexturePresenter, LegoHideAnimPresenter, LegoLocomotionAnimPresenter, LegoLoopingAnimPresenter, and LegoPhonemePresenter.

Definition at line 235 of file mxvideopresenter.cpp.

◆ ReadyTickle()

void MxVideoPresenter::ReadyTickle ( )
overridevirtual

Advance logic for the "ready" tickle state.

Loads headers and transitions state.

[AI] Loads the video header from the next stream chunk and sets tickle state.

Reimplemented from MxPresenter.

Definition at line 338 of file mxvideopresenter.cpp.

◆ RealizePalette()

virtual void MxVideoPresenter::RealizePalette ( )
inlinevirtual

Loads or establishes the palette for display from the current video format or media.

[AI] Often required for paletted video data (such as 8-bit surfaces).

Reimplemented in MxFlcPresenter, MxSmkPresenter, and MxStillPresenter.

Definition at line 62 of file mxvideopresenter.h.

◆ RepeatingTickle()

void MxVideoPresenter::RepeatingTickle ( )
overridevirtual

Advance logic for the "repeating" tickle state (media looping).

[AI] Handles looped playback, loads frames corresponding to looped time.

Reimplemented from MxMediaPresenter.

Definition at line 405 of file mxvideopresenter.cpp.

◆ SetBit0()

void MxVideoPresenter::SetBit0 ( BOOL  p_e)
inline

Sets internal miscellaneous state flags.

Parameters
p_eValue to set in bit N, for bits 0-4. [AI]

[AI] These bits are used for logic state and presentation properties (uncertain specifics).

Definition at line 284 of file mxvideopresenter.h.

◆ SetBit1()

void MxVideoPresenter::SetBit1 ( BOOL  p_e)
inline

Definition at line 285 of file mxvideopresenter.h.

◆ SetBit2()

void MxVideoPresenter::SetBit2 ( BOOL  p_e)
inline

Definition at line 286 of file mxvideopresenter.h.

◆ SetBit3()

void MxVideoPresenter::SetBit3 ( BOOL  p_e)
inline

Definition at line 287 of file mxvideopresenter.h.

◆ SetBit4()

void MxVideoPresenter::SetBit4 ( BOOL  p_e)
inline

Definition at line 288 of file mxvideopresenter.h.

◆ StartingTickle()

void MxVideoPresenter::StartingTickle ( )
overridevirtual

Advance logic for the "starting" tickle state (frame setup).

[AI] Creates the bitmap buffer and prepares for streaming.

Reimplemented from MxPresenter.

Definition at line 351 of file mxvideopresenter.cpp.

◆ StreamingTickle()

void MxVideoPresenter::StreamingTickle ( )
overridevirtual

Advance logic for the "streaming" tickle state (typical video playback).

[AI] Loads video frames/ticks as appropriate for elapsed media time.

Reimplemented from MxMediaPresenter.

Definition at line 362 of file mxvideopresenter.cpp.

◆ VTable0x74()

undefined MxVideoPresenter::VTable0x74 ( )
virtual

Unknown/potentially format-specific method (VTable0x74).

[AI_SUGGESTED_NAME: FormatSpecificOperation] [AI] This placeholder method is likely for extending media-specific features or queries.

Definition at line 517 of file mxvideopresenter.cpp.

◆ VTable0x78()

virtual LPDIRECTDRAWSURFACE MxVideoPresenter::VTable0x78 ( )
inlinevirtual

Retrieves the DirectDraw surface used for hardware-accelerated rendering.

Returns
Pointer to the DirectDraw surface used by this presenter. [AI]

[AI] Used to integrate with hardware-accelerated drawing pipelines.

Definition at line 87 of file mxvideopresenter.h.

◆ VTable0x7c()

virtual MxBool MxVideoPresenter::VTable0x7c ( )
inlinevirtual

Checks if this presenter has either a video frame bitmap or alpha mask available.

Returns
TRUE if either is valid, otherwise FALSE. [AI]

[AI] Used to quickly test if video content is available for hit testing or drawing.

Definition at line 94 of file mxvideopresenter.h.

Member Data Documentation

◆ m_alpha

AlphaMask* MxVideoPresenter::m_alpha
protected

Alpha mask for hit testing. May be null. [AI].

Definition at line 316 of file mxvideopresenter.h.

◆ m_flags

FlagBitfield MxVideoPresenter::m_flags
protected

Miscellaneous flags for object and UI state. [AI].

Definition at line 319 of file mxvideopresenter.h.

◆ m_frameBitmap

MxBitmap* MxVideoPresenter::m_frameBitmap
protected

Bitmap for current video frame. [AI].

Definition at line 315 of file mxvideopresenter.h.

◆ m_unk0x58

LPDIRECTDRAWSURFACE MxVideoPresenter::m_unk0x58
protected

DirectDraw surface for hardware video rendering. [AI].

Definition at line 317 of file mxvideopresenter.h.

◆ m_unk0x5c

MxS16 MxVideoPresenter::m_unk0x5c
protected

Loop/advance/frame decode counter. [AI].

Definition at line 318 of file mxvideopresenter.h.

◆ m_unk0x60

MxLong MxVideoPresenter::m_unk0x60
protected

Last freeze time/start of sustain interval. [AI].

Definition at line 320 of file mxvideopresenter.h.


The documentation for this class was generated from the following files: