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. |
The DDCORECAPSstructure represents the capabilities of the hardware exposed through the DirectDraw object. This is the structure your driver returns in DDHALINFO. Additional capabilities are requested using a GetDriverInfocall.
typedef struct _DDCORECAPS { DWORD dwSize; DWORD dwCaps; DWORD dwCaps2; DWORD dwCKeyCaps; DWORD dwFXCaps; DWORD dwFXAlphaCaps; DWORD dwPalCaps; DWORD dwSVCaps; DWORD dwAlphaBltConstBitDepths; DWORD dwAlphaBltPixelBitDepths; DWORD dwAlphaBltSurfaceBitDepths; DWORD dwAlphaOverlayConstBitDepths; DWORD dwAlphaOverlayPixelBitDepths; DWORD dwAlphaOverlaySurfaceBitDepths; DWORD dwZBufferBitDepths; DWORD dwVidMemTotal; DWORD dwVidMemFree; DWORD dwMaxVisibleOverlays; DWORD dwCurrVisibleOverlays; DWORD dwNumFourCCCodes; DWORD dwAlignBoundarySrc; DWORD dwAlignSizeSrc; DWORD dwAlignBoundaryDest; DWORD dwAlignSizeDest; DWORD dwAlignStrideAlign; DWORD dwRops[DD_ROP_SPACE]; DDSCAPS ddsCaps; DWORD dwMinOverlayStretch; DWORD dwMaxOverlayStretch; DWORD dwMinLiveVideoStretch; DWORD dwMaxLiveVideoStretch; DWORD dwMinHwCodecStretch; DWORD dwMaxHwCodecStretch; DWORD dwReserved1; DWORD dwReserved2; DWORD dwReserved3; DWORD dwSVBCaps; DWORD dwSVBCKeyCaps; DWORD dwSVBFXCaps; DWORD dwSVBRops[DD_ROP_SPACE]; DWORD dwVSBCaps; DWORD dwVSBCKeyCaps; DWORD dwVSBFXCaps; DWORD dwVSBRops[DD_ROP_SPACE]; DWORD dwSSBCaps; DWORD dwSSBCKeyCaps; DWORD dwSSBFXCaps; DWORD dwSSBRops[DD_ROP_SPACE]; DWORD dwMaxVideoPorts; DWORD dwCurrVideoPorts; DWORD dwSVBCaps2; } DDCORECAPS; typedef DDCORECAPS FAR* LPDDCORECAPS;
Members
Flag | Usage |
---|---|
DDCAPS_3D | Indicates that the display hardware has 3-D acceleration. |
DDCAPS_ALIGNBOUNDARYDEST | Indicates that DirectDraw supports only those source rectangles with the x-axis aligned to the dwAlignBoundaryDestboundaries of the surface. |
DDCAPS_ALIGNBOUNDARYSRC | Indicates that DirectDraw supports only those source rectangles with the x-axis aligned to the dwAlignBoundarySrcboundaries of the surface. |
DDCAPS_ALIGNSIZEDEST | Indicates that DirectDraw supports only those source rectangles whose x-axis sizes, in bytes, are dwAlignSizeDestmultiples. |
DDCAPS_ALIGNSIZESRC | Indicates that DirectDraw supports only those source rectangles whose x-axis sizes, in bytes, are dwAlignSizeSrcmultiples. |
DDCAPS_ALIGNSTRIDE | Indicates that DirectDraw creates display memory surfaces that have a stride alignment equal to the dwAlignStrideAlignvalue. |
DDCAPS_ALPHA | Indicates that the display hardware supports an alpha channel during blit operations. |
|
Indicates that the display hardware is bank-switched and is potentially very slow at random access to display memory. |
|
Indicates that display hardware is capable of blit operations. |
|
Indicates that display hardware is capable of color filling with a blitter. |
|
Indicates that display hardware is capable of depth filling z-buffers with a blitter. |
|
Indicates that display hardware is capable of color-space conversions during blit operations. |
DDCAPS_BLTQUEUE | Indicates that display hardware is capable of asynchronous blit operations. |
|
Indicates that display hardware is capable of stretching during blit operations. |
|
Indicates that display hardware is capable of blitting to or from system memory. |
|
Indicates that display hardware is capable of clipping with blitting. |
|
Indicates that display hardware is capable of clipping while stretch-blitting. |
|
Supports some form of color key in either overlay or blit operations. More specific color key capability information can be found in the dwCKeyCapsmember. |
|
Indicates that the color key is hardware assisted. |
|
Indicates that display hardware is shared with GDI. |
DDCAPS_NOHARDWARE | Indicates that no hardware support exists. |
DDCAPS_OVERLAY | Indicates that display hardware supports overlays. |
DDCAPS_OVERLAYCANTCLIP | Indicates that display hardware supports overlays but cannot clip them. |
DDCAPS_OVERLAYFOURCC | Indicates that overlay hardware is capable of color-space conversions during overlay operations. |
DDCAPS_OVERLAYSTRETCH | Indicates that overlay hardware is capable of stretching. |
DDCAPS_PALETTE | Indicates that DirectDraw is capable of creating and supporting DirectDrawPalette objects for more than just the primary surface. |
DDCAPS_PALETTEVSYNC | Indicates that DirectDraw is capable of updating a palette synchronized with the vertical refresh. |
DDCAPS_READSCANLINE | Indicates that display hardware is capable of returning the current scan line. |
DDCAPS_STEREOVIEW | Indicates that display hardware has stereo vision capabilities. |
DDCAPS_VBI | Indicates that display hardware is capable of generating a vertical-blank interrupt. |
DDCAPS_ZBLTS | Supports the use of z-buffers with blit operations. |
DDCAPS_ZOVERLAYS | Supports the use of the application's UpdateOverlayZOrdermethod as a z-value for overlays to control their layering. |
Flag | Usage |
---|---|
DDCAPS2_AUTOFLIPOVERLAY | Indicates that the overlay can be automatically flipped to the next surface in the flip chain each time a video port V-sync occurs, allowing the video port and the overlay to double buffer the video without CPU overhead. This option is only valid when the surface is receiving data from a video port. If the video port data is noninterlaced or noninterleaved, it flips on every V-sync. If the data is being interleaved in memory, it flips on every other V-sync. |
DDCAPS2_CANBOBHARDWARE | The overlay hardware can display each field of an interlaced video stream individually. |
DDCAPS2_CANBOBINTERLEAVED | Indicates that the overlay hardware can display each field of an interlaced video stream individually while it is interleaved in memory without causing any artifacts that might normally occur without special hardware support. This option is only valid when the surface is receiving data from a video port and is only valid when the video is zoomed at least 200 percent in the vertical direction. |
DDCAPS2_CANBOBNONINTERLEAVED | Indicates that the overlay hardware can display each field of an interlaced video stream individually while it is not interleaved in memory without causing any artifacts that might normally occur without special hardware support. This option is only valid when the surface is receiving data from a video port and is only valid when the video is zoomed at least 200 percent in the vertical direction. |
DDCAPS2_CANCALIBRATEGAMMA | Indicates a calibrator is available to adjust the gamma ramp according to the physical display properties so that the result will be identical on all calibrated systems. |
DDCAPS2_CANDROPZ16BIT | Indicates that 16-bit RGBZ values can be converted into 16-bit RGB values. (The system does not support eight-bit conversions). |
DDCAPS2_CANFLIPODDEVEN | Indicates that the driver supports bob using software without using a video port. |
DDCAPS2_CANRENDERWINDOWED | Indicates that the driver can render in windowed mode. |
DDCAPS2_CERTIFIED | Indicates that display hardware is certified. |
DDCAPS2_COLORCONTROLOVERLAY | Indicates that the overlay surface contains color controls (brightness, sharpness, and so on). |
DDCAPS2_COLORCONTROLPRIMARY | Indicates that the primary surface contains color controls (gamma, and so on). |
DDCAPS2_COPYFOURCC | Indicates that the driver supports blitting any FOURCC surface to another surface of the same FOURCC. |
DDCAPS2_FLIPINTERVAL | Indicates that the driver will respond to the DDFLIP_INTERVAL2, DDFLIP_INTERVAL3, and DDFLIP_INTERVAL4 flags. |
DDCAPS2_FLIPNOVSYNC | Indicates that the driver will respond to DDFLIP_FLIPNOVSYNC. |
DDCAPS2_NO2DDURING3DSCENE | Not currently used on Windows CE. |
DDCAPS2_NONLOCALVIDMEM | Indicates that the driver supports non-local display memory. |
DDCAPS2_NONLOCALVIDMEMCAPS | Indicates that blit capabilities for non-local video memory surfaces differ from local video memory surfaces. If this flag is present, the DDCAPS2_NONLOCALVIDMEM flag will also be present. |
DDCAPS2_NOPAGELOCKREQUIRED | Indicates that the driver should be called for blits involving system memory surfaces even if the system memory surfaces are not pagelocked. |
DDCAPS2_PRIMARYGAMMA | Indicates the driver supports loadable gamma ramps for the primary surface. |
DDCAPS2_VIDEOPORT | Indicates that the display hardware contains a video port. |
DDCAPS2_WIDESURFACES | Indicates that the display driver can create surfaces wider than the primary surface. Drivers that set this bit should expect to receive CreateSurfacerequests from applications for surfaces wider than the primary surface. |
Flag | Usage |
---|---|
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_DESTBLTYUV | Supports transparent blitting with a color key that identifies the replaceable bits of the destination surface for YUV colors. |
DDCKEYCAPS_DESTOVERLAY | Supports overlaying with color keying of the replaceable bits of the destination surface being overlaid for RGB colors. |
DDCKEYCAPS_DESTOVERLAYCLRSPACE | Supports a color space as the color key for the destination of RGB colors. |
DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV | Supports a color space as the color key for the destination of YUV colors. |
DDCKEYCAPS_DESTOVERLAYONEACTIVE | Supports only one active destination color key value for visible overlay surfaces. |
DDCKEYCAPS_DESTOVERLAYYUV | Supports overlaying using color keying of the replaceable bits of the destination surface being overlaid for YUV colors. |
DDCKEYCAPS_NOCOSTOVERLAY | Indicates there are no bandwidth trade-offs for using the color key with an overlay. |
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. |
DDCKEYCAPS_SRCBLTYUV | Supports transparent blitting using the color key for the source with this surface for YUV colors. |
DDCKEYCAPS_SRCOVERLAY | Supports overlaying using the color key for the source with this overlay surface for RGB colors. |
DDCKEYCAPS_SRCOVERLAYCLRSPACE | Supports overlaying using a color space as the source color key for the overlay surface for RGB colors. |
DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV | Supports overlaying using a color space as the source color key for the overlay surface for YUV colors. |
DDCKEYCAPS_SRCOVERLAYONEACTIVE | Supports only one active source color key value for visible overlay surfaces. |
DDCKEYCAPS_SRCOVERLAYYUV | Supports overlaying using the color key for the source with this overlay surface for YUV colors. |
Flag | Usage |
---|---|
DDFXCAPS_BLTALPHA | Reserved for future use. |
DDFXCAPS_BLTARITHSTRETCHY | Uses arithmetic operations, rather than pixel-doubling techniques, to stretch and shrink surfaces during a blit operation. Occurs along the y-axis (vertically). |
DDFXCAPS_BLTARITHSTRETCHYN | Uses arithmetic operations, rather than pixel-doubling techniques, to stretch and shrink surfaces during a blit operation. Occurs along the y-axis (vertically), and works only for integer stretching (1, 2, and so on). |
DDFXCAPS_BLTFILTER | Reserved for future use. |
DDFXCAPS_BLTMIRRORLEFTRIGHT | Supports mirroring left to right in a blit operation. |
DDFXCAPS_BLTMIRRORUPDOWN | Supports mirroring top to bottom in a blit operation. |
DDFXCAPS_BLTROTATION | Supports arbitrary rotation in a blit operation. |
DDFXCAPS_BLTROTATION90 | Supports 90-degree rotations in a blit operation. |
DDFXCAPS_BLTSHRINKX | Supports arbitrary shrinking of a surface along the x-axis (horizontally). This flag is valid only for blit operations. |
DDFXCAPS_BLTSHRINKXN | Supports integer shrinking (1, 2, and so on) of a surface along the x-axis (horizontally). This flag is valid only for blit operations. |
DDFXCAPS_BLTSHRINKY | Supports arbitrary shrinking of a surface along the y-axis (vertically). This flag is valid only for blit operations. |
DDFXCAPS_BLTSHRINKYN | Supports integer shrinking (1, 2, and so on) of a surface along the y-axis (vertically). This flag is valid only for blit operations. |
DDFXCAPS_BLTSTRETCHX | Supports arbitrary stretching of a surface along the x-axis (horizontally). This flag is valid only for blit operations. |
DDFXCAPS_BLTSTRETCHXN | Supports integer stretching (1, 2, and so on) of a surface along the x-axis (horizontally). This flag is valid only for blit operations. |
DDFXCAPS_BLTSTRETCHY | Supports arbitrary stretching of a surface along the y-axis (vertically). This flag is valid only for blit operations. |
DDFXCAPS_BLTSTRETCHYN | Supports integer stretching (1, 2, and so on) of a surface along the y-axis (vertically). This flag is valid only for blit operations. |
DDFXCAPS_BLTTRANSFORM | Reserved for future use. |
DDFXCAPS_OVERLAYALPHA | Reserved for future use. |
DDFXCAPS_OVERLAYARITHSTRETCHY | Uses arithmetic operations, rather than pixel-doubling techniques, to stretch and shrink surfaces during an overlay operation. Occurs along the y-axis (vertically). |
DDFXCAPS_OVERLAYARITHSTRETCHYN | Uses arithmetic operations, rather than pixel-doubling techniques, to stretch and shrink surfaces during an overlay operation. Occurs along the y-axis (vertically), and works only for integer stretching (1, 2, and so on). |
DDFXCAPS_OVERLAYFILTER | Reserved for future use. |
DDFXCAPS_OVERLAYMIRRORLEFTRIGHT | Supports mirroring of overlays around the vertical axis. |
DDFXCAPS_OVERLAYMIRRORUPDOWN | Supports mirroring of overlays across the horizontal axis. |
DDFXCAPS_OVERLAYSHRINKX | Supports arbitrary shrinking of a surface along the x-axis (horizontally). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available. |
DDFXCAPS_OVERLAYSHRINKXN | Supports integer shrinking (1, 2, and so on) of a surface along the x-axis (horizontally). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available. |
DDFXCAPS_OVERLAYSHRINKY | Supports arbitrary shrinking of a surface along the y-axis (vertically). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available. |
DDFXCAPS_OVERLAYSHRINKYN | Supports integer shrinking (1, 2, and so on) of a surface along the y-axis (vertically). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available. |
DDFXCAPS_OVERLAYSTRETCHX | Supports arbitrary stretching of a surface along the x-axis (horizontally). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that stretching is available. |
DDFXCAPS_OVERLAYSTRETCHXN | Supports integer stretching (1, 2, and so on) of a surface along the x-axis (horizontally). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that stretching is available. |
DDFXCAPS_OVERLAYSTRETCHY | Supports arbitrary stretching of a surface along the y-axis (vertically). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that stretching is available. |
DDFXCAPS_OVERLAYSTRETCHYN | Supports integer stretching (1, 2, and so on) of a surface along the y-axis (vertically). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that stretching is available. |
DDFXCAPS_OVERLAYTRANSFORM | Reserved for future use. |
Flag | Usage |
---|---|
DDFXALPHACAPS_BLTALPHAEDGEBLEND | Supports alpha blending around the edge of a source color-keyed surface. Used for blit operations. |
DDFXALPHACAPS_BLTALPHAPIXELS | Supports alpha information in pixel format. The bit depth of alpha information in the pixel format can be 1, 2, 4, or 8. The alpha value becomes more opaque as the alpha value increases. Regardless of the depth of the alpha information, 0 is always the fully transparent value. Used for blit operations. |
DDFXALPHACAPS_BLTALPHAPIXELSNEG | Supports alpha information in pixel format. The bit depth of alpha information in the pixel format can be 1, 2, 4, or 8. The alpha value becomes more transparent as the alpha value increases. Regardless of the depth of the alpha information, 0 is always the fully opaque value. This flag can be used only if DDCAPS_ALPHA is set. Used for blit operations. |
DDFXALPHACAPS_BLTALPHASURFACES | Supports alpha-only surfaces. The bit depth of an alpha-only surface can be 1, 2, 4, or 8. The alpha value becomes more opaque as the alpha value increases. Regardless of the depth of the alpha information, 0 is always the fully transparent value. Used for blit operations. |
DDFXALPHACAPS_BLTALPHASURFACESNEG | Indicates that the alpha channel becomes more transparent as the alpha value increases. The depth of the alpha channel data can be 1, 2, 4, or 8. Regardless of the depth of the alpha information, 0 is always the fully opaque value. This flag can be set only if DDFXCAPS_ALPHASURFACES has been set. Used for blit operations. |
DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND | Supports alpha blending around the edge of a source color-keyed surface. Used for overlays. |
DDFXALPHACAPS_OVERLAYALPHAPIXELS | Supports alpha information in pixel format. The bit depth of alpha information in pixel format can be 1, 2, 4, or 8. The alpha value becomes more opaque as the alpha value increases. Regardless of the depth of the alpha information, 0 is always the fully transparent value. Used for overlays. |
DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG | Supports alpha information in pixel format. The bit depth of alpha information in pixel format can be 1, 2, 4, or 8. The alpha value becomes more transparent as the alpha value increases. Regardless of the depth of the alpha information, 0 is always the fully opaque value. This flag can be used only if DDFXCAPS_ALPHAPIXELS has been set. Used for overlays. |
DDFXALPHACAPS_OVERLAYALPHASURFACES | Supports alpha-only surfaces. The bit depth of an alpha-only surface can be 1, 2, 4, or 8. The alpha value becomes more opaque as the alpha value increases. Regardless of the depth of the alpha information, 0 is always the fully transparent value. Used for overlays. |
DDFXALPHACAPS_OVERLAYALPHASURFACESNEG | Indicates that the alpha channel becomes more transparent as the alpha value increases. The depth of the alpha channel data can be 1, 2, 4, or 8. Regardless of the depth of the alpha information, 0 is always the fully opaque value. This flag can be used only if DDFXCAPS_ALPHASURFACES has been set. Used for overlays. |
Flag | Usage |
---|---|
DDPCAPS_1BIT | Indicates that the index is 1 bit. There are two entries in the color table. Not supported in Windows CE. |
DDPCAPS_2BIT | Indicates that the index is 2 bits. There are four entries in the color table. Not supported in Windows CE. |
DDPCAPS_4BIT | Indicates that the index is 4 bits. There are 16 entries in the color table. Not supported in Windows CE. |
DDPCAPS_8BIT | Indicates that the index is 8 bits. There are 256 entries in the color table. |
DDPCAPS_8BITENTRIES | Specifies an index to an 8-bit color index. This field is valid only when used with the DDPCAPS_1BIT, DDPCAPS_2BIT, or DDPCAPS_4BIT capability and when the target surface is in 8 bits per pixel (bpp). Each color entry is 1 byte long and is an index to an 8-bpp palette on the destination surface. |
DDPCAPS_ALLOW256 | Indicates that this palette can have all 256 entries defined. |
DDPCAPS_ALPHA | Indicates that the peFlagsmember of the PALETTEENTRYstructure denotes an 8-bit alpha value. |
DDPCAPS_INITIALIZE | This flag is not used. |
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. |
DDPCAPS_PRIMARYSURFACELEFT | Indicates that the palette is attached to the primary surface on the left. Changing the palette has an immediate effect on the display unless the DDPCAPS_VSYNC capability is specified and supported. |
Flag | Usage |
---|---|
DDSVCAPS_ENIGMA | Indicates that the stereo view is accomplished using Enigma encoding. |
DDSVCAPS_FLICKER | Indicates that the stereo view is accomplished using high-frequency flickering. |
DDSVCAPS_REDBLUE | Indicates that the stereo view is accomplished when the viewer looks at the image through red and blue filters placed over the left and right eyes. All images must adapt their color spaces for this process. |
DDSVCAPS_SPLIT | Indicates that the stereo view is accomplished with split-screen technology. |
Last updated on Tuesday, July 13, 2004