Unit ddraw

Classes

IDirectDraw - INTERACES FOLLOW: IDirectDraw IDirectDrawClipper IDirectDrawPalette IDirectDrawSurface { IDirectDraw
IDirectDrawClipper - IDirectDrawClipper
IDirectDrawPalette - IDirectDrawPalette
IDirectDrawSurface - IDirectDrawSurface and related interfaces

Functions

DirectDrawCreate - API's

Types

DDBLTBATCH
DDBLTFX
DDCAPS
DDCOLORKEY
DDMODEDESC
DDOVERLAYFX
DDPIXELFORMAT
DDSCAPS
DDSURFACEDESC
LPCLIPPERCALLBACK
LPDDBLTBATCH
LPDDBLTFX
LPDDCAPS
LPDDCOLORKEY
LPDDENUMMODESCALLBACK
LPDDENUMSURFACESCALLBACK
LPDDMODEDESC
LPDDOVERLAYFX
LPDDPIXELFORMAT
LPDDSCAPS
LPDDSURFACEDESC
LPSURFACESTREAMINGCALLBACK

Constants

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

Variables


Functions


function DirectDrawCreate ( lpGUID: PGUID; var lplpDD: IDirectDraw; pUnkOuter: IUnknown ): HRESULT ;

API's

Types


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 

Constants

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'


Variables