CAggDirectDraw Class
This class aggregates an IDirectDraw4 interface. Although DirectDraw interfaces (IDirectDraw and IDirectDrawSurface5) potentially have the ability to be aggregated, this feature is not yet implemented. Various parts of DirectShow require aggregation of the DirectDraw interfaces. In particular, the video renderer passes out media samples that expose IDirectDraw and IDirectDrawSurface. This class and the CAggDrawSurface class republish the methods of the DirectDraw class so that they can be aggregated.
Each member function in this class, with the exception of the constructor, SetDirectDraw, and NonDelegatingQueryInterface, simply calls the corresponding method on the IDirectDraw4 interface with the parameters passed to it.
Protected Data Members
Member | Description |
---|---|
m_pDirectDraw | DirectDraw object. |
Member Functions
Function | Description |
---|---|
CAggDirectDraw | Constructs a CAggDirectDraw object. |
SetDirectDraw | Sets the DirectDraw object to be aggregated by this class. |
Overrideable Member Functions
Member function | Description |
---|---|
NonDelegatingQueryInterface | Retrieves an interface and increments the reference count. |
Implemented IDirectDraw Methods
Method | Description |
---|---|
IDirectDraw4::Compact | Moves all the pieces of surface memory on the video card to a contiguous block to make the largest chunk of free memory available. |
IDirectDraw4::CreateClipper | Creates a DirectDrawClipper object. |
IDirectDraw4::CreatePalette | Creates a DirectDrawPalette object for this DirectDraw object. |
IDirectDraw4::CreateSurface | Creates a DirectDrawSurface object for this DirectDraw object. |
IDirectDraw4::DuplicateSurface | Duplicates a DirectDrawSurface object. |
IDirectDraw4::EnumDisplayModes | Enumerates all the display modes the hardware exposes through the DirectDraw object that are compatible with a provided surface description. |
IDirectDraw4::EnumSurfaces | Enumerates all the existing or possible surfaces that meet the search criterion specified. |
IDirectDraw4::FlipToGDISurface | Makes the surface that GDI writes to the primary surface. |
IDirectDraw4::GetCaps | Fills in the raw (not remaining) capabilities of the device driver (the hardware) and/or the Hardware Emulation Layer (HEL). |
IDirectDraw4::GetDisplayMode | Retrieves the current display mode. |
IDirectDraw4::GetFourCCCodes | Gets the FOURCC codes supported by the DirectDraw object. |
IDirectDraw4::GetGDISurface | Retrieves the DirectDrawSurface object that currently represents the surface memory that GDI treats as the primary surface. |
IDirectDraw4::GetMonitorFrequency | Points to a DirectDrawSurface pointer that will be made to point to the DirectDrawSurface object currently controlling GDI's primary surface memory. |
IDirectDraw4::GetScanLine | Retrieves the scan line that the monitor is currently updating to the display. |
IDirectDraw4::GetVerticalBlankStatus | Retrieves the status of the vertical blank. |
IDirectDraw4::RestoreDisplayMode | Resets the mode of the display device hardware for the primary surface to what it was before the SetDisplayMode method was called. |
IDirectDraw4::SetCooperativeLevel | Determines the top-level behavior of the application. |
IDirectDraw4::SetDisplayMode | Sets the mode of the display device hardware. |
IDirectDraw4::WaitForVerticalBlank | Helps the caller synchronize itself with the vertical blank interval. |
Requirements
DirectShow applications and DirectShow filters have different include file and link library requirements. See Setting Up the Build Environment for more information.
OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.
Header:
Last updated on Wednesday, April 13, 2005
© 2005 Microsoft Corporation. All rights reserved.