IDirectDraw -
INTERACES FOLLOW:
IDirectDraw
IDirectDrawClipper
IDirectDrawPalette
IDirectDrawSurface
{ IDirectDraw
IDirectDrawClipper - IDirectDrawClipper
IDirectDrawPalette - IDirectDrawPalette
IDirectDrawSurface - IDirectDrawSurface and related interfaces
DirectDrawCreate - API's
DDBLTBATCH
DDBLTFX
DDCAPS
DDCOLORKEY
DDMODEDESC
DDOVERLAYFX
DDPIXELFORMAT
DDSCAPS
DDSURFACEDESC
LPCLIPPERCALLBACK
LPDDBLTBATCH
LPDDBLTFX
LPDDCAPS
LPDDCOLORKEY
LPDDENUMMODESCALLBACK
LPDDENUMSURFACESCALLBACK
LPDDMODEDESC
LPDDOVERLAYFX
LPDDPIXELFORMAT
LPDDSCAPS
LPDDSURFACEDESC
LPSURFACESTREAMINGCALLBACK
DDALPHA1_OPAQUE
DDALPHA1_TRANSPARENT
DDALPHA2_50
DDALPHA2_OPAQUE
DDALPHA2_TRANSPARENT
DDALPHA4_50
DDALPHA4_OPAQUE
DDALPHA4_OPAQUEMOD
DDALPHA4_TRANSPARENT
DDALPHA8_50
DDALPHA8_OPAQUE
DDALPHA8_OPAQUEMOD
DDALPHA8_TRANSPARENT
DDBD_1
DDBD_16
DDBD_2
DDBD_24
DDBD_32
DDBD_4
DDBD_8
DDBLTFAST_DESTCOLORKEY
DDBLTFAST_NOCOLORKEY
DDBLTFAST_SRCCOLORKEY
DDBLTFAST_WAIT
DDBLTFX_ARITHSTRETCHY
DDBLTFX_MIRRORLEFTRIGHT
DDBLTFX_MIRRORUPDOWN
DDBLTFX_NOTEARING
DDBLTFX_ROTATE180
DDBLTFX_ROTATE270
DDBLTFX_ROTATE90
DDBLTFX_ZBUFFERBASEDEST
DDBLTFX_ZBUFFERRANGE
DDBLT_ALPHADEST
DDBLT_ALPHADESTCONSTOVERRIDE
DDBLT_ALPHADESTNEG
DDBLT_ALPHADESTSURFACEOVERRIDE
DDBLT_ALPHAEDGEBLEND
DDBLT_ALPHASRC
DDBLT_ALPHASRCCONSTOVERRIDE
DDBLT_ALPHASRCNEG
DDBLT_ALPHASRCSURFACEOVERRIDE
DDBLT_ASYNC
DDBLT_COLORFILL
DDBLT_DDFX
DDBLT_DDROPS
DDBLT_KEYDEST
DDBLT_KEYDESTOVERRIDE
DDBLT_KEYSRC
DDBLT_KEYSRCOVERRIDE
DDBLT_ROP
DDBLT_ROTATIONANGLE
DDBLT_WAIT
DDBLT_ZBUFFER
DDBLT_ZBUFFERDESTCONSTOVERRIDE
DDBLT_ZBUFFERDESTOVERRIDE
DDBLT_ZBUFFERSRCCONSTOVERRIDE
DDBLT_ZBUFFERSRCOVERRIDE
DDCAPS2_CERTIFIED
DDCAPS_3D
DDCAPS_ALIGNBOUNDARYDEST
DDCAPS_ALIGNBOUNDARYSRC
DDCAPS_ALIGNSIZEDEST
DDCAPS_ALIGNSIZESRC
DDCAPS_ALIGNSTRIDE
DDCAPS_ALPHA
DDCAPS_BANKSWITCHED
DDCAPS_BLT
DDCAPS_BLTCOLORFILL
DDCAPS_BLTFOURCC
DDCAPS_BLTQUEUE
DDCAPS_BLTSTRETCH
DDCAPS_COLORKEY
DDCAPS_COLORKEYHWASSIST
DDCAPS_GDI
DDCAPS_NOHARDWARE
DDCAPS_OVERLAY
DDCAPS_OVERLAYCANTCLIP
DDCAPS_OVERLAYFOURCC
DDCAPS_OVERLAYSTRETCH
DDCAPS_PALETTE
DDCAPS_PALETTEVSYNC
DDCAPS_READSCANLINE
DDCAPS_STEREOVIEW
DDCAPS_VBI
DDCAPS_ZBLTS
DDCAPS_ZOVERLAYS
DDCKEYCAPS_DESTBLT
DDCKEYCAPS_DESTBLTCLRSPACE
DDCKEYCAPS_DESTBLTCLRSPACEYUV
DDCKEYCAPS_DESTBLTYUV
DDCKEYCAPS_DESTOVERLAY
DDCKEYCAPS_DESTOVERLAYCLRSPACE
DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV
DDCKEYCAPS_DESTOVERLAYONEACTIVE
DDCKEYCAPS_DESTOVERLAYYUV
DDCKEYCAPS_NOCOSTOVERLAY
DDCKEYCAPS_SRCBLT
DDCKEYCAPS_SRCBLTCLRSPACE
DDCKEYCAPS_SRCBLTCLRSPACEYUV
DDCKEYCAPS_SRCBLTYUV
DDCKEYCAPS_SRCOVERLAY
DDCKEYCAPS_SRCOVERLAYCLRSPACE
DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV
DDCKEYCAPS_SRCOVERLAYONEACTIVE
DDCKEYCAPS_SRCOVERLAYYUV
DDCKEY_COLORSPACE
DDCKEY_DESTBLT
DDCKEY_DESTOVERLAY
DDCKEY_SRCBLT
DDCKEY_SRCOVERLAY
DDCREATE_EMULATIONONLY
DDCREATE_HARDWAREONLY
DDENUMOVERLAYZ_BACKTOFRONT
DDENUMOVERLAYZ_FRONTTOBACK
DDENUMRET_CANCEL
DDENUMRET_OK
DDENUMSURFACES_ALL
DDENUMSURFACES_CANBECREATED
DDENUMSURFACES_DOESEXIST
DDENUMSURFACES_MATCH
DDENUMSURFACES_NOMATCH
DDERR_ALREADYINITIALIZED
DDERR_BLTFASTCANTCLIP
DDERR_CANNOTATTACHSURFACE
DDERR_CANNOTDETACHSURFACE
DDERR_CANTCREATEDC
DDERR_CANTDUPLICATE
DDERR_CLIPPERISUSINGHWND
DDERR_COLORKEYNOTSET
DDERR_CURRENTLYNOTAVAIL
DDERR_DIRECTDRAWALREADYCREATED
DDERR_EXCEPTION
DDERR_EXCLUSIVEMODEALREADYSET
DDERR_GENERIC
DDERR_HEIGHTALIGN
DDERR_HWNDALREADYSET
DDERR_HWNDSUBCLASSED
DDERR_IMPLICITLYCREATED
DDERR_INCOMPATIBLEPRIMARY
DDERR_INVALIDCAPS
DDERR_INVALIDCLIPLIST
DDERR_INVALIDDIRECTDRAWGUID
DDERR_INVALIDMODE
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_INVALIDPIXELFORMAT
DDERR_INVALIDPOSITION
DDERR_INVALIDRECT
DDERR_LOCKEDSURFACES
DDERR_NO3D
DDERR_NOALPHAHW
DDERR_NOBLTHW
DDERR_NOCLIPLIST
DDERR_NOCLIPPERATTACHED
DDERR_NOCOLORCONVHW
DDERR_NOCOLORKEY
DDERR_NOCOLORKEYHW
DDERR_NOCOOPERATIVELEVELSET
DDERR_NODC
DDERR_NODDROPSHW
DDERR_NODIRECTDRAWHW
DDERR_NODIRECTDRAWSUPPORT
DDERR_NOEMULATION
DDERR_NOEXCLUSIVEMODE
DDERR_NOFLIPHW
DDERR_NOGDI
DDERR_NOHWND
DDERR_NOMIRRORHW
DDERR_NOOVERLAYDEST
DDERR_NOOVERLAYHW
DDERR_NOPALETTEATTACHED
DDERR_NOPALETTEHW
DDERR_NORASTEROPHW
DDERR_NOROTATIONHW
DDERR_NOSTRETCHHW
DDERR_NOT4BITCOLOR
DDERR_NOT4BITCOLORINDEX
DDERR_NOT8BITCOLOR
DDERR_NOTAOVERLAYSURFACE
DDERR_NOTEXTUREHW
DDERR_NOTFLIPPABLE
DDERR_NOTFOUND
DDERR_NOTLOCKED
DDERR_NOTPALETTIZED
DDERR_NOVSYNCHW
DDERR_NOZBUFFERHW
DDERR_NOZOVERLAYHW
DDERR_OUTOFCAPS
DDERR_OUTOFMEMORY
DDERR_OUTOFVIDEOMEMORY
DDERR_OVERLAYCANTCLIP
DDERR_OVERLAYCOLORKEYONLYONEACTIVE
DDERR_OVERLAYNOTVISIBLE
DDERR_PALETTEBUSY
DDERR_PRIMARYSURFACEALREADYEXISTS
DDERR_REGIONTOOSMALL
DDERR_SURFACEALREADYATTACHED
DDERR_SURFACEALREADYDEPENDENT
DDERR_SURFACEBUSY
DDERR_SURFACEISOBSCURED
DDERR_SURFACELOST
DDERR_SURFACENOTATTACHED
DDERR_TOOBIGHEIGHT
DDERR_TOOBIGSIZE
DDERR_TOOBIGWIDTH
DDERR_UNSUPPORTED
DDERR_UNSUPPORTEDFORMAT
DDERR_UNSUPPORTEDMASK
DDERR_UNSUPPORTEDMODE
DDERR_VERTICALBLANKINPROGRESS
DDERR_WASSTILLDRAWING
DDERR_WRONGMODE
DDERR_XALIGN
DDFLIP_WAIT
DDFXALPHACAPS_BLTALPHAEDGEBLEND
DDFXALPHACAPS_BLTALPHAPIXELS
DDFXALPHACAPS_BLTALPHAPIXELSNEG
DDFXALPHACAPS_BLTALPHASURFACES
DDFXALPHACAPS_BLTALPHASURFACESNEG
DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND
DDFXALPHACAPS_OVERLAYALPHAPIXELS
DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG
DDFXALPHACAPS_OVERLAYALPHASURFACES
DDFXALPHACAPS_OVERLAYALPHASURFACESNEG
DDFXCAPS_BLTARITHSTRETCHY
DDFXCAPS_BLTARITHSTRETCHYN
DDFXCAPS_BLTMIRRORLEFTRIGHT
DDFXCAPS_BLTMIRRORUPDOWN
DDFXCAPS_BLTROTATION
DDFXCAPS_BLTROTATION90
DDFXCAPS_BLTSHRINKX
DDFXCAPS_BLTSHRINKXN
DDFXCAPS_BLTSHRINKY
DDFXCAPS_BLTSHRINKYN
DDFXCAPS_BLTSTRETCHX
DDFXCAPS_BLTSTRETCHXN
DDFXCAPS_BLTSTRETCHY
DDFXCAPS_BLTSTRETCHYN
DDFXCAPS_OVERLAYARITHSTRETCHY
DDFXCAPS_OVERLAYARITHSTRETCHYN
DDFXCAPS_OVERLAYMIRRORLEFTRIGHT
DDFXCAPS_OVERLAYMIRRORUPDOWN
DDFXCAPS_OVERLAYSHRINKX
DDFXCAPS_OVERLAYSHRINKXN
DDFXCAPS_OVERLAYSHRINKY
DDFXCAPS_OVERLAYSHRINKYN
DDFXCAPS_OVERLAYSTRETCHX
DDFXCAPS_OVERLAYSTRETCHXN
DDFXCAPS_OVERLAYSTRETCHY
DDFXCAPS_OVERLAYSTRETCHYN
DDGBS_CANBLT
DDGBS_ISBLTDONE
DDGFS_CANFLIP
DDGFS_ISFLIPDONE
DDLOCK_EVENT
DDLOCK_READONLY
DDLOCK_SURFACEMEMORYPTR
DDLOCK_WAIT
DDLOCK_WRITEONLY
DDOVERFX_ARITHSTRETCHY
DDOVERFX_MIRRORLEFTRIGHT
DDOVERFX_MIRRORUPDOWN
DDOVERZ_INSERTINBACKOF
DDOVERZ_INSERTINFRONTOF
DDOVERZ_MOVEBACKWARD
DDOVERZ_MOVEFORWARD
DDOVERZ_SENDTOBACK
DDOVERZ_SENDTOFRONT
DDOVER_ADDDIRTYRECT
DDOVER_ALPHADEST
DDOVER_ALPHADESTCONSTOVERRIDE
DDOVER_ALPHADESTNEG
DDOVER_ALPHADESTSURFACEOVERRIDE
DDOVER_ALPHAEDGEBLEND
DDOVER_ALPHASRC
DDOVER_ALPHASRCCONSTOVERRIDE
DDOVER_ALPHASRCNEG
DDOVER_ALPHASRCSURFACEOVERRIDE
DDOVER_DDFX
DDOVER_HIDE
DDOVER_KEYDEST
DDOVER_KEYDESTOVERRIDE
DDOVER_KEYSRC
DDOVER_KEYSRCOVERRIDE
DDOVER_REFRESHALL
DDOVER_REFRESHDIRTYRECTS
DDOVER_REFRESHPOUND
DDOVER_SHOW
DDPCAPS_4BIT
DDPCAPS_8BIT
DDPCAPS_8BITENTRIES
DDPCAPS_ALLOW256
DDPCAPS_INITIALIZE
DDPCAPS_PRIMARYSURFACE
DDPCAPS_PRIMARYSURFACELEFT
DDPCAPS_VSYNC
DDPF_ALPHA
DDPF_ALPHAPIXELS
DDPF_COMPRESSED
DDPF_FOURCC
DDPF_PALETTEINDEXED4
DDPF_PALETTEINDEXED4TO8
DDPF_PALETTEINDEXED8
DDPF_RGB
DDPF_RGBTOYUV
DDPF_YUV
DDPF_ZBUFFER
DDPSETPAL_IMMEDIATE
DDPSETPAL_VSYNC
DDSCAPS_3D
DDSCAPS_ALPHA
DDSCAPS_BACKBUFFER
DDSCAPS_COMPLEX
DDSCAPS_FLIP
DDSCAPS_FRONTBUFFER
DDSCAPS_HWCODEC
DDSCAPS_LIVEVIDEO
DDSCAPS_MODEX
DDSCAPS_OFFSCREENPLAIN
DDSCAPS_OVERLAY
DDSCAPS_OWNDC
DDSCAPS_PALETTE
DDSCAPS_PRIMARYSURFACE
DDSCAPS_PRIMARYSURFACELEFT
DDSCAPS_SYSTEMMEMORY
DDSCAPS_TEXTUREMAP
DDSCAPS_VIDEOMEMORY
DDSCAPS_VISIBLE
DDSCAPS_WRITEONLY
DDSCAPS_ZBUFFER
DDSCL_ALLOWMODEX
DDSCL_ALLOWREBOOT
DDSCL_EXCLUSIVE
DDSCL_FULLSCREEN
DDSCL_NORMAL
DDSCL_NOWINDOWCHANGES
DDSD_ALL
DDSD_ALPHABITDEPTH
DDSD_BACKBUFFERCOUNT
DDSD_CAPS
DDSD_CKDESTBLT
DDSD_CKDESTOVERLAY
DDSD_CKSRCBLT
DDSD_CKSRCOVERLAY
DDSD_HEIGHT
DDSD_LPSURFACE
DDSD_PITCH
DDSD_PIXELFORMAT
DDSD_WIDTH
DDSD_ZBUFFERBITDEPTH
DDSETPAL_IMMEDIATE
DDSETPAL_VSYNC
DDSVCAPS_ENIGMA
DDSVCAPS_FLICKER
DDSVCAPS_REDBLUE
DDSVCAPS_SPLIT
DDWAITVB_BLOCKBEGIN
DDWAITVB_BLOCKBEGINEVENT
DDWAITVB_BLOCKEND
DD_OK
DD_OK_HANDLED
DD_OK_NOTHANDLED
DD_ROP_SPACE
REGSTR_KEY_DDHW_DESCRIPTION
REGSTR_KEY_DDHW_DRIVERNAME
REGSTR_PATH_DDHW
function DirectDrawCreate ( lpGUID: PGUID; var lplpDD: IDirectDraw; pUnkOuter: IUnknown ): HRESULT ;
API's
DDBLTBATCH = record
lprDest : ^TRect ;
lpDDSSrc : IDirectDrawSurface ;
lprSrc : ^TRect ;
dwFlags : DWORD ;
lpDDBltFx : LPDDBLTFX ;
end;
DDBLTFX = record
dwSize : DWORD ;
dwDDFX : DWORD ;
dwROP : DWORD ;
dwDDROP : DWORD ;
dwRotationAngle : DWORD ;
dwZBufferOpCode : DWORD ;
dwZBufferLow : DWORD ;
dwZBufferHigh : DWORD ;
dwZBufferBaseDest : DWORD ;
dwZDestConstBitDepth : DWORD ;
end;
DDCAPS = record
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 : Array [ 0..DD_ROP_SPACE-1 ] of DWORD ;
ddsCaps : DDSCAPS ;
dwMinOverlayStretch : DWORD ;
dwMaxOverlayStretch : DWORD ;
dwMinLiveVideoStretch : DWORD ;
dwMaxLiveVideoStretch : DWORD ;
dwMinHwCodecStretch : DWORD ;
dwMaxHwCodecStretch : DWORD ;
dwReserved1 : DWORD ;
dwReserved2 : DWORD ;
dwReserved3 : DWORD ;
end;
DDCOLORKEY = record
dwColorSpaceLowValue : DWORD ;
dwColorSpaceHighValue : DWORD ;
end;
DDMODEDESC = record
dwSize : DWORD ;
dwFlags : DWORD ;
dwMonitorFrequency : DWORD ;
ddsdSurfaceDesc : DDSURFACEDESC ;
end;
DDOVERLAYFX = record
dwSize : DWORD ;
dwAlphaEdgeBlendBitDepth : DWORD ;
dwAlphaEdgeBlend : DWORD ;
dwReserved : DWORD ;
dwAlphaDestConstBitDepth : DWORD ;
end;
DDPIXELFORMAT = record
dwSize : DWORD ;
dwFlags : DWORD ;
dwFourCC : DWORD ;
end;
DDSCAPS = record
dwCaps : DWORD ;
end;
DDSURFACEDESC = record
dwSize : DWORD ;
dwFlags : DWORD ;
dwHeight : DWORD ;
dwWidth : DWORD ;
lPitch : LongInt ;
dwBackBufferCount : DWORD ;
dwZBufferBitDepth : DWORD ;
dwAlphaBitDepth : DWORD ;
dwReserved : DWORD ;
lpSurface : Pointer ;
ddckCKDestOverlay : DDCOLORKEY ;
ddckCKDestBlt : DDCOLORKEY ;
ddckCKSrcOverlay : DDCOLORKEY ;
ddckCKSrcBlt : DDCOLORKEY ;
ddpfPixelFormat : DDPIXELFORMAT ;
ddsCaps : DDSCAPS ;
end;
LPCLIPPERCALLBACK = function ( lpDDClipper: IDirectDrawClipper; hWnd: HWND;
code: DWORD; lpContext: Pointer ): DWORD
Callbacks
LPDDBLTBATCH = ^DDBLTBATCH
DDBLTBATCH: BltBatch entry structure
LPDDBLTFX = ^DDBLTFX
DDBLTFX
Used to pass override information to the DIRECTDRAWSURFACE callback Blt.
LPDDCAPS = ^DDCAPS
DDCAPS
LPDDCOLORKEY = ^DDCOLORKEY
DDCOLORKEY
LPDDENUMMODESCALLBACK = function ( const lpDDModeDesc: DDMODEDESC;
lpContext: Pointer ): HRESULT
LPDDENUMSURFACESCALLBACK = function ( lpDDSurface: IDirectDrawSurface;
lpDDSurfaceDesc: LPDDSURFACEDESC; lpContext: Pointer ): HRESULT
LPDDMODEDESC = ^DDMODEDESC
DDMODEDESC
LPDDOVERLAYFX = ^DDOVERLAYFX
DDOVERLAYFX
LPDDPIXELFORMAT = ^DDPIXELFORMAT
DDPIXELFORMAT
LPDDSCAPS = ^DDSCAPS
DDSCAPS
LPDDSURFACEDESC = ^DDSURFACEDESC
DDSURFACEDESC
LPSURFACESTREAMINGCALLBACK = function ( code: DWORD ): DWORD
DDALPHA1_OPAQUE = 1
Completely opaque. Colors being blended with this constant are the final result.
DDALPHA1_TRANSPARENT = 0
MAKE_DDHRESULT( 590 ) } {*
* 1 bit alpha constants
*} { Completely transparent. Colors being blended with this constant do not effect
the final result.
DDALPHA2_50 = 2
50-50 blend. Colors being blended with this constant effect the final result
with 50% of their color.
DDALPHA2_OPAQUE = 3
Completely opaque. Colors being blended with this constant are the final result.
DDALPHA2_TRANSPARENT = 0
* 2 bit alpha constants
*} { Completely transparent. Colors being blended with this constant do not effect
the final result.
DDALPHA4_50 = 8
50-50 blend. Colors being blended with this constant effect the final result
with 50% of their color.
DDALPHA4_OPAQUE = 15
Completely opaque. Colors being blended with this constant are the final result.
DDALPHA4_OPAQUEMOD = 1
Opaque modifier is multiplied by any value between 0 and _OPAQUE to
establish gradients of alpha blending.
DDALPHA4_TRANSPARENT = 0
* 4 bit alpha constants
*} { Completely transparent. Colors being blended with this constant do not effect
the final result.
DDALPHA8_50 = 128
50-50 blend. Colors being blended with this constant effect the final result
with 50% of their color.
DDALPHA8_OPAQUE = 255
Completely opaque. Colors being blended with this constant are the final result.
DDALPHA8_OPAQUEMOD = 1
Opaque modifier is multiplied by any value between 0 and _OPAQUE to
establish gradients of alpha blending.
DDALPHA8_TRANSPARENT = 0
* 8 bit alpha constants
*} { Completely transparent. Colors being blended with this constant do not effect
the final result.
DDBD_1 = $00004000
**************************************************************************
*
* DIRECTDRAW BITDEPTH CONSTANTS
*
* NOTE: These are only used to indicate supported bit depths. These
* are flags only, they are not to be used as an actual bit depth. The
* absolute numbers 1, 2, 4, 8, 16, 24 and 32 are used to indicate actual
* bit depths in a surface or for changing the display mode.
*
****************************************************************************} { 1 bit per pixel.
DDBD_16 = $00000400
16 bits per pixel.
DDBD_2 = $00002000
2 bits per pixel.
DDBD_24 = $00000200
24 bits per pixel.
DDBD_32 = $00000100
32 bits per pixel.
DDBD_4 = $00001000
4 bits per pixel.
DDBD_8 = $00000800
8 bits per pixel.
DDBLTFAST_DESTCOLORKEY = $0000000
DDBLTFAST_NOCOLORKEY = $0000000
**************************************************************************
*
* BLTFAST FLAGS
*
DDBLTFAST_SRCCOLORKEY = $0000000
DDBLTFAST_WAIT = $0000001
DDBLTFX_ARITHSTRETCHY = $00000001
**************************************************************************
*
* DIRECTDRAWSURFACE BLT FX FLAGS
*
****************************************************************************} { If stretching, use arithmetic stretching along the Y axis for this blt.
DDBLTFX_MIRRORLEFTRIGHT = $00000002
Do this blt mirroring the surface left to right. Spin the
surface around its y-axis.
DDBLTFX_MIRRORUPDOWN = $00000004
Do this blt mirroring the surface up and down. Spin the surface
around its x-axis.
DDBLTFX_NOTEARING = $00000008
Schedule this blt to avoid tearing.
DDBLTFX_ROTATE180 = $00000010
Do this blt rotating the surface one hundred and eighty degrees.
DDBLTFX_ROTATE270 = $00000020
Do this blt rotating the surface two hundred and seventy degrees.
DDBLTFX_ROTATE90 = $00000040
Do this blt rotating the surface ninety degrees.
DDBLTFX_ZBUFFERBASEDEST = $00000100
Do this z blt adding the dwZBufferBaseDest to each of the sources z values
before comparing it with the desting z values.
DDBLTFX_ZBUFFERRANGE = $00000080
Do this z blt using dwZBufferLow and dwZBufferHigh as range values
specified to limit the bits copied from the source surface.
DDBLT_ALPHADEST = $00000001
**************************************************************************
*
* DIRECTDRAW BLT FLAGS
*
****************************************************************************} { Use the alpha information in the pixel format or the alpha channel surface
attached to the destination surface as the alpha channel for this blt.
DDBLT_ALPHADESTCONSTOVERRIDE = $00000002
Use the dwConstAlphaDest field in the DDBLTFX structure as the alpha channel
for the destination surface for this blt.
DDBLT_ALPHADESTNEG = $00000004
The NEG suffix indicates that the destination surface becomes more
transparent as the alpha value increases. (0 is opaque)
DDBLT_ALPHADESTSURFACEOVERRIDE = $00000008
Use the lpDDSAlphaDest field in the DDBLTFX structure as the alpha
channel for the destination for this blt.
DDBLT_ALPHAEDGEBLEND = $00000010
Use the dwAlphaEdgeBlend field in the DDBLTFX structure as the alpha channel
for the edges of the image that border the color key colors.
DDBLT_ALPHASRC = $00000020
Use the alpha information in the pixel format or the alpha channel surface
attached to the source surface as the alpha channel for this blt.
DDBLT_ALPHASRCCONSTOVERRIDE = $00000040
Use the dwConstAlphaSrc field in the DDBLTFX structure as the alpha channel
for the source for this blt.
DDBLT_ALPHASRCNEG = $00000080
The NEG suffix indicates that the source surface becomes more transparent
as the alpha value increases. (0 is opaque)
DDBLT_ALPHASRCSURFACEOVERRIDE = $00000100
Use the lpDDSAlphaSrc field in the DDBLTFX structure as the alpha channel
for the source for this blt.
DDBLT_ASYNC = $00000200
Do this blt asynchronously through the FIFO in the order received. If
there is no room in the hardware FIFO fail the call.
DDBLT_COLORFILL = $00000400
Uses the dwFillColor field in the DDBLTFX structure as the RGB color
to fill the destination rectangle on the destination surface with.
DDBLT_DDFX = $00000800
Uses the dwDDFX field in the DDBLTFX structure to specify the effects
to use for the blt.
DDBLT_DDROPS = $00001000
Uses the dwDDROPS field in the DDBLTFX structure to specify the ROPS
that are not part of the Win32 API.
DDBLT_KEYDEST = $00002000
Use the color key associated with the destination surface.
DDBLT_KEYDESTOVERRIDE = $00004000
Use the dckDestColorkey field in the DDBLTFX structure as the color key
for the destination surface.
DDBLT_KEYSRC = $00008000
Use the color key associated with the source surface.
DDBLT_KEYSRCOVERRIDE = $00010000
Use the dckSrcColorkey field in the DDBLTFX structure as the color key
for the source surface.
DDBLT_ROP = $00020000
Use the dwROP field in the DDBLTFX structure for the raster operation
for this blt. These ROPs are the same as the ones defined in the Win32 API.
DDBLT_ROTATIONANGLE = $00040000
Use the dwRotationAngle field in the DDBLTFX structure as the angle
(specified in 1/100th of a degree) to rotate the surface.
DDBLT_WAIT = $01000000
wait until the device is ready to handle the blt
this will cause blt to not return DDERR_WASSTILLDRAWING
DDBLT_ZBUFFER = $00080000
Z-buffered blt using the z-buffers attached to the source and destination
surfaces and the dwZBufferOpCode field in the DDBLTFX structure as the
z-buffer opcode.
DDBLT_ZBUFFERDESTCONSTOVERRIDE = $00100000
Z-buffered blt using the dwConstDest Zfield and the dwZBufferOpCode field
in the DDBLTFX structure as the z-buffer and z-buffer opcode respectively
for the destination.
DDBLT_ZBUFFERDESTOVERRIDE = $00200000
Z-buffered blt using the lpDDSDestZBuffer field and the dwZBufferOpCode
field in the DDBLTFX structure as the z-buffer and z-buffer opcode
respectively for the destination.
DDBLT_ZBUFFERSRCCONSTOVERRIDE = $00400000
Z-buffered blt using the dwConstSrcZ field and the dwZBufferOpCode field
in the DDBLTFX structure as the z-buffer and z-buffer opcode respectively
for the source.
DDBLT_ZBUFFERSRCOVERRIDE = $00800000
Z-buffered blt using the lpDDSSrcZBuffer field and the dwZBufferOpCode
field in the DDBLTFX structure as the z-buffer and z-buffer opcode
respectively for the source.
DDCAPS2_CERTIFIED = $00000001
**************************************************************************
*
* MORE DIRECTDRAW DRIVER CAPABILITY FLAGS (dwCaps2)
*
****************************************************************************} { Display hardware is certified
DDCAPS_3D = $00000001
**************************************************************************
*
* DIRECTDRAW DRIVER CAPABILITY FLAGS
*
****************************************************************************} { Display hardware has 3D acceleration.
DDCAPS_ALIGNBOUNDARYDEST = $00000002
Indicates that DirectDraw will support only dest rectangles that are aligned
on DIRECTDRAWCAPS.dwAlignBoundaryDest boundaries of the surface, respectively.
READ ONLY.
DDCAPS_ALIGNBOUNDARYSRC = $00000008
Indicates that DirectDraw will support only source rectangles that are aligned
on DIRECTDRAWCAPS.dwAlignBoundarySrc boundaries of the surface, respectively.
READ ONLY.
DDCAPS_ALIGNSIZEDEST = $00000004
Indicates that DirectDraw will support only source rectangles whose sizes in
BYTEs are DIRECTDRAWCAPS.dwAlignSizeDest multiples, respectively. READ ONLY.
DDCAPS_ALIGNSIZESRC = $00000010
Indicates that DirectDraw will support only source rectangles whose sizes in
BYTEs are DIRECTDRAWCAPS.dwAlignSizeSrc multiples, respectively. READ ONLY.
DDCAPS_ALIGNSTRIDE = $00000020
Indicates that DirectDraw will create video memory surfaces that have a stride
alignment equal to DIRECTDRAWCAPS.dwAlignStride. READ ONLY.
DDCAPS_ALPHA = $00800000
Supports alpha surfaces
DDCAPS_BANKSWITCHED = $08000000
Display hardware is bank switched, and potentially very slow at
random access to VRAM.
DDCAPS_BLT = $00000040
Display hardware is capable of blt operations.
DDCAPS_BLTCOLORFILL = $04000000
Display hardware is capable of color fill with bltter
DDCAPS_BLTFOURCC = $00000100
Display hardware is capable of color space conversions during the blt operation.
DDCAPS_BLTQUEUE = $00000080
Display hardware is capable of asynchronous blt operations.
DDCAPS_BLTSTRETCH = $00000200
Display hardware is capable of stretching during blt operations.
DDCAPS_COLORKEY = $00400000
Supports color key
DDCAPS_COLORKEYHWASSIST = $01000000
colorkey is hardware assisted(DDCAPS_COLORKEY will also be set)
DDCAPS_GDI = $00000400
Display hardware is shared with GDI.
DDCAPS_NOHARDWARE = $02000000
no hardware support at all
DDCAPS_OVERLAY = $00000800
Display hardware can overlay.
DDCAPS_OVERLAYCANTCLIP = $00001000
Set if display hardware supports overlays but can not clip them.
DDCAPS_OVERLAYFOURCC = $00002000
Indicates that overlay hardware is capable of color space conversions during
the overlay operation.
DDCAPS_OVERLAYSTRETCH = $00004000
Indicates that stretching can be done by the overlay hardware.
DDCAPS_PALETTE = $00008000
Indicates that unique DirectDrawPalettes can be created for DirectDrawSurfaces
other than the primary surface.
DDCAPS_PALETTEVSYNC = $00010000
Indicates that palette changes can be syncd with the veritcal refresh.
DDCAPS_READSCANLINE = $00020000
Display hardware can return the current scan line.
DDCAPS_STEREOVIEW = $00040000
Display hardware has stereo vision capabilities. DDSCAPS_PRIMARYSURFACELEFT
can be created.
DDCAPS_VBI = $00080000
Display hardware is capable of generating a vertical blank interrupt.
DDCAPS_ZBLTS = $00100000
Supports the use of z buffers with blt operations.
DDCAPS_ZOVERLAYS = $00200000
Supports Z Ordering of overlays.
DDCKEYCAPS_DESTBLT = $00000001
**************************************************************************
*
* DIRECTDRAW COLOR KEY CAPABILITY FLAGS
*
****************************************************************************} { Supports transparent blting using a color key to identify the replaceable
bits of the destination surface for RGB colors.
DDCKEYCAPS_DESTBLTCLRSPACE = $00000002
Supports transparent blting using a color space to identify the replaceable
bits of the destination surface for RGB colors.
DDCKEYCAPS_DESTBLTCLRSPACEYUV = $00000004
Supports transparent blting using a color space to identify the replaceable
bits of the destination surface for YUV colors.
DDCKEYCAPS_DESTBLTYUV = $00000008
Supports transparent blting using a color key to identify the replaceable
bits of the destination surface for YUV colors.
DDCKEYCAPS_DESTOVERLAY = $00000010
Supports overlaying using colorkeying of the replaceable bits of the surface
being overlayed for RGB colors.
DDCKEYCAPS_DESTOVERLAYCLRSPACE = $00000020
Supports a color space as the color key for the destination for RGB colors.
DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV = $00000040
Supports a color space as the color key for the destination for YUV colors.
DDCKEYCAPS_DESTOVERLAYONEACTIVE = $00000080
Supports only one active destination color key value for visible overlay
surfaces.
DDCKEYCAPS_DESTOVERLAYYUV = $00000100
Supports overlaying using colorkeying of the replaceable bits of the
surface being overlayed for YUV colors.
DDCKEYCAPS_NOCOSTOVERLAY = $00040000
there are no bandwidth trade-offs for using colorkey with an overlay
DDCKEYCAPS_SRCBLT = $00000200
Supports transparent blting using the color key for the source with
this surface for RGB colors.
DDCKEYCAPS_SRCBLTCLRSPACE = $00000400
Supports transparent blting using a color space for the source with
this surface for RGB colors.
DDCKEYCAPS_SRCBLTCLRSPACEYUV = $00000800
Supports transparent blting using a color space for the source with
this surface for YUV colors.
DDCKEYCAPS_SRCBLTYUV = $00001000
Supports transparent blting using the color key for the source with
this surface for YUV colors.
DDCKEYCAPS_SRCOVERLAY = $00002000
Supports overlays using the color key for the source with this
overlay surface for RGB colors.
DDCKEYCAPS_SRCOVERLAYCLRSPACE = $00004000
Supports overlays using a color space as the source color key for
the overlay surface for RGB colors.
DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV = $00008000
Supports overlays using a color space as the source color key for
the overlay surface for YUV colors.
DDCKEYCAPS_SRCOVERLAYONEACTIVE = $00010000
Supports only one active source color key value for visible
overlay surfaces.
DDCKEYCAPS_SRCOVERLAYYUV = $00020000
Supports overlays using the color key for the source with this
overlay surface for YUV colors.
DDCKEY_COLORSPACE = $00000001
**************************************************************************
*
* DIRECTDRAWSURFACE SET/GET COLOR KEY FLAGS
*
****************************************************************************} { Set if the structure contains a color space. Not set if the structure
contains a single color key.
DDCKEY_DESTBLT = $00000002
Set if the structure specifies a color key or color space which is to be
used as a destination color key for blt operations.
DDCKEY_DESTOVERLAY = $00000004
Set if the structure specifies a color key or color space which is to be
used as a destination color key for overlay operations.
DDCKEY_SRCBLT = $00000008
Set if the structure specifies a color key or color space which is to be
used as a source color key for blt operations.
DDCKEY_SRCOVERLAY = $00000010
Set if the structure specifies a color key or color space which is to be
used as a source color key for overlay operations.
DDCREATE_EMULATIONONLY = $00000002
DDCREATE_HARDWAREONLY = $00000001
DDENUMOVERLAYZ_BACKTOFRONT = $00000000
**************************************************************************
*
* DIRECTDRAW ENUMOVERLAYZORDER FLAGS
*
****************************************************************************} { Enumerate overlays back to front.
DDENUMOVERLAYZ_FRONTTOBACK = $00000001
Enumerate overlays front to back
DDENUMRET_CANCEL = 0
**************************************************************************
*
* DIRECTDRAW ENUMCALLBACK RETURN VALUES
*
* EnumCallback returns are used to control the flow of the DIRECTDRAW and
* DIRECTDRAWSURFACE object enumerations. They can only be returned by
* enumeration callback routines.
*
****************************************************************************} { stop the enumeration
DDENUMRET_OK = 1
continue the enumeration
DDENUMSURFACES_ALL = $00000001
*===========================================================================
*
*
* DIRECTDRAW CALLBACK FLAGS
*
*
*==========================================================================*} {****************************************************************************
*
* DIRECTDRAW ENUMSURFACES FLAGS
*
****************************************************************************} { Enumerate all of the surfaces that meet the search criterion.
DDENUMSURFACES_CANBECREATED = $00000008
Enumerate the first surface that can be created which meets the search criterion.
DDENUMSURFACES_DOESEXIST = $00000010
Enumerate the surfaces that already exist that meet the search criterion.
DDENUMSURFACES_MATCH = $00000002
A search hit is a surface that matches the surface description.
DDENUMSURFACES_NOMATCH = $00000004
A search hit is a surface that does not match the surface description.
DDERR_ALREADYINITIALIZED = $88760005
**************************************************************************
*
* DIRECTDRAW ERRORS
*
* Errors are represented by negative values and cannot be combined.
*
****************************************************************************} { This object is already initialized
DDERR_BLTFASTCANTCLIP = $8876023E
MAKE_DDHRESULT( 573 ) } { If a clipper object is attached to the source surface passed into a
BltFast call.
DDERR_CANNOTATTACHSURFACE = $8876000A
MAKE_DDHRESULT( 5 ) } { This surface can not be attached to the requested surface.
DDERR_CANNOTDETACHSURFACE = $88760014
MAKE_DDHRESULT( 10 ) } { This surface can not be detached from the requested surface.
DDERR_CANTCREATEDC = $88760249
MAKE_DDHRESULT( 584 ) } { Windows can not create any more DCs
DDERR_CANTDUPLICATE = $88760247
MAKE_DDHRESULT( 582 ) } { Can't duplicate primary & 3D surfaces, or surfaces that are implicitly
created.
DDERR_CLIPPERISUSINGHWND = $88760237
MAKE_DDHRESULT( 566 ) } { an attempt was made to set a clip list for a clipper objec that
is already monitoring an hwnd.
DDERR_COLORKEYNOTSET = $88760190
MAKE_DDHRESULT( 387 ) } { No src color key specified for this operation.
DDERR_CURRENTLYNOTAVAIL = $88760028
MAKE_DDHRESULT( 20 ) } { Support is currently not available.
DDERR_DIRECTDRAWALREADYCREATED = $88760232
MAKE_DDHRESULT( 561 ) } { A DirectDraw object representing this driver has already been created
for this process.
DDERR_EXCEPTION = $88760037
MAKE_DDHRESULT( 40 ) } { An exception was encountered while performing the requested operation
DDERR_EXCLUSIVEMODEALREADYSET = $88760245
MAKE_DDHRESULT( 580 ) } { An attempt was made to set the cooperative level when it was already
set to exclusive.
DDERR_GENERIC = E_FAIL
MAKE_DDHRESULT( 55 ) } { Generic failure.
DDERR_HEIGHTALIGN = $8876005A
Height of rectangle provided is not a multiple of reqd alignment
DDERR_HWNDALREADYSET = $8876023B
MAKE_DDHRESULT( 570 ) } { The CooperativeLevel HWND has already been set.
It can not be reset while the process has surfaces or palettes created.
DDERR_HWNDSUBCLASSED = $8876023A
MAKE_DDHRESULT( 569 ) } { HWND used by DirectDraw CooperativeLevel has been subclassed,
this prevents DirectDraw from restoring state.
DDERR_IMPLICITLYCREATED = $8876024C
MAKE_DDHRESULT( 587 ) } { This surface can not be restored because it is an implicitly created
surface.
DDERR_INCOMPATIBLEPRIMARY = $8876005F
MAKE_DDHRESULT( 90 ) } { Unable to match primary surface creation request with existing
primary surface.
DDERR_INVALIDCAPS = $88760064
MAKE_DDHRESULT( 95 ) } { One or more of the caps bits passed to the callback are incorrect.
DDERR_INVALIDCLIPLIST = $8876006E
MAKE_DDHRESULT( 100 ) } { DirectDraw does not support provided Cliplist.
DDERR_INVALIDDIRECTDRAWGUID = $88760231
MAKE_DDHRESULT( 560 ) } { The GUID passed to DirectDrawCreate is not a valid DirectDraw driver
identifier.
DDERR_INVALIDMODE = $88760078
MAKE_DDHRESULT( 110 ) } { DirectDraw does not support the requested mode
DDERR_INVALIDOBJECT = $88760082
MAKE_DDHRESULT( 120 ) } { DirectDraw received a pointer that was an invalid DIRECTDRAW object.
DDERR_INVALIDPARAMS = E_INVALIDARG
MAKE_DDHRESULT( 130 ) } { One or more of the parameters passed to the callback function are
incorrect.
DDERR_INVALIDPIXELFORMAT = $88760091
pixel format was invalid as specified
DDERR_INVALIDPOSITION = $88760243
MAKE_DDHRESULT( 578 ) } { returned when the position of the overlay on the destionation is no longer
legal for that destionation.
DDERR_INVALIDRECT = $88760096
MAKE_DDHRESULT( 145 ) } { Rectangle provided was invalid.
DDERR_LOCKEDSURFACES = $887600A0
MAKE_DDHRESULT( 150 ) } { Operation could not be carried out because one or more surfaces are locked
DDERR_NO3D = $887600AA
MAKE_DDHRESULT( 160 ) } { There is no 3D present.
DDERR_NOALPHAHW = $887600B4
MAKE_DDHRESULT( 170 ) } { Operation could not be carried out because there is no alpha accleration
hardware present or available.
DDERR_NOBLTHW = $8876023F
MAKE_DDHRESULT( 574 ) } { No blter.
DDERR_NOCLIPLIST = $887600CD
MAKE_DDHRESULT( 180 ) } { no clip list available
DDERR_NOCLIPPERATTACHED = $88760238
MAKE_DDHRESULT( 567 ) } { No clipper object attached to surface object
DDERR_NOCOLORCONVHW = $887600D2
MAKE_DDHRESULT( 205 ) } { Operation could not be carried out because there is no color conversion
hardware present or available.
DDERR_NOCOLORKEY = $887600D7
MAKE_DDHRESULT( 212 ) } { Surface doesn't currently have a color key
DDERR_NOCOLORKEYHW = $887600DC
MAKE_DDHRESULT( 215 ) } { Operation could not be carried out because there is no hardware support
of the dest color key.
DDERR_NOCOOPERATIVELEVELSET = $887600D4
MAKE_DDHRESULT( 210 ) } { Create function called without DirectDraw object method SetCooperativeLevel
being called.
DDERR_NODC = $8876024A
MAKE_DDHRESULT( 585 ) } { No DC was ever created for this surface.
DDERR_NODDROPSHW = $88760240
MAKE_DDHRESULT( 575 ) } { No DirectDraw ROP hardware.
DDERR_NODIRECTDRAWHW = $88760233
MAKE_DDHRESULT( 562 ) } { A hardware only DirectDraw object creation was attempted but the driver
did not support any hardware.
DDERR_NODIRECTDRAWSUPPORT = $887600DE
MAKE_DDHRESULT( 220 ) } { No DirectDraw support possible with current display driver
DDERR_NOEMULATION = $88760235
MAKE_DDHRESULT( 564 ) } { software emulation not available.
DDERR_NOEXCLUSIVEMODE = $887600E1
MAKE_DDHRESULT( 222 ) } { Operation requires the application to have exclusive mode but the
application does not have exclusive mode.
DDERR_NOFLIPHW = $887600E6
MAKE_DDHRESULT( 225 ) } { Flipping visible surfaces is not supported.
DDERR_NOGDI = $887600F0
MAKE_DDHRESULT( 230 ) } { There is no GDI present.
DDERR_NOHWND = $88760239
MAKE_DDHRESULT( 568 ) } { Clipper notification requires an HWND or
no HWND has previously been set as the CooperativeLevel HWND.
DDERR_NOMIRRORHW = $887600FA
MAKE_DDHRESULT( 240 ) } { Operation could not be carried out because there is no hardware present
or available.
DDERR_NOOVERLAYDEST = $88760242
MAKE_DDHRESULT( 577 ) } { returned when GetOverlayPosition is called on a overlay that UpdateOverlay
has never been called on to establish a destionation.
DDERR_NOOVERLAYHW = $88760104
MAKE_DDHRESULT( 255 ) } { Operation could not be carried out because there is no overlay hardware
present or available.
DDERR_NOPALETTEATTACHED = $8876023C
MAKE_DDHRESULT( 571 ) } { No palette object attached to this surface.
DDERR_NOPALETTEHW = $8876023D
MAKE_DDHRESULT( 572 ) } { No hardware support for 16 or 256 color palettes.
DDERR_NORASTEROPHW = $88760118
MAKE_DDHRESULT( 260 ) } { Operation could not be carried out because there is no appropriate raster
op hardware present or available.
DDERR_NOROTATIONHW = $88760122
MAKE_DDHRESULT( 280 ) } { Operation could not be carried out because there is no rotation hardware
present or available.
DDERR_NOSTRETCHHW = $88760136
MAKE_DDHRESULT( 290 ) } { Operation could not be carried out because there is no hardware support
for stretching
DDERR_NOT4BITCOLOR = $8876013C
MAKE_DDHRESULT( 310 ) } { DirectDrawSurface is not in 4 bit color palette and the requested operation
requires 4 bit color palette.
DDERR_NOT4BITCOLORINDEX = $8876013D
MAKE_DDHRESULT( 316 ) } { DirectDrawSurface is not in 4 bit color index palette and the requested
operation requires 4 bit color index palette.
DDERR_NOT8BITCOLOR = $88760140
MAKE_DDHRESULT( 317 ) } { DirectDraw Surface is not in 8 bit color mode and the requested operation
requires 8 bit color.
DDERR_NOTAOVERLAYSURFACE = $88760244
MAKE_DDHRESULT( 579 ) } { returned when an overlay member is called for a non-overlay surface
DDERR_NOTEXTUREHW = $8876014A
MAKE_DDHRESULT( 320 ) } { Operation could not be carried out because there is no texture mapping
hardware present or available.
DDERR_NOTFLIPPABLE = $88760246
MAKE_DDHRESULT( 581 ) } { An attempt has been made to flip a surface that is not flippable.
DDERR_NOTFOUND = $887600FF
MAKE_DDHRESULT( 250 ) } { Requested item was not found
DDERR_NOTLOCKED = $88760248
MAKE_DDHRESULT( 583 ) } { Surface was not locked. An attempt to unlock a surface that was not
locked at all, or by this process, has been attempted.
DDERR_NOTPALETTIZED = $8876024D
MAKE_DDHRESULT( 588 ) } { The surface being used is not a palette-based surface
DDERR_NOVSYNCHW = $8876014F
MAKE_DDHRESULT( 330 ) } { Operation could not be carried out because there is no hardware support
for vertical blank synchronized operations.
DDERR_NOZBUFFERHW = $88760154
MAKE_DDHRESULT( 335 ) } { Operation could not be carried out because there is no hardware support
for zbuffer blting.
DDERR_NOZOVERLAYHW = $8876015E
MAKE_DDHRESULT( 340 ) } { Overlay surfaces could not be z layered based on their BltOrder because
the hardware does not support z layering of overlays.
DDERR_OUTOFCAPS = $88760168
MAKE_DDHRESULT( 350 ) } { The hardware needed for the requested operation has already been
allocated.
DDERR_OUTOFMEMORY = E_OUTOFMEMORY
MAKE_DDHRESULT( 360 ) } { DirectDraw does not have enough memory to perform the operation.
DDERR_OUTOFVIDEOMEMORY = $8876017C
DirectDraw does not have enough memory to perform the operation.
DDERR_OVERLAYCANTCLIP = $8876017E
MAKE_DDHRESULT( 380 ) } { hardware does not support clipped overlays
DDERR_OVERLAYCOLORKEYONLYONEACTIVE = $88760180
MAKE_DDHRESULT( 382 ) } { Can only have ony color key active at one time for overlays
DDERR_OVERLAYNOTVISIBLE = $88760241
MAKE_DDHRESULT( 576 ) } { returned when GetOverlayPosition is called on a hidden overlay
DDERR_PALETTEBUSY = $88760183
MAKE_DDHRESULT( 384 ) } { Access to this palette is being refused because the palette is already
locked by another thread.
DDERR_PRIMARYSURFACEALREADYEXISTS = $88760234
MAKE_DDHRESULT( 563 ) } { this process already has created a primary surface
DDERR_REGIONTOOSMALL = $8876236
MAKE_DDHRESULT( 565 ) } { region passed to Clipper::GetClipList is too small.
DDERR_SURFACEALREADYATTACHED = $8876019A
MAKE_DDHRESULT( 400 ) } { This surface is already attached to the surface it is being attached to.
DDERR_SURFACEALREADYDEPENDENT = $887601A4
MAKE_DDHRESULT( 410 ) } { This surface is already a dependency of the surface it is being made a
dependency of.
DDERR_SURFACEBUSY = $887601AE
MAKE_DDHRESULT( 420 ) } { Access to this surface is being refused because the surface is already
locked by another thread.
DDERR_SURFACEISOBSCURED = $887601B2
MAKE_DDHRESULT( 430 ) } { Access to Surface refused because Surface is obscured.
DDERR_SURFACELOST = $887601BC
MAKE_DDHRESULT( 440 ) } { Access to this surface is being refused because the surface is gone.
The DIRECTDRAWSURFACE object representing this surface should
have Restore called on it.
DDERR_SURFACENOTATTACHED = $887601C6
MAKE_DDHRESULT( 450 ) } { The requested surface is not attached.
DDERR_TOOBIGHEIGHT = $887601D0
MAKE_DDHRESULT( 460 ) } { Height requested by DirectDraw is too large.
DDERR_TOOBIGSIZE = $887601DA
MAKE_DDHRESULT( 470 ) } { Size requested by DirectDraw is too large -- The individual height and
width are OK.
DDERR_TOOBIGWIDTH = $887601E4
MAKE_DDHRESULT( 480 ) } { Width requested by DirectDraw is too large.
DDERR_UNSUPPORTED = E_NOTIMPL
MAKE_DDHRESULT( 490 ) } { Action not supported.
DDERR_UNSUPPORTEDFORMAT = $887601FE
FOURCC format requested is unsupported by DirectDraw
DDERR_UNSUPPORTEDMASK = $88760208
MAKE_DDHRESULT( 510 ) } { Bitmask in the pixel format requested is unsupported by DirectDraw
DDERR_UNSUPPORTEDMODE = $8876024E
MAKE_DDHRESULT( 589 ) } { The display is currently in an unsupported mode
DDERR_VERTICALBLANKINPROGRESS = $88760219
MAKE_DDHRESULT( 520 ) } { vertical blank is in progress
DDERR_WASSTILLDRAWING = $8876021C
MAKE_DDHRESULT( 537 ) } { Informs DirectDraw that the previous Blt which is transfering information
to or from this Surface is incomplete.
DDERR_WRONGMODE = $8876924B
MAKE_DDHRESULT( 586 ) } { This surface can not be restored because it was created in a different
mode.
DDERR_XALIGN = $88760230
MAKE_DDHRESULT( 540 ) } { Rectangle provided was not horizontally aligned on reqd. boundary
DDFLIP_WAIT = $00000001
surface will only be written to } {****************************************************************************
*
* FLIP FLAGS
*
DDFXALPHACAPS_BLTALPHAEDGEBLEND = $00000001
**************************************************************************
*
* DIRECTDRAW FX ALPHA CAPABILITY FLAGS
*
****************************************************************************} { Supports alpha blending around the edge of a source color keyed surface.
For Blt.
DDFXALPHACAPS_BLTALPHAPIXELS = $00000002
Supports alpha information in the 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. (0 is transparent.)
For Blt.
DDFXALPHACAPS_BLTALPHAPIXELSNEG = $00000004
Supports alpha information in the 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. (0 is opaque.)
This flag can only be set if DDCAPS_ALPHA is set.
For Blt.
DDFXALPHACAPS_BLTALPHASURFACES = $00000008
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.
(0 is transparent.)
For Blt.
DDFXALPHACAPS_BLTALPHASURFACESNEG = $00000010
The depth of the alpha channel data can range can be 1,2,4, or 8.
The NEG suffix indicates that this alpha channel becomes more transparent
as the alpha value increases. (0 is opaque.) This flag can only be set if
DDCAPS_ALPHA is set.
For Blt.
DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND = $00000020
Supports alpha blending around the edge of a source color keyed surface.
For Overlays.
DDFXALPHACAPS_OVERLAYALPHAPIXELS = $00000040
Supports alpha information in the 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. (0 is transparent.)
For Overlays.
DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG = $00000080
Supports alpha information in the 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. (0 is opaque.)
This flag can only be set if DDCAPS_ALPHA is set.
For Overlays.
DDFXALPHACAPS_OVERLAYALPHASURFACES = $00000100
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.
(0 is transparent.)
For Overlays.
DDFXALPHACAPS_OVERLAYALPHASURFACESNEG = $00000200
The depth of the alpha channel data can range can be 1,2,4, or 8.
The NEG suffix indicates that this alpha channel becomes more transparent
as the alpha value increases. (0 is opaque.) This flag can only be set if
DDCAPS_ALPHA is set.
For Overlays.
DDFXCAPS_BLTARITHSTRETCHY = $00000020
**************************************************************************
*
* DIRECTDRAW FX CAPABILITY FLAGS
*
****************************************************************************} { Uses arithmetic operations to stretch and shrink surfaces during blt
rather than pixel doubling techniques. Along the Y axis.
DDFXCAPS_BLTARITHSTRETCHYN = $00000010
Uses arithmetic operations to stretch during blt
rather than pixel doubling techniques. Along the Y axis. Only
works for x1, x2, etc.
DDFXCAPS_BLTMIRRORLEFTRIGHT = $00000040
Supports mirroring left to right in blt.
DDFXCAPS_BLTMIRRORUPDOWN = $00000080
Supports mirroring top to bottom in blt.
DDFXCAPS_BLTROTATION = $00000100
Supports arbitrary rotation for blts.
DDFXCAPS_BLTROTATION90 = $00000200
Supports 90 degree rotations for blts.
DDFXCAPS_BLTSHRINKX = $00000400
DirectDraw supports arbitrary shrinking of a surface along the
x axis (horizontal direction) for blts.
DDFXCAPS_BLTSHRINKXN = $00000800
DirectDraw supports integer shrinking (1x,2x,) of a surface
along the x axis (horizontal direction) for blts.
DDFXCAPS_BLTSHRINKY = $00001000
DirectDraw supports arbitrary shrinking of a surface along the
y axis (horizontal direction) for blts.
DDFXCAPS_BLTSHRINKYN = $00002000
DirectDraw supports integer shrinking (1x,2x,) of a surface
along the y axis (vertical direction) for blts.
DDFXCAPS_BLTSTRETCHX = $00004000
DirectDraw supports arbitrary stretching of a surface along the
x axis (horizontal direction) for blts.
DDFXCAPS_BLTSTRETCHXN = $00008000
DirectDraw supports integer stretching (1x,2x,) of a surface
along the x axis (horizontal direction) for blts.
DDFXCAPS_BLTSTRETCHY = $00010000
DirectDraw supports arbitrary stretching of a surface along the
y axis (horizontal direction) for blts.
DDFXCAPS_BLTSTRETCHYN = $00020000
DirectDraw supports integer stretching (1x,2x,) of a surface
along the y axis (vertical direction) for blts.
DDFXCAPS_OVERLAYARITHSTRETCHY = $00040000
Uses arithmetic operations to stretch and shrink surfaces during
overlay rather than pixel doubling techniques. Along the Y axis
for overlays.
DDFXCAPS_OVERLAYARITHSTRETCHYN = $00000008
Uses arithmetic operations to stretch surfaces during
overlay rather than pixel doubling techniques. Along the Y axis
for overlays. Only works for x1, x2, etc.
DDFXCAPS_OVERLAYMIRRORLEFTRIGHT = $08000000
DirectDraw supports mirroring of overlays across the vertical axis
DDFXCAPS_OVERLAYMIRRORUPDOWN = $10000000
DirectDraw supports mirroring of overlays across the horizontal axis
DDFXCAPS_OVERLAYSHRINKX = $00080000
DirectDraw supports arbitrary shrinking of a surface along the
x axis (horizontal direction) for overlays.
DDFXCAPS_OVERLAYSHRINKXN = $00100000
DirectDraw supports integer shrinking (1x,2x,) of a surface
along the x axis (horizontal direction) for overlays.
DDFXCAPS_OVERLAYSHRINKY = $00200000
DirectDraw supports arbitrary shrinking of a surface along the
y axis (horizontal direction) for overlays.
DDFXCAPS_OVERLAYSHRINKYN = $00400000
DirectDraw supports integer shrinking (1x,2x,) of a surface
along the y axis (vertical direction) for overlays.
DDFXCAPS_OVERLAYSTRETCHX = $00800000
DirectDraw supports arbitrary stretching of a surface along the
x axis (horizontal direction) for overlays.
DDFXCAPS_OVERLAYSTRETCHXN = $01000000
DirectDraw supports integer stretching (1x,2x,) of a surface
along the x axis (horizontal direction) for overlays.
DDFXCAPS_OVERLAYSTRETCHY = $02000000
DirectDraw supports arbitrary stretching of a surface along the
y axis (horizontal direction) for overlays.
DDFXCAPS_OVERLAYSTRETCHYN = $04000000
DirectDraw supports integer stretching (1x,2x,) of a surface
along the y axis (vertical direction) for overlays.
DDGBS_CANBLT = $00000001
**************************************************************************
*
* DIRECTDRAW GETBLTSTATUS FLAGS
*
****************************************************************************} { is it OK to blt now?
DDGBS_ISBLTDONE = $00000002
is the blt to the surface finished?
DDGFS_CANFLIP = $00000001
**************************************************************************
*
* DIRECTDRAW GETFLIPSTATUS FLAGS
*
****************************************************************************} { is it OK to flip now?
DDGFS_ISFLIPDONE = $00000002
is the last flip finished?
DDLOCK_EVENT = $00000002
default } { Set if an event handle is being passed to Lock. Lock will trigger the event
when it can return the surface memory pointer requested.
DDLOCK_READONLY = $00000010
DDLOCK_SURFACEMEMORYPTR = $00000000
**************************************************************************
*
* DIRECTDRAWSURFACE LOCK FLAGS
*
****************************************************************************} { The default. Set to indicate that Lock should return a valid memory pointer
to the top of the specified rectangle. If no rectangle is specified then a
pointer to the top of the surface is returned.
DDLOCK_WAIT = $0000000
**************************************************************************
*
* LOCK FLAGS
*
DDLOCK_WRITEONLY = $00000020
surface will only be read from
DDOVERFX_ARITHSTRETCHY = $00000001
**************************************************************************
*
* DIRECTDRAWSURFACE OVERLAY FX FLAGS
*
****************************************************************************} { If stretching, use arithmetic stretching along the Y axis for this overlay.
DDOVERFX_MIRRORLEFTRIGHT = $00000002
Mirror the overlay across the vertical axis
DDOVERFX_MIRRORUPDOWN = $00000004
Mirror the overlay across the horizontal axis
DDOVERZ_INSERTINBACKOF = $00000005
Move Overlay in back of relative surface
DDOVERZ_INSERTINFRONTOF = $00000004
Move Overlay in front of relative surface
DDOVERZ_MOVEBACKWARD = $00000003
Move Overlay backward
DDOVERZ_MOVEFORWARD = $00000002
Move Overlay forward
DDOVERZ_SENDTOBACK = $00000001
Send overlay to back
DDOVERZ_SENDTOFRONT = $00000000
**************************************************************************
*
* DIRECTDRAW UPDATEOVERLAYZORDER FLAGS
*
****************************************************************************} { Send overlay to front
DDOVER_ADDDIRTYRECT = $00008000
Add a dirty rect to an emulated overlayed surface.
DDOVER_ALPHADEST = $00000001
**************************************************************************
*
* DIRECTDRAW SURFACE OVERLAY FLAGS
*
****************************************************************************} { Use the alpha information in the pixel format or the alpha channel surface
attached to the destination surface as the alpha channel for the
destination overlay.
DDOVER_ALPHADESTCONSTOVERRIDE = $00000002
Use the dwConstAlphaDest field in the DDOVERLAYFX structure as the
destination alpha channel for this overlay.
DDOVER_ALPHADESTNEG = $00000004
The NEG suffix indicates that the destination surface becomes more
transparent as the alpha value increases.
DDOVER_ALPHADESTSURFACEOVERRIDE = $00000008
Use the lpDDSAlphaDest field in the DDOVERLAYFX structure as the alpha
channel destination for this overlay.
DDOVER_ALPHAEDGEBLEND = $00000010
Use the dwAlphaEdgeBlend field in the DDOVERLAYFX structure as the alpha
channel for the edges of the image that border the color key colors.
DDOVER_ALPHASRC = $00000020
Use the alpha information in the pixel format or the alpha channel surface
attached to the source surface as the source alpha channel for this overlay.
DDOVER_ALPHASRCCONSTOVERRIDE = $00000040
Use the dwConstAlphaSrc field in the DDOVERLAYFX structure as the source
alpha channel for this overlay.
DDOVER_ALPHASRCNEG = $00000080
The NEG suffix indicates that the source surface becomes more transparent
as the alpha value increases.
DDOVER_ALPHASRCSURFACEOVERRIDE = $00000100
Use the lpDDSAlphaSrc field in the DDOVERLAYFX structure as the alpha channel
source for this overlay.
DDOVER_DDFX = $00080000
Use the overlay FX flags to define special overlay FX
DDOVER_HIDE = $00000200
Turn this overlay off.
DDOVER_KEYDEST = $00000400
Use the color key associated with the destination surface.
DDOVER_KEYDESTOVERRIDE = $00000800
Use the dckDestColorkey field in the DDOVERLAYFX structure as the color key
for the destination surface
DDOVER_KEYSRC = $00001000
Use the color key associated with the source surface.
DDOVER_KEYSRCOVERRIDE = $00002000
Use the dckSrcColorkey field in the DDOVERLAYFX structure as the color key
for the source surface.
DDOVER_REFRESHALL = $00020000
Redraw the entire surface on an emulated overlayed surface.
DDOVER_REFRESHDIRTYRECTS = $00010000
Redraw all dirty rects on an emulated overlayed surface.
DDOVER_REFRESHPOUND = $00040000
Force redrawing onto the destination surface without regard for the background
DDOVER_SHOW = $00004000
Turn this overlay on.
DDPCAPS_4BIT = $00000001
**************************************************************************
*
* DIRECTDRAWPALETTE CAPABILITIES
*
****************************************************************************} { Index is 4 bits. There are sixteen color entries in the palette table.
DDPCAPS_8BIT = $00000004
Index is 8 bits. There are 256 color entries in the palette table.
DDPCAPS_8BITENTRIES = $00000002
Index is onto a 8 bit color index. This field is only valid with the
DDPCAPS_4BIT capability and the target surface is in 8bpp. Each color
entry is one byte long and is an index into destination surface's 8bpp
palette.
DDPCAPS_ALLOW256 = $00000040
This palette can have all 256 entries defined
DDPCAPS_INITIALIZE = $00000008
Indicates that this DIRECTDRAWPALETTE should use the palette color array
passed into the lpDDColorArray parameter to initialize the DIRECTDRAWPALETTE
object.
DDPCAPS_PRIMARYSURFACE = $00000010
This palette is the one attached to the primary surface. Changing this
table has immediate effect on the display unless DDPSETPAL_VSYNC is specified
and supported.
DDPCAPS_PRIMARYSURFACELEFT = $00000020
This palette is the one attached to the primary surface left. Changing
this table has immediate effect on the display for the left eye unless
DDPSETPAL_VSYNC is specified and supported.
DDPCAPS_VSYNC = $00000080
This palette can have modifications to it synced with the monitors
refresh rate.
DDPF_ALPHA = $00000002
The pixel format contains alpha only information
DDPF_ALPHAPIXELS = $00000001
**************************************************************************
*
* DIRECTDRAW PIXELFORMAT FLAGS
*
****************************************************************************} { The surface has alpha channel information in the pixel format.
DDPF_COMPRESSED = $00000080
The surface will accept pixel data in the format specified
and compress it during the write.
DDPF_FOURCC = $00000004
The FourCC code is valid.
DDPF_PALETTEINDEXED4 = $00000008
The surface is 4-bit color indexed.
DDPF_PALETTEINDEXED4TO8 = $00000010
The surface is 4-bit color indexed to an 8-bit palette.
DDPF_PALETTEINDEXED8 = $00000020
The surface is 8-bit color indexed.
DDPF_RGB = $00000040
The RGB data in the pixel format structure is valid.
DDPF_RGBTOYUV = $00000100
The surface will accept RGB data and translate it during
the write to YUV data. The format of the data to be written
will be contained in the pixel format structure. The DDPF_RGB
flag will be set.
DDPF_YUV = $00000200
pixel format is YUV - YUV data in pixel format struct is valid
DDPF_ZBUFFER = $00000400
pixel format is a z buffer only surface
DDPSETPAL_IMMEDIATE = $00000000
**************************************************************************
*
* DIRECTDRAWPALETTE SETENTRY CONSTANTS
*
****************************************************************************} { Palette changes take effect immediately.
DDPSETPAL_VSYNC = $00000002
default } { Palette changes should take effect during the vertical blank to avoid
palette tearing.
DDSCAPS_3D = $00000001
*============================================================================
*
* Direct Draw Capability Flags
*
* These flags are used to describe the capabilities of a given Surface.
* All flags are bit flags.
*
*==========================================================================*} {****************************************************************************
*
* DIRECTDRAWSURFACE CAPABILITY FLAGS
*
****************************************************************************} { Indicates that this surface is a front buffer, back buffer, or
texture map that is being used in conjunction with a 3DDDI or
Direct3D HAL.
DDSCAPS_ALPHA = $00000002
Indicates that this surface contains alpha information. The pixel
format must be interrogated to determine whether this surface
contains only alpha information or alpha information interlaced
with pixel color data (e.g. RGBA or YUVA).
DDSCAPS_BACKBUFFER = $00000004
Indicates that this surface is a backbuffer. It is generally
set by CreateSurface when the DDSCAPS_FLIP capability bit is set.
It indicates that this surface is THE back buffer of a surface
flipping structure. DirectDraw supports N surfaces in a
surface flipping structure. Only the surface that immediately
precedeces the DDSCAPS_FRONTBUFFER has this capability bit set.
The other surfaces are identified as back buffers by the presence
of the DDSCAPS_FLIP capability, their attachment order, and the
absence of the DDSCAPS_FRONTBUFFER and DDSCAPS_BACKBUFFER
capabilities. The bit is sent to CreateSurface when a standalone
back buffer is being created. This surface could be attached to
a front buffer and/or back buffers to form a flipping surface
structure after the CreateSurface call. See AddAttachments for
a detailed description of the behaviors in this case.
DDSCAPS_COMPLEX = $00000008
Indicates a complex surface structure is being described. A
complex surface structure results in the creation of more than
one surface. The additional surfaces are attached to the root
surface. The complex structure can only be destroyed by
destroying the root.
DDSCAPS_FLIP = $00000010
Indicates that this surface is a part of a surface flipping structure.
When it is passed to CreateSurface the DDSCAPS_FRONTBUFFER and
DDSCAP_BACKBUFFER bits are not set. They are set by CreateSurface
on the resulting creations. The dwBackBufferCount field in the
DDSURFACEDESC structure must be set to at least 1 in order for
the CreateSurface call to succeed. The DDSCAPS_COMPLEX capability
must always be set with creating multiple surfaces through CreateSurface.
DDSCAPS_FRONTBUFFER = $00000020
Indicates that this surface is THE front buffer of a surface flipping
structure. It is generally set by CreateSurface when the DDSCAPS_FLIP
capability bit is set.
If this capability is sent to CreateSurface then a standalone front buffer
is created. This surface will not have the DDSCAPS_FLIP capability.
It can be attached to other back buffers to form a flipping structure.
See AddAttachments for a detailed description of the behaviors in this
case.
DDSCAPS_HWCODEC = $00100000
Indicates surface should be able to have a stream decompressed
to it by the hardware.
DDSCAPS_LIVEVIDEO = $00080000
Indicates surface should be able to receive live video
DDSCAPS_MODEX = $00200000
Surface is a 320x200 or 320x240 ModeX surface
DDSCAPS_OFFSCREENPLAIN = $00000040
Indicates that this surface is any offscreen surface that is not an overlay,
texture, zbuffer, front buffer, back buffer, or alpha surface. It is used
to identify plain vanilla surfaces.
DDSCAPS_OVERLAY = $00000080
Indicates that this surface is an overlay. It may or may not be directly visible
depending on whether or not it is currently being overlayed onto the primary
surface. DDSCAPS_VISIBLE can be used to determine whether or not it is being
overlayed at the moment.
DDSCAPS_OWNDC = $00040000
Indicates surface will have a DC associated long term
DDSCAPS_PALETTE = $00000100
Indicates that unique DirectDrawPalette objects can be created and
attached to this surface.
DDSCAPS_PRIMARYSURFACE = $00000200
Indicates that this surface is the primary surface. The primary
surface represents what the user is seeing at the moment.
DDSCAPS_PRIMARYSURFACELEFT = $00000400
Indicates that this surface is the primary surface for the left eye.
The primary surface for the left eye represents what the user is seeing
at the moment with the users left eye. When this surface is created the
DDSCAPS_PRIMARYSURFACE represents what the user is seeing with the users
right eye.
DDSCAPS_SYSTEMMEMORY = $00000800
Indicates that this surface memory was allocated in system memory
DDSCAPS_TEXTUREMAP = $00001000
Indicates that this surface can be used as a 3D texture. It does not
indicate whether or not the surface is being used for that purpose.
DDSCAPS_VIDEOMEMORY = $00004000
Indicates that this surface exists in video memory.
DDSCAPS_VISIBLE = $00008000
Indicates that changes made to this surface are immediately visible.
It is always set for the primary surface and is set for overlays while
they are being overlayed and texture maps while they are being textured.
DDSCAPS_WRITEONLY = $00010000
Indicates that only writes are permitted to the surface. Read accesses
from the surface may or may not generate a protection fault, but the
results of a read from this surface will not be meaningful. READ ONLY.
DDSCAPS_ZBUFFER = $00020000
Indicates that this surface is the z buffer. The z buffer does not contain
displayable information. Instead it contains bit depth information that is
used to determine which pixels are visible and which are obscured.
DDSCL_ALLOWMODEX = $00000040
app can deal with non-windows display modes
DDSCL_ALLOWREBOOT = $00000002
allow CTRL_ALT_DEL to work while in fullscreen exclusive mode
DDSCL_EXCLUSIVE = $00000010
app wants exclusive access
DDSCL_FULLSCREEN = $00000001
**************************************************************************
*
* DIRECTDRAW SETCOOPERATIVELEVEL FLAGS
*
****************************************************************************} { Exclusive mode owner will be responsible for the entire primary surface.
GDI can be ignored. used with DD
DDSCL_NORMAL = $00000008
app wants to work as a regular Windows application
DDSCL_NOWINDOWCHANGES = $00000004
prevents DDRAW from modifying the application window.
prevents DDRAW from minimize/restore the application window on activation.
DDSD_ALL = $0001f9ee
All input fields are valid.
DDSD_ALPHABITDEPTH = $00000080
dwAlphaBitDepth is valid.
DDSD_BACKBUFFERCOUNT = $00000020
dwBackBufferCount is valid.
DDSD_CAPS = $00000000
ddsCaps field is valid.
DDSD_CKDESTBLT = $00004000
ddckCKDestBlt is valid.
DDSD_CKDESTOVERLAY = $00002000
ddckCKDestOverlay is valid.
DDSD_CKSRCBLT = $00010000
ddckCKSrcBlt is valid.
DDSD_CKSRCOVERLAY = $00008000
ddckCKSrcOverlay is valid.
DDSD_HEIGHT = $00000002
default } { dwHeight field is valid.
DDSD_LPSURFACE = $00000800
lpSurface is valid.
DDSD_PITCH = $00000008
lPitch is valid.
DDSD_PIXELFORMAT = $00001000
ddpfPixelFormat is valid.
DDSD_WIDTH = $00000004
dwWidth field is valid.
DDSD_ZBUFFERBITDEPTH = $00000040
dwZBufferBitDepth is valid.
DDSETPAL_IMMEDIATE = $00000000
**************************************************************************
*
* DIRECTDRAWPALETTE GETENTRY CONSTANTS
*
****************************************************************************} { 0 is the only legal value } {****************************************************************************
*
* DIRECTDRAWSURFACE SETPALETTE CONSTANTS
*
****************************************************************************} { Palette change takes effect immediately.
DDSETPAL_VSYNC = $00000002
default } { Palette change should take effect during the vertical blank to avoid
palette tearing.
DDSVCAPS_ENIGMA = $00000001
**************************************************************************
*
* DIRECTDRAW STEREO VIEW CAPABILITIES
*
****************************************************************************} { The stereo view is accomplished via enigma encoding.
DDSVCAPS_FLICKER = $00000002
The stereo view is accomplished via high frequency flickering.
DDSVCAPS_REDBLUE = $00000004
The stereo view is accomplished via red and blue filters applied
to the left and right eyes. All images must adapt their colorspaces
for this process.
DDSVCAPS_SPLIT = $00000008
The stereo view is accomplished with split screen technology.
DDWAITVB_BLOCKBEGIN = $00000001
**************************************************************************
*
* DIRECTDRAW WAITFORVERTICALBLANK FLAGS
*
****************************************************************************} { return when the vertical blank interval begins
DDWAITVB_BLOCKBEGINEVENT = $00000002
set up an event to trigger when the vertical blank begins
DDWAITVB_BLOCKEND = $00000004
return when the vertical blank interval ends and display begins
DD_OK = 0
DD_OK_HANDLED = 1
Status is OK
Issued by: DirectDraw Commands and all callbacks
DD_OK_NOTHANDLED = 0
DD_ROP_SPACE = (256 div 32)
REGSTR_KEY_DDHW_DESCRIPTION = 'Description'
*==========================================================================
*
* Copyright (C) 1994-1995 Microsoft Corporation. All Rights Reserved.
*
* Conversion (version 0.8) to Delphi 2.0 by Blake Stone
*
* email: bstone@dkw.com
* home page: http://www.dkw.com/bstone
*
* File: ddraw.pas
* Content: DirectDraw include file
*
*=========================================================================} { The following are included, untranslated from the C declaration,
for informational purposes only } (*
#define _FAC 0x876
#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FAC, code )
{ GUIDS used by DirectDraw objects }
DEFINE_GUID( IID_IDirectDraw, 0x6C14DB80,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
DEFINE_GUID( IID_IDirectDrawSurface, 0x6C14DB81,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
DEFINE_GUID( IID_IDirectDrawPalette, 0x6C14DB84,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
DEFINE_GUID( IID_IDirectDrawClipper, 0x6C14DB85,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
REGSTR_KEY_DDHW_DRIVERNAME = 'DriverName'
REGSTR_PATH_DDHW = 'Hardware\DirectDrawDrivers'