CAggDrawSurface Class
A version of this page is also available for
4/8/2010
This class aggregates an IDirectDrawSurface interface.
Although DirectDraw interfaces (IDirectDraw and IDirectDrawSurface) potentially can 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 CAggDirectDraw Class 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, CAggDrawSurface::SetDirectDrawSurface, and CAggDrawSurface::NonDelegatingQueryInterface, simply calls the corresponding method on the IDirectDrawSurface interface with the parameters passed to it.
Protected Data Members
Member | Description |
---|---|
m_pDirectDrawSurface |
DirectDraw surface. |
Member Functions
Member function | Description |
---|---|
Constructs a CAggDrawSurface object. |
|
Sets the DirectDraw object to be aggregated by this class. This must be called before IDirectDrawSurface interface methods can be called. |
Overrideable Member Functions
Member function | Description |
---|---|
Retrieves an interface and increments the reference count. |
Implemented IDirectDrawSurface Methods
Method | Description |
---|---|
Not implemented. |
|
Performs a bit-block transfer. |
|
Enumerates all the surfaces attached to a given surface. |
|
Enumerates the overlays on the specified destination. The overlays can be enumerated in front-to-back or back-to-front order. |
|
Makes the surface memory associated with the DDSCAPS_BACKBUFFER surface become associated with the FRONTBUFFER surface. |
|
Retrieves the status of a bit block transfer. |
|
Retrieves the capabilities of the surface. |
|
Retrieves the DirectDrawClipper object associated with this surface. |
|
Retrieves the color key value for the DirectDrawSurface object. |
|
Creates a GDI-compatible hDC for the surface. |
|
Returns OK if the surface that it is called on has finished its flipping process; otherwise, returns DDERR_WASSTILLDRAWING. |
|
Retrieves the display coordinates of the surface, given a visible, active overlay surface (DDSCAPS_OVERLAY set). |
|
Retrieves the DirectDrawPalette structure associated with this surface. |
|
Retrieves the color and pixel format of the surface. |
|
Retrieves a DDSURFACEDESC structure describing the surface in its current condition. |
|
Determines if the surface memory associated with a DirectDrawSurface object has been freed. |
|
Obtains a valid pointer to the surface memory. |
|
Releases a GDI-compatible hDC previously obtained through CAggDrawSurface::GetDC. |
|
Restores a surface that has been "lost." The surface memory associated with the DirectDrawSurface object has been freed. |
|
Attaches a DirectDrawClipper object to a DirectDrawSurface object. |
|
Sets the color key value for the DirectDrawSurface object if the hardware supports color keys on a per-surface basis. |
|
Changes the display coordinates of an overlay surface. |
|
Not supported. |
|
Notifies DirectDraw that the direct surface manipulations are complete. |
|
Repositions and/or modifies the visual attributes of an overlay surface. These surfaces must have the DDSCAPS_OVERLAY bit set. |
|
Sets an overlay's z-order. The z-order determines which overlay should be occluded when multiple overlays are displayed simultaneously. |
Requirements
Header | ddraw.h |
Windows Embedded CE | Windows CE 2.12 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
Note | Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements For more information, see Setting Up the Build Environment |