DDCAPS_DX3 结构 (ddraw.h)

DDCAPS 结构表示通过 DirectDraw 对象公开的硬件的功能。 此结构包含在此上下文中使用的 DDSCAPS2 结构,用于描述可以创建哪些类型的 DirectDrawSurface 对象。 可能无法同时创建这些功能描述的所有图面。 此结构与 IDirectDraw7::GetCaps 方法一起使用。

Ddraw.h 头文件包含此结构的多个版本, (例如DDCAPS_DX7) 。 有关如何确定要使用的版本的详细信息,请参阅备注。

语法

typedef struct _DDCAPS_DX3 {
  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   dwReserved4;
  DWORD   dwReserved5;
  DWORD   dwReserved6;
} DDCAPS_DX3;

成员

dwSize

结构的大小(以字节为单位)。 必须先初始化此成员,然后才能使用结构。

dwCaps

此值由以下一个或多个指定硬件和驱动程序功能的标志组成。

DDCAPS_3D

显示硬件具有三维加速。

DDCAPS_ALIGNBOUNDARYDEST

DirectDraw 仅支持那些 x 轴与图面的 dwAlignBoundaryDest 边界对齐的目标覆盖矩形。

DDCAPS_ALIGNBOUNDARYSRC

DirectDraw 仅支持那些 x 轴与图面的 dwAlignBoundarySrc 边界对齐的覆盖源矩形。

DDCAPS_ALIGNSIZEDEST

DirectDraw 仅支持 x 轴大小(以像素为单位)为 dwAlignSizeDest 倍数的覆盖目标矩形。

DDCAPS_ALIGNSIZESRC

DirectDraw 仅支持 x 轴大小(以像素为单位)为 dwAlignSizeSrc 倍数的覆盖源矩形。

DDCAPS_ALIGNSTRIDE

DirectDraw 创建步幅对齐方式等于 dwAlignStrideAlign 值的显示内存图面。

DDCAPS_ALPHA

显示硬件支持仅限 alpha 的表面。

DDCAPS_BANKSWITCHED

显示硬件是银行交换的,在随机访问显示内存时可能会非常慢。

DDCAPS_BLT

显示硬件能够进行位块传输 (bitblt) 操作。

DDCAPS_BLTCOLORFILL

显示硬件能够用光片填充颜色。

DDCAPS_BLTDEPTHFILL

显示硬件能够使用分片深度填充 z 缓冲区。

DDCAPS_BLTFOURCC

显示硬件能够在 bitblt 操作期间进行颜色空间转换。

DDCAPS_BLTQUEUE

显示硬件能够执行异步 bitblt 操作。

DDCAPS_BLTSTRETCH

显示硬件能够在 bitblt 操作期间进行拉伸。

DDCAPS_CANBLTSYSMEM

显示硬件能够与系统内存进行分流。

DDCAPS_CANCLIP

显示硬件能够使用 blitting 进行剪辑。

DDCAPS_CANCLIPSTRETCHED

显示硬件能够在拉伸时进行剪裁。

DDCAPS_COLORKEY

支持覆盖或 bitblt 操作中的某种颜色键。 可以在 dwCKeyCaps 成员中找到更具体的颜色键功能信息。

DDCAPS_COLORKEYHWASSIST

颜色键部分由硬件辅助。 这意味着可以使用 (CPU 或视频内存) 的其他资源。 如果未设置此位,则会提供完整的硬件支持。

DDCAPS_GDI

显示硬件与 GDI 共享。

DDCAPS_NOHARDWARE

没有硬件支持。

DDCAPS_OVERLAY

显示硬件支持覆盖。

DDCAPS_OVERLAYCANTCLIP

显示硬件支持覆盖,但不能剪裁它们。

DDCAPS_OVERLAYFOURCC

覆盖硬件能够在覆盖操作期间进行颜色空间转换。

DDCAPS_OVERLAYSTRETCH

覆盖硬件能够拉伸。 dwMinOverlayStretchdwMaxOverlayStretch 成员包含有效数据。

DDCAPS_PALETTE

DirectDraw 能够为主图面以外的表面创建和支持 DirectDrawPalette 对象。

DDCAPS_PALETTEVSYNC

DirectDraw 能够更新与垂直刷新同步的调色板。

DDCAPS_READSCANLINE

显示硬件能够返回当前扫描线。

DDCAPS_VBI

显示硬件能够生成垂直空白中断。

DDCAPS_ZBLTS

支持将 z 缓冲区与 bitblt 运算配合使用。

DDCAPS_ZOVERLAYS

支持使用 IDirectDrawSurface7::UpdateOverlayZOrder 方法作为覆盖层的 z 值来控制其分层。

dwCaps2

此值由以下一个或多个指定更多硬件和驱动程序功能的标志组成。

DDCAPS2_AUTOFLIPOVERLAY

每次发生视频端口 VSYNC 时,覆盖层都可以自动翻转到翻转链中的下一个图面,从而允许视频端口和覆盖层对视频进行双重缓冲,而无需 CPU 开销。 仅当 Surface 从视频端口接收数据时,此选项才有效。 如果视频端口数据是非隔行或非交错的,它会在每个 VSYNC 上翻转。 如果数据在内存中交错,它将在所有其他 VSYNC 上翻转。

DDCAPS2_CANBOBHARDWARE

覆盖硬件可以单独显示交错视频流的每个字段。

DDCAPS2_CANBOBINTERLEAVED

覆盖硬件可以在交错在内存中时单独显示交错视频流的每个字段,而不会导致在没有特殊硬件支持的情况下通常可能发生的任何项目。 仅当图面从视频端口接收数据并且视频在垂直方向上至少缩放两次时,此选项才有效。

DDCAPS2_CANBOBNONINTERLEAVED

覆盖硬件可以在不交错在内存中时单独显示交错视频流的每个字段,而不会导致在没有特殊硬件支持的情况下通常可能发生的任何项目。 仅当图面从视频端口接收数据并且视频在垂直方向上至少缩放两次时,此选项才有效。

DDCAPS2_CANCALIBRATEGAMMA

系统安装了一个校准器,该校准器可以自动调整伽玛斜率,以便在具有校准器的所有系统上的结果相同。 若要在设置新的伽玛级别时调用校准器,请在调用 IDirectDrawGammaControl::SetGammaRamp 方法时使用 DDSGR_CALIBRATE 标志。 校准伽玛渐变会产生一些处理开销,不应经常使用。

DDCAPS2_CANDROPZ16BIT

可以将 16 位 RGBZ 值转换为 16 位 RGB 值。 (系统不支持 8 位转换。)

DDCAPS2_CANFLIPODDEVEN

驱动程序能够执行由DDFLIP_ODD和DDFLIP_EVEN标志指定的奇数和偶翻转操作,这些标志与 IDirectDrawSurface7::Flip 方法一起使用。

DDCAPS2_CANMANAGETEXTURE

Direct3D 纹理管理器使用此功能决定是否将托管图面置于非局部视频内存中。 如果设置了该功能,纹理管理器会将托管图面置于非局部视频内存中。 无法从本地视频内存纹理的驱动程序不应设置此功能。

DDCAPS2_CANRENDERWINDOWED

驱动程序能够在窗口模式下呈现。

DDCAPS2_CERTIFIED

显示硬件已通过认证。

DDCAPS2_COLORCONTROLPRIMARY

主图面包含颜色控件 (例如 gamma) 。

DDCAPS2_COLORCONTROLOVERLAY

覆盖图面包含颜色控件 (,例如亮度和锐度) 。

DDCAPS2_COPYFOURCC

驱动程序支持将任何 FOURCC 图面分条到同一 FOURCC 的另一个图面。

DDCAPS2_FLIPINTERVAL

驱动程序响应 DDFLIP_INTERVAL* 标志。 (有关这些标志的详细信息,请参阅 IDirectDrawSurface7::Flip) 。

DDCAPS2_FLIPNOVSYNC

驱动程序响应 DDFLIP_NOVSYNC 标志 (有关此标志的详细信息,请参阅 IDirectDrawSurface7::Flip) 。

DDCAPS2_NO2DDURING3DSCENE

在调用 BeginScene 和 EndScene 方法之间,无法在 Direct3D 使用的任何表面上执行 IDirectDrawSurface7::Blt 和 IDirectDrawSurface7::Lock 等二维操作。

DDCAPS2_NONLOCALVIDMEM

显示驱动程序支持非本地视频内存中的图面。

DDCAPS2_NONLOCALVIDMEMCAPS

非局部视频内存图面的 Bitblt 功能不同于本地视频内存图面。 如果存在此标志,则DDCAPS2_NONLOCALVIDMEM标志也存在。

DDCAPS2_NOPAGELOCKREQUIRED

未进行页面锁定的系统内存图面支持 DMA bitblt 操作。

DDCAPS2_PRIMARYGAMMA

支持主图面的动态伽玛渐变。

DDCAPS2_STEREO

DirectX 7.0 的新增功能。 打开 dwSVCaps 位以支持立体声模式。 驱动程序可以在当前模式以外的至少一种模式下进行立体声。 应用程序可以使用 IDirectDraw7::GetDisplayModeIDirectDraw7::EnumDisplayModes 获取每模式立体声信息。

DDCAPS2_TEXMANINNONLOCALVIDMEM

DirectX 7.0 的新增功能。 Direct3D 纹理管理器使用此功能决定是否将托管图面置于非局部视频内存中。 如果设置了该功能,纹理管理器会将托管图面置于非局部视频内存中。 无法从本地视频内存纹理的驱动程序不应设置此功能。

DDCAPS2_VIDEOPORT

显示硬件支持实时视频。

DDCAPS2_WIDESURFACES

显示图面支持比主图面宽的图面。

dwCKeyCaps

此值由以下一个或多个指定颜色键功能的标志组成。

DDCKEYCAPS_DESTBLT

支持使用颜色键进行透明分化,该颜色键标识 RGB 颜色的目标图面的可替换位。

DDCKEYCAPS_DESTBLTCLRSPACE

支持使用颜色空间的透明分条,该颜色空间标识 RGB 颜色的目标图面的可替换位。

DDCKEYCAPS_DESTBLTCLRSPACEYUV

支持使用颜色空间的透明分条,该颜色空间标识目标图面的可替换位,以便使用 YUV 颜色。

DDCKEYCAPS_DESTBLTYUV

支持使用颜色键进行透明分化,该颜色键标识 YUV 颜色的目标图面的可替换位。

DDCKEYCAPS_DESTOVERLAY

支持通过颜色键控制覆盖要叠加 RGB 颜色的目标图面的可替换位进行覆盖。

DDCKEYCAPS_DESTOVERLAYCLRSPACE

支持将颜色空间作为 RGB 颜色目标的颜色键。

DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV

支持将颜色空间作为 YUV 颜色目标的颜色键。

DDCKEYCAPS_DESTOVERLAYONEACTIVE

对于可见覆盖图面,仅支持一个活动目标颜色键值。

DDCKEYCAPS_DESTOVERLAYYUV

支持叠加,使用目标图面的可替换位的颜色键控制来叠加 YUV 颜色。

DDCKEYCAPS_NOCOSTOVERLAY

指示将颜色键与覆盖层一起使用时没有带宽权衡。

DDCKEYCAPS_SRCBLT

支持透明分条,将源的颜色键用于此图面的 RGB 颜色。

DDCKEYCAPS_SRCBLTCLRSPACE

支持透明分条,将颜色空间用于源,此图面用于 RGB 颜色。

DDCKEYCAPS_SRCBLTCLRSPACEYUV

支持透明分条,将颜色空间用于源,此图面用于 YUV 颜色。

DDCKEYCAPS_SRCBLTYUV

支持透明分条,将源的颜色键与此图面用于 YUV 颜色。

DDCKEYCAPS_SRCOVERLAY

支持叠加,将源的颜色键与 RGB 颜色的覆盖图面配合使用。

DDCKEYCAPS_SRCOVERLAYCLRSPACE

支持叠加,使用颜色空间作为 RGB 颜色覆盖图面的源颜色键。

DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV

支持叠加,使用颜色空间作为 YUV 颜色覆盖图面的源颜色键。

DDCKEYCAPS_SRCOVERLAYONEACTIVE

对于可见覆盖图面,仅支持一个活动源颜色键值。

DDCKEYCAPS_SRCOVERLAYYUV

支持叠加,将源的颜色键与 YUV 颜色的覆盖图面配合使用。

dwFXCaps

此值由以下一个或多个指定驱动程序拉伸和效果功能的标志组成。

DDFXCAPS_BLTALPHA

支持 alpha 混合 bitblt 运算。

DDFXCAPS_BLTARITHSTRETCHY

在 bitblt 运算期间,使用算术运算而不是像素加倍技术来拉伸和收缩图面。 沿 y 轴 (垂直) 发生。

DDFXCAPS_BLTARITHSTRETCHYN

在 bitblt 运算期间,使用算术运算而不是像素加倍技术来拉伸和收缩图面。 沿 y 轴 (垂直) 发生,仅适用于整数拉伸 (× 1、×2 等) 。

DDFXCAPS_BLTFILTER

驱动程序可以对扭曲的 bitblt 执行表面重建筛选。

DDFXCAPS_BLTMIRRORLEFTRIGHT

支持在 bitblt 操作中从左到右镜像。

DDFXCAPS_BLTMIRRORUPDOWN

支持在 bitblt 操作中从上到下镜像。

DDFXCAPS_BLTROTATION

支持 bitblt 操作中的任意旋转。

DDFXCAPS_BLTROTATION90

支持 bitblt 运算中的 90 度旋转。

DDFXCAPS_BLTSHRINKX

支持沿 x 轴任意收缩图面, (水平) 。 此标志仅对 bitblt 操作有效。

DDFXCAPS_BLTSHRINKXN

支持沿 x 轴 (水平) 图面的整数收缩 (× 1、×2 等) 。 此标志仅对 bitblt 操作有效。

DDFXCAPS_BLTSHRINKY

支持沿 y 轴任意收缩图面, (垂直) 。 此标志仅对 bitblt 操作有效。

DDFXCAPS_BLTSHRINKYN

支持沿 y 轴 (垂直) 图面的整数收缩 (× 1、×2 等) 。 此标志仅对 bitblt 操作有效。

DDFXCAPS_BLTSTRETCHX

支持沿 x 轴的任意拉伸图面 (水平) 。 此标志仅对 bitblt 操作有效。

DDFXCAPS_BLTSTRETCHXN

支持沿 x 轴 (水平) 图面的整数拉伸 (× 1、×2 等) 。 此标志仅对 bitblt 操作有效。

DDFXCAPS_BLTSTRETCHY

支持沿 y 轴任意拉伸图面, (垂直) 。 此标志仅对 bitblt 操作有效。

DDFXCAPS_BLTSTRETCHYN

支持沿 y 轴 (垂直) 图面的整数拉伸 (× 1、×2 等) 。 此标志仅对 bitblt 操作有效。

DDFXCAPS_BLTTRANSFORM

支持 (或扭曲) 的几何转换。 显式 bitblt 操作当前不支持转换。

DDFXCAPS_OVERLAYALPHA

支持覆盖图面的 alpha 混合。

DDFXCAPS_OVERLAYARITHSTRETCHY

使用算术运算而不是像素加倍技术来拉伸和收缩覆盖图面。 沿 y 轴 (垂直) 发生。

DDFXCAPS_OVERLAYARITHSTRETCHYN

使用算术运算而不是像素加倍技术来拉伸和收缩覆盖图面。 沿 y 轴 (垂直) 发生,仅适用于整数拉伸 (× 1、×2 等) 。

DDFXCAPS_OVERLAYFILTER

支持扭曲覆盖子画面的图面重建筛选。 显式显示的覆盖图面当前不支持筛选, (调用 IDirectDrawSurface7::UpdateOverlay) 显示的覆盖图面。

DDFXCAPS_OVERLAYMIRRORLEFTRIGHT

支持跨纵轴的覆盖镜像。

DDFXCAPS_OVERLAYMIRRORUPDOWN

支持跨水平轴的覆盖镜像。

DDFXCAPS_OVERLAYSHRINKX

支持沿 x 轴任意收缩图面, (水平) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不指示收缩可用。

DDFXCAPS_OVERLAYSHRINKXN

支持沿 x 轴 (水平) 图面的整数收缩 (× 1、×2 等) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不指示收缩可用。

DDFXCAPS_OVERLAYSHRINKY

支持沿 y 轴任意收缩图面, (垂直) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不指示收缩可用。

DDFXCAPS_OVERLAYSHRINKYN

支持沿 y 轴 (垂直) 图面的整数收缩 (× 1、×2 等) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不指示收缩可用。

DDFXCAPS_OVERLAYSTRETCHX

支持沿 x 轴的任意拉伸图面 (水平) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不表示拉伸可用。

DDFXCAPS_OVERLAYSTRETCHXN

支持沿 x 轴 (水平) 图面的整数拉伸 (× 1、×2 等) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不表示拉伸可用。

DDFXCAPS_OVERLAYSTRETCHY

支持沿 y 轴任意拉伸图面, (垂直) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不表示拉伸可用。

DDFXCAPS_OVERLAYSTRETCHYN

支持沿 y 轴 (垂直) 图面的整数拉伸 (× 1、×2 等) 。 此标志仅对DDSCAPS_OVERLAY图面有效。 此标志仅指示图面的功能;它并不表示拉伸可用。

DDFXCAPS_OVERLAYTRANSFORM

支持覆盖子画面的几何转换 (或扭曲) 。 显式显示的覆盖图面当前不支持转换, (通过调用 IDirectDrawSurface7::UpdateOverlay) 显示的图面。

dwFXAlphaCaps

此值由以下一个或多个指定驱动程序 alpha 功能的标志组成。

DDFXALPHACAPS_BLTALPHAEDGEBLEND

支持围绕源颜色键的图面边缘进行 alpha 混合。 用于 bitblt 操作。

DDFXALPHACAPS_BLTALPHAPIXELS

支持像素格式的 alpha 信息。 以像素格式表示的 alpha 信息的位深度可以是 1、2、4 或 8。 随着 alpha 值的增加,alpha 值变得更加不透明。 无论 alpha 信息的深度如何,0 始终是完全透明的值。 用于 bitblt 操作。

DDFXALPHACAPS_BLTALPHAPIXELSNEG

支持像素格式的 alpha 信息。 以像素格式表示的 alpha 信息的位深度可以是 1、2、4 或 8。 随着 alpha 值的增加,alpha 值变得更加透明。 无论 alpha 信息的深度如何,0 始终是完全不透明的值。 仅当设置了DDCAPS_ALPHA时,才能使用此标志。 用于 bitblt 操作。

DDFXALPHACAPS_BLTALPHASURFACES

支持仅限 alpha 的图面。 仅限 alpha 的图面的位深度可以是 1、2、4 或 8。 随着 alpha 值的增加,alpha 值变得更加不透明。 无论 alpha 信息的深度如何,0 始终是完全透明的值。 用于 bitblt 操作。

DDFXALPHACAPS_BLTALPHASURFACESNEG

指示 alpha 通道随着 alpha 值的增加而变得更加透明。 alpha 通道数据的深度可以是 1、2、4 或 8。 无论 alpha 信息的深度如何,0 始终是完全不透明的值。 仅当已设置DDCAPS_ALPHA时,才能设置此标志。 用于 bitblt 操作。

DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND

支持围绕源颜色键的图面边缘进行 alpha 混合。 用于覆盖。

DDFXALPHACAPS_OVERLAYALPHAPIXELS

支持像素格式的 alpha 信息。 以像素格式表示的 alpha 信息的位深度可以是 1、2、4 或 8。 随着 alpha 值的增加,alpha 值变得更加不透明。 无论 alpha 信息的深度如何,0 始终是完全透明的值。 用于覆盖。

DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG

支持像素格式的 alpha 信息。 以像素格式表示的 alpha 信息的位深度可以是 1、2、4 或 8。 随着 alpha 值的增加,alpha 值变得更加透明。 无论 alpha 信息的深度如何,0 始终是完全不透明的值。 仅当设置了DDCAPS_ALPHA时,才能使用此标志。 用于覆盖。

DDFXALPHACAPS_OVERLAYALPHASURFACES

支持仅限 alpha 的图面。 仅限 alpha 的图面的位深度可以是 1、2、4 或 8。 随着 alpha 值的增加,alpha 值变得更加不透明。 无论 alpha 信息的深度如何,0 始终是完全透明的值。 用于覆盖。

DDFXALPHACAPS_OVERLAYALPHASURFACESNEG

指示 alpha 通道随着 alpha 值的增加而变得更加透明。 alpha 通道数据的深度可以是 1、2、4 或 8。 无论 alpha 信息的深度如何,0 始终是完全不透明的值。 仅当设置了DDCAPS_ALPHA时,才能使用此标志。 用于覆盖。

dwPalCaps

此值由以下一个或多个指定调色板功能的标志组成。

DDPCAPS_1BIT

支持包含 1 位颜色条目的调色板 (两种颜色) 。

DDPCAPS_2BIT

支持包含 2 位颜色条目的调色板 (四种颜色) 。

DDPCAPS_4BIT

支持包含 4 位颜色条目的调色板 (16 色) 。

DDPCAPS_8BIT

支持包含 8 位颜色条目的调色板 (256 种颜色) 。

DDPCAPS_8BITENTRIES

指定 8 位颜色索引的索引。 仅当与DDPCAPS_1BIT、DDPCAPS_2BIT或DDPCAPS_4BIT功能一起使用,并且目标图面为每像素 8 位 (bpp) 时,此字段才有效。 每个颜色条目的长度为 1 字节,是目标图面上 8 bpp 调色板的索引。

DDPCAPS_ALPHA

支持包含 alpha 组件的调色板。 对于支持 alpha 的调色板,除了 peRedpeGreenpeBlue 成员) 的颜色数据外,调色板包含的每个 PALETTEENTRY 结构的 peFlags 成员将被解释为单个 8 位 alpha 值 (。 使用此标志创建的调色板只能附加到纹理图面。

DDPCAPS_ALLOW256

支持可定义所有 256 个条目的调色板。

DDPCAPS_PRIMARYSURFACE

调色板连接到主图面。 除非指定并支持DDPCAPS_VSYNC功能,否则更改调色板会立即对显示器产生影响。

DDPCAPS_PRIMARYSURFACELEFT

调色板连接到左侧的主图面。 除非指定并支持DDPCAPS_VSYNC功能,否则更改调色板会立即对显示器产生影响。

DDPCAPS_VSYNC

可以使用监视器的刷新率同步修改调色板。

dwSVCaps

此值由以下一个或多个指定立体视觉功能的标志组成。

DDSVCAPS_RESERVED1、DDSVCAPS_RESERVED2、DDSVCAPS_RESERVED3、DDSVCAPS_RESERVED4

保留标志。

DDSVCAPS_STEREOSEQUENTIAL

DirectX 7.0 的新增功能。 驱动程序可以在当前模式以外的至少一种模式下进行立体声。 应用程序可以使用 IDirectDraw7::GetDisplayModeIDirectDraw7::EnumDisplayModes 获取每模式立体声信息。

dwAlphaBltConstBitDepths

DDBD_2、DDBD_4 或 DDBD_8。 (指示每个像素 2 位、4 位或 8 位。)

dwAlphaBltPixelBitDepths

DDBD_1、DDBD_2、DDBD_4或DDBD_8。 (指示每个像素 1、2、4 或 8 位。)

dwAlphaBltSurfaceBitDepths

DDBD_1、DDBD_2、DDBD_4或DDBD_8。 (指示每个像素 1、2、4 或 8 位。)

dwAlphaOverlayConstBitDepths

DDBD_2、DDBD_4 或 DDBD_8。 (指示每个像素 2 位、4 位或 8 位。)

dwAlphaOverlayPixelBitDepths

DDBD_1、DDBD_2、DDBD_4或DDBD_8。 (指示每个像素 1、2、4 或 8 位。)

dwAlphaOverlaySurfaceBitDepths

DDBD_1、DDBD_2、DDBD_4或DDBD_8。 (指示每个像素 1、2、4 或 8 位。)

dwZBufferBitDepths

DDBD_8、DDBD_16、DDBD_24或DDBD_32。 (指示每个像素 8 位、16 位、24 位或 32 位。) 此成员在 DirectX 6.0 及更高版本中已过时。 使用 IDirect3D7::EnumZBufferFormats 检索有关支持的深度缓冲区格式的信息。

dwVidMemTotal

设备上的显示内存总量(以字节为单位)减去为主图面和驱动程序保留的任何专用数据结构保留的内存。 (此值与 IDirectDraw7::GetAvailableVidMem 方法报告的总视频内存相同。)

dwVidMemFree

可用显示内存。 此值等于 dwVidMemTotal 中的值,减去应用程序当前为图面分配的任何内存。 与 IDirectDraw7::GetAvailableVidMem 方法不同,该方法报告可用于特定类型的表面 ((如纹理) )的内存,此值反映可用于任何类型的图面的内存。

dwMaxVisibleOverlays

可见覆盖或覆盖子画面的最大数目。

dwCurrVisibleOverlays

可见覆盖或覆盖子画面的当前数量。

dwNumFourCCCodes

FourCC 代码的数目。

dwAlignBoundarySrc

覆盖图面的源矩形对齐方式(以像素为单位)。

dwAlignSizeSrc

覆盖图面的源矩形大小对齐方式(以像素为单位)。 覆盖源矩形的像素宽度必须是此值的倍数。

dwAlignBoundaryDest

覆盖图面的目标矩形对齐方式(以像素为单位)。

dwAlignSizeDest

覆盖图面的目标矩形大小对齐方式(以像素为单位)。 覆盖目标矩形的像素宽度必须是此值的倍数。

dwAlignStrideAlign

步幅对齐。

dwRops[DD_ROP_SPACE]

支持的光栅操作。

ddsCaps

包含常规表面功能的 DDSCAPS2 结构。

dwMinOverlayStretch

最小覆盖拉伸因子,乘以 1000。 例如,1.3 = 1300。

dwMaxOverlayStretch

最大覆盖拉伸因子,乘以 1000。 例如,1.3 = 1300。

dwMinLiveVideoStretch

过时;请勿使用。

dwMaxLiveVideoStretch

过时;请勿使用。

dwMinHwCodecStretch

过时;请勿使用。

dwMaxHwCodecStretch

过时;请勿使用。

dwReserved1

预留

dwReserved2

预留

dwReserved3

预留

dwSVBCaps

特定于驱动程序的功能,用于从系统内存中获取 bitblts 来显示内存。 有效标志与与 dwCaps 成员一起使用的与 bitblt 相关的标志相同。

dwSVBCKeyCaps

用于从系统内存中获取位的驱动程序颜色键功能,用于显示内存。 有效标志与与 dwCKeyCaps 成员一起使用的与 bitblt 相关的标志相同。

dwSVBFXCaps

用于从系统内存显示内存的 bitblts 的驱动程序 FX 功能。 有效标志与与 dwFXCaps 成员一起使用的与 bitblt 相关的标志相同。

dwSVBRops[DD_ROP_SPACE]

支持从系统内存中获取位来显示内存的光栅操作。

dwVSBCaps

适用于从显示内存到系统内存的 bitblts 的特定于驱动程序的功能。 有效标志与与 dwCaps 成员一起使用的与 bitblt 相关的标志相同。

dwVSBCKeyCaps

用于从显示内存到系统内存的 bitblts 的驱动程序颜色键功能。 有效标志与与 dwCKeyCaps 成员一起使用的与 bitblt 相关的标志相同。

dwVSBFXCaps

用于从显示内存到系统内存的比特的驱动程序 FX 功能。 有效标志与与 dwFXCaps 成员一起使用的与 bitblt 相关的标志相同。

dwVSBRops[DD_ROP_SPACE]

从显示内存到系统内存的 bitblts 支持的光栅操作。

dwSSBCaps

特定于驱动程序的功能,用于从系统内存到系统内存的 bitblts。 有效标志与 与 dwCaps 成员一起使用的与 bitblt 相关的标志相同。

dwSSBCKeyCaps

用于从系统内存到系统内存的 bitblts 的驱动程序颜色键功能。 有效标志与 与 dwCKeyCaps 成员一起使用的与 bitblt 相关的标志相同。

dwSSBFXCaps

用于从系统内存到系统内存的比特的驱动程序 FX 功能。 有效标志与与 dwFXCaps 成员一起使用的与 bitblt 相关的标志相同。

dwSSBRops[DD_ROP_SPACE]

从系统内存到系统内存的 bitblts 支持的光栅操作。

dwReserved4

预留

dwReserved5

预留

dwReserved6

预留

备注

为了向后兼容,Ddraw.h 头文件包含 DDCAPS 结构的多个定义。 传递预处理器的版本由DIRECTDRAW_VERSION常量的值确定。

要求

   
标头 ddraw.h