Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This structure represents the capabilities of the hardware exposed through the DirectDrawobject.

This structure contains a DDSCAPSstructure used in this context to describe what kinds of DirectDrawSurfaceobjects can be created. It may not be possible to simultaneously create all surfaces described by these capabilities.

This structure is used with the IDirectDraw::GetCapsmethod.

Syntax

typedef struct _DDCAPS { 
  DWORD 
dwSize;
  DWORD 
dwCKeyCaps;
  DWORD 
dwPalCaps;
  DWORD 
dwBltCaps;
  DWORD 
dwAlphaCaps;
  DWORD 
dwOverlayCaps;
  DWORD 
dwVidMemTotal;
  DWORD 
dwVidMemFree;
  DWORD 
dwVidMemStride;
  DWORD 
dwMaxVisibleOverlays;
  DWORD 
dwCurrVisibleOverlays;
  DWORD 
dwNumFourCCCodes;
  DWORD 
dwAlignBoundarySrc;
  DWORD 
dwAlignSizeSrc;
  DWORD 
dwAlignBoundaryDest;
  DWORD 
dwAlignSizeDest;
  DWORD 
dwRops[DD_ROP_SPACE];
  DWORD 
dwMinOverlayStretch;
  DWORD 
dwMaxOverlayStretch;
  DWORD 
dwMiscCaps;
} DDCAPS,FAR *LPDDCAPS;  

Members

dwSize

Size of the structure, in bytes. This member must be initialized before the structure is used.

dwCKeyCaps

Color-key capabilities. The following table shows the possible flags.

Flag Description

DDCKEYCAPS_BOTHBLT

Supports transparent blitting with for both source and destination surfaces.

DDCKEYCAPS_DESTBLT

Supports transparent blitting with a color key that identifies the replaceable bits of the destination surface for RGB colors.

DDCKEYCAPS_DESTBLTCLRSPACE

Supports transparent blitting with a color space that identifies the replaceable bits of the destination surface for RGB colors.

DDCKEYCAPS_DESTBLTCLRSPACEYUV

Supports transparent blitting with a color space that identifies the replaceable bits of the destination surface for YUV colors.

DDCKEYCAPS_SRCBLT

Supports transparent blitting using the color key for the source with this surface for RGB colors.

DDCKEYCAPS_SRCBLTCLRSPACE

Supports transparent blitting using a color space for the source with this surface for RGB colors.

DDCKEYCAPS_SRCBLTCLRSPACEYUV

Supports transparent blitting using a color space for the source with this surface for YUV colors.

dwPalCaps

Palette capabilities.

The following table shows the possible flags.

Flag Description

DDPCAPS_ALPHA

Supports palettes that include an alpha component.

For alpha-capable palettes, the peFlagsmember of for each PALETTEENTRYstructure the palette contains is to be interpreted as a single 8-bit alpha value (in addition to the color data in the peRed, peGreen, and peBluemembers).

A palette created with this flag can only be attached to a texture surface.

DDPCAPS_PRIMARYSURFACE

Indicates that the palette is attached to the primary surface.

Changing the palette has an immediate effect on the display unless the DDPCAPS_VSYNC capability is specified and supported.

dwBltCaps

Driver specific blitting capabilities.

The following table shows the possible flags.

Flag Description

DDBLTCAPS_READSYSMEM

Supports blitting from system memory.

DDBLTCAPS_WRITESYSMEM

Supports blitting to system memory.

DDBLTCAPS_FOURCCTORGB

Supports blitting from a surface with a FOURCC pixel format to a surface with an RGB pixel format.

DDBLTCAPS_COPYFOURCC

Supports blitting from a surface with a FOURCC pixel format to another surface with the same pixel format, or to the same surface.

DDBLTCAPS_FILLFOURCC

Supports color-fill blitting to a surface with a FOURCC pixel format.

dwAlphaCaps

Alpha blitting capabilities.

The following table shows the possible flags.

Flag Description

DDALPHACAPS_ALPHAPIXELS

Supports per-pixel alpha values specified alongside with the RGB values in the pixel structure.

DDALPHACAPS_ALPHASURFACE

Unsupported.

DDALPHACAPS_ALPHAPALETTE

Unsupported.

DDALPHACAPS_ALPHACONSTANT

Unsupported.

DDALPHACAPS_ARGBSCALE

Unsupported.

DDALPHACAPS_SATURATE

Unsupported.

DDALPHACAPS_PREMULT

Supports pixel formats with premultiplied alpha values.

DDALPHACAPS_NONPREMULT

Supports pixel formats with non-premultiplied alpha values.

DDALPHACAPS_ALPHAFILL

Supports color-fill blitting using an alpha value.

DDALPHACAPS_ALPHANEG

Supports inverted-alpha pixel formats, where 0 indicates fully opaque and 255 indicates fully transparent.

dwOverlayCaps

General overlay capabilities.

The following table shows the possible flags.

Flag Description

DDOVERLAYCAPS_FLIP

Supports surface flipping with overlays.

DDOVERLAYCAPS_FOURCC

Supports FOURCC pixel formats with overlays. Use IDirectDraw::GetFourCCCodesto determine which FOURCC formats are supported.

DDOVERLAYCAPS_ZORDER

Supports changing Z order of overlays.

DDOVERLAYCAPS_MIRRORLEFTRIGHT

Supports surface mirroring in the left-to-right direction for overlays.

DDOVERLAYCAPS_MIRRORUPDOWN

Supports surface mirroring in the up-to-down direction for overlays.

DDOVERLAYCAPS_CKEYSRC

Supports source color keying for overlays.

DDOVERLAYCAPS_CKEYSRCCLRSPACE

Supports source color-space keying for overlays.

DDOVERLAYCAPS_CKEYSRCCLRSPACEYUV

Supports source color-space keying for overlays with FOURCC pixel formats.

DDOVERLAYCAPS_CKEYDEST

Supports destination color keying for overlays.

DDOVERLAYCAPS_CKEYDESTCLRSPACE

Supports destination colo-space keying for overlays.

DDOVERLAYCAPS_CKEYDESTCLRSPACEYUV

Supports destination color-space keying for overlays with FOURCC pixel formats.

DDOVERLAYCAPS_CKEYBOTH

Supports simultaneous source and destination color keying for overlays.

DDOVERLAYCAPS_ALPHADEST

Supports destination alpha blending for overlays.

DDOVERLAYCAPS_ALPHASRC

Supports source alpha blending for overlays.

DDOVERLAYCAPS_ALPHADESTNEG

Supports inverted destination alpha blending for overlays.

DDOVERLAYCAPS_ALPHASRCNEG

Supports inverted source alpha blending for overlays.

DDOVERLAYCAPS_ALPHACONSTANT

Supports constant alpha blending for overlays (specified in the DDOVERLAYFXstructure).

DDOVERLAYCAPS_ALPHAPREMULT

Supports premultiplied alpha pixel formats for overlay alpha blending.

DDOVERLAYCAPS_ALPHANONPREMULT

Supports non-premultiplied alpha pixel formats for overlay alpha blending.

DDOVERLAYCAPS_ALPHAANDKEYDEST

Supports simultaneous source alpha blending with a destination color key for overlays.

DDOVERLAYCAPS_OVERLAYSUPPORT

Supports overlay surfaces.

dwVidMemTotal

Total amount of display memory on the device, in bytes, minus the memory reserved for the primary surface and any private data structures reserved by the driver.

(This value is the same as the total video memory reported by the IDirectDraw::GetAvailableVidMemmethod.)

dwVidMemFree

Free display memory.

This value equals the value in dwVidMemTotal, minus any memory currently allocated by the application for surfaces.

Unlike the GetAvailableVidMemmethod, which reports the memory available for a particular type of surface, such as a texture, this value reflects the memory available for any type of surface.

dwVidMemStride

Video memory stride. This value is 0 if the stride is linear.

dwMaxVisibleOverlays

Maximum number of visible overlays or overlay sprites.

dwCurrVisibleOverlays

Current number of visible overlays or overlay sprites.

dwNumFourCCCodes

Number of FourCC codes.

dwAlignBoundarySrc

Source rectangle alignment, in pixels, for an overlay surface.

dwAlignSizeSrc

Source rectangle size alignment, in pixels, for an overlay surface.

Overlay source rectangles must have a pixel width that is a multiple of this value.

dwAlignBoundaryDest

Destination rectangle alignment, in pixels, for an overlay surface.

dwAlignSizeDest

Destination rectangle size alignment, in pixels, for an overlay surface.

Overlay destination rectangles must have a pixel width that is a multiple of this value.

dwRops[DD_ROP_SPACE]

Raster operations supported.

dwMinOverlayStretchand dwMaxOverlayStretch

Minimum and maximum overlay stretch factors multiplied by 1000.

For example, 1.3 x 1000 = 1300.

dwMiscCaps

Miscellaneous video capabilities.

The following table shows the possible flags.

Flag Description

DDMISCCAPS_READSCANLINE

Supports reading the current scanline being drawn.

DDMISCCAPS_READMONITORFREQ

Unsupported.

DDMISCCAPS_READVBLANKSTATUS

Supports reading the current V-Blank status of the hardware.

DDMISCCAPS_FLIPINTERVAL

Supports interval flipping.

DDMISCCAPS_FLIPODDEVEN

Supports Even/Odd flipping.

DDMISCCAPS_FLIPVSYNCWITHVBI

Supports V-Sync-coordinated flipping.

DDMISCCAPS_COLORCONTROLOVERLAY

Supports color controls on overlay surfaces.

DDMISCCAPS_COLORCONTROLPRIMARY

Supports color controls on primary surfaces.

DDMISCCAPS_GAMMACONTROLOVERLAY

Supports gamma controls on overlay surfaces.

DDMISCCAPS_GAMMACONTROLPRIMARY

Supports gamma controls on primary surfaces.

Requirements

Header ddraw.h
Windows Embedded CE Windows Embedded CE 6.0 and later
Windows Mobile Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later