Microsoft DirectX 8.1 (C++)

CDrawImage Class

The CDrawImage class is a worker class for the owning CBaseWindow object. It handles the actual drawing operation from that class. To use this class, be sure to call CDrawImage::NotifyAllocator when the allocator has been agreed upon, and call CDrawImage::NotifyMediaType with a pointer to a CMediaType object (which must not be stack-based, because a pointer is maintained by this class rather than making a copy) when that is agreed.

When the palette changes, call CDrawImage::IncrementPaletteVersion, and before rendering call CDrawImage::SetDrawContext so that the class can obtain the handle to a device context (HDC) handles from the owning CBaseWindow object.

Protected Data Members

m_bStretch Flag to stretch the images.
m_bUsingImageAllocator Flag to determine if samples share DIBSECTION structures.
m_EndSample End time for the current sample.
m_hdc Main window device context (DC).
m_MemoryDC Off-screen draw DC.
m_pBaseWindow Owning video window object.
m_PaletteVersion Current palette version token.
m_perfidRenderNow Moment when returned from draw (for performance logging).
m_perfidRenderTime Time taken to render an image (for performance logging).
m_pMediaType Pointer to the current media type format.
m_SourceRect Source image rectangle.
m_StartSample Start time for the current sample.
m_TargetRect Destination rectangle.

Member Functions

CDrawImage Constructs a CDrawImage object.
DisplaySampleTimes Displays a time stamp of a sample on top of its image.
DrawImage Looks after drawing an image to a window.
FastRender Draws an image using BitBlt and StretchBlt.
GetPaletteVersion Retrieves the currently installed palette version.
GetSourceRect Retrieves the current source rectangle.
GetTargetRect Retrieves the current target rectangle.
IncrementPaletteVersion Increments the current palette version.
NotifyAllocator Notifies the draw object which allocator is being used.
NotifyEndDraw Indicates the conclusion of image rendering.
NotifyMediaType Passes the media type established during connection.
NotifyStartDraw Indicates the beginning of image rendering.
ResetPaletteVersion Resets the current palette version.
ScaleSourceRect Retrieves a scaled version of a provided source rectangle.
SetDrawContext Sets the window and off-screen device contexts to draw with.
SetSourceRect Sets the source rectangle for the video.
SetStretchMode Determines whether it is necessary to stretch.
SetTargetRect Sets the target rectangle for the window.
SlowRender Uses the Microsoft® Win32® SetDIBitsToDevice and StretchDIBits functions to draw an image.
UpdateColourTable Updates the palette held in a DIBSECTION structure.
UsingImageAllocator Retrieves the type of samples to be drawn.