⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 directdraw.pas

📁 delphi编的不错的贪吃蛇
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  end;

  IDirectDraw4 = interface(IUnknown)
    ['{9c59509a-39bd-11d1-8c4a-00c04fd930c5}']
   (*** IDirectDraw methods ***)
    function Compact : HResult; stdcall;
    function CreateClipper(dwFlags : LongWord; out lplpDDClipper : IDirectDrawClipper; pUnkOuter : IUnknown) : HResult; stdcall;
    function CreatePalette(dwFlags : LongWord; lpColorTable : Pointer; out lplpDDPalette : IDirectDrawPalette; pUnkOuter : IUnknown) : HResult; stdcall;
    function CreateSurface(const lpDDSurfaceDesc : TDDSurfaceDesc2; out lplpDDSurface : IDirectDrawSurface4; pUnkOuter : IUnknown) : HResult; stdcall;
    function DuplicateSurface(lpDDSurface : IDirectDrawSurface4; out lplpDupDDSurface : IDirectDrawSurface4) : HResult; stdcall;
    function EnumDisplayModes(dwFlags : LongWord; lpDDSurfaceDesc : PDDSurfaceDesc2; lpContext : Pointer; lpEnumModesCallback : TDDEnumModesCallback2) : HResult; stdcall;
    function EnumSurfaces(dwFlags : LongWord; const lpDDSD : TDDSurfaceDesc2; lpContext : Pointer; lpEnumCallback : TDDEnumSurfacesCallback2) : HResult; stdcall;
    function FlipToGDISurface : HResult; stdcall;
    function GetCaps(lpDDDriverCaps : PDDCaps; lpDDHELCaps : PDDCaps) : HResult; stdcall;
    function GetDisplayMode(out lpDDSurfaceDesc : TDDSurfaceDesc2) : HResult; stdcall;
    function GetFourCCCodes(var lpNumCodes : LongWord; lpCodes : PDWORD) : HResult; stdcall;
    function GetGDISurface(out lplpGDIDDSSurface : IDirectDrawSurface4) : HResult; stdcall;
    function GetMonitorFrequency(out lpdwFrequency : LongWord) : HResult; stdcall;
    function GetScanLine(out lpdwScanLine : LongWord) : HResult; stdcall;
    function GetVerticalBlankStatus(out lpbIsInVB : BOOL) : HResult; stdcall;
    function Initialize(lpGUID : PGUID) : HResult; stdcall;
    function RestoreDisplayMode : HResult; stdcall;
    function SetCooperativeLevel(hWnd : HWND; dwFlags : LongWord) : HResult; stdcall;
(*** Warning!  SetDisplayMode differs between DirectDraw 1 and DirectDraw 2 ***)
    function SetDisplayMode(dwWidth : LongWord; dwHeight : LongWord; dwBPP : LongWord; dwRefreshRate : LongWord; dwFlags : LongWord) : HResult; stdcall;
    function WaitForVerticalBlank(dwFlags : LongWord; hEvent : THandle) :  HResult; stdcall;
   (*** Added in the v2 interface ***)
    function GetAvailableVidMem(const lpDDSCaps : TDDSCaps2; out lpdwTotal, lpdwFree : LongWord) : HResult; stdcall;
   (*** Added in the V4 Interface ***)
    function GetSurfaceFromDC(hdc : Windows.HDC; out lpDDS4 : IDirectDrawSurface4) : HResult; stdcall;
    function RestoreAllSurfaces : HResult; stdcall;
    function TestCooperativeLevel : HResult; stdcall;
    function GetDeviceIdentifier(out lpdddi : TDDDeviceIdentifier; dwFlags : LongWord) : HResult; stdcall;
  end;

  IDirectDraw7 = interface(IUnknown)
    ['{15e65ec0-3b9c-11d2-b92f-00609797ea5b}']
   (*** IDirectDraw methods ***)
    function Compact : HResult; stdcall;
    function CreateClipper(dwFlags : LongWord; out lplpDDClipper : IDirectDrawClipper; pUnkOuter : IUnknown) : HResult; stdcall;
    function CreatePalette(dwFlags : LongWord; lpColorTable : Pointer; out lplpDDPalette : IDirectDrawPalette; pUnkOuter : IUnknown) : HResult; stdcall;
    function CreateSurface(const lpDDSurfaceDesc : TDDSurfaceDesc2; out lplpDDSurface : IDirectDrawSurface7; pUnkOuter : IUnknown) : HResult; stdcall;
    function DuplicateSurface(lpDDSurface : IDirectDrawSurface7; out lplpDupDDSurface : IDirectDrawSurface7) : HResult; stdcall;
    function EnumDisplayModes(dwFlags : LongWord; lpDDSurfaceDesc : PDDSurfaceDesc2; lpContext : Pointer; lpEnumModesCallback : TDDEnumModesCallback2) : HResult; stdcall;
    function EnumSurfaces(dwFlags : LongWord; const lpDDSD : TDDSurfaceDesc2;lpContext : Pointer; lpEnumCallback : TDDEnumSurfacesCallback7) : HResult; stdcall;
    function FlipToGDISurface : HResult; stdcall;
    function GetCaps(lpDDDriverCaps : PDDCaps; lpDDHELCaps : PDDCaps) : HResult; stdcall;
    function GetDisplayMode(out lpDDSurfaceDesc : TDDSurfaceDesc2) : HResult; stdcall;
    function GetFourCCCodes(var lpNumCodes : LongWord; lpCodes : PDWORD) : HResult; stdcall;
    function GetGDISurface(out lplpGDIDDSSurface : IDirectDrawSurface7) : HResult; stdcall;
    function GetMonitorFrequency(out lpdwFrequency : LongWord) : HResult; stdcall;
    function GetScanLine(out lpdwScanLine : LongWord) : HResult; stdcall;
    function GetVerticalBlankStatus(out lpbIsInVB : BOOL) : HResult; stdcall;
    function Initialize(lpGUID : PGUID) : HResult; stdcall;
    function RestoreDisplayMode : HResult; stdcall;
    function SetCooperativeLevel(hWnd : HWND; dwFlags : LongWord) : HResult; stdcall;
    function SetDisplayMode(dwWidth : LongWord; dwHeight : LongWord; dwBPP : LongWord; dwRefreshRate : LongWord; dwFlags : LongWord) : HResult; stdcall;
    function WaitForVerticalBlank(dwFlags : LongWord; hEvent : THandle) : HResult; stdcall;
   (*** Added in the v2 interface ***)
    function GetAvailableVidMem(const lpDDSCaps : TDDSCaps2; out lpdwTotal, lpdwFree : LongWord) : HResult; stdcall;
   (*** Added in the V4 Interface ***)
    function GetSurfaceFromDC(hdc : Windows.HDC; out lpDDS : IDirectDrawSurface7) : HResult; stdcall;
    function RestoreAllSurfaces : HResult; stdcall;
    function TestCooperativeLevel : HResult; stdcall;
    function GetDeviceIdentifier(out lpdddi : TDDDeviceIdentifier2; dwFlags : LongWord) : HResult; stdcall;
    function StartModeTest(const lpModesToTest; dwNumEntries, dwFlags : LongWord) : HResult; stdcall;
    function EvaluateMode(dwFlags : LongWord; out pSecondsUntilTimeout : LongWord) : HResult; stdcall;
  end;

(*
 * IDirectDrawPalette
 *)

  IDirectDrawPalette = interface (IUnknown)
    ['{6C14DB84-A733-11CE-A521-0020AF0BE560}']
    (*** IDirectDrawPalette methods ***)
    function GetCaps(out lpdwCaps : LongWord) : HResult; stdcall;
    function GetEntries(dwFlags : LongWord; dwBase : LongWord; dwNumEntries : LongWord; lpEntries : Pointer) : HResult; stdcall;
    function Initialize(lpDD : IDirectDraw; dwFlags : LongWord; lpDDColorTable : Pointer) : HResult; stdcall;
    function SetEntries(dwFlags : LongWord; dwStartingEntry : LongWord; dwCount : LongWord; lpEntries : Pointer) : HResult; stdcall;
  end;

(*
 * IDirectDrawClipper
 *)

  IDirectDrawClipper = interface (IUnknown)
    ['{6C14DB85-A733-11CE-A521-0020AF0BE560}']
    (*** IDirectDrawClipper methods ***)
    function GetClipList(lpRect : PRect; lpClipList : PRgnData; var lpdwSize : LongWord) : HResult; stdcall;
    function GetHWnd(out lphWnd : HWND) : HResult; stdcall;
    function Initialize (lpDD : IDirectDraw; dwFlags : LongWord) : HResult; stdcall;
    function IsClipListChanged(out lpbChanged : BOOL) : HResult; stdcall;
    function SetClipList(lpClipList: PRgnData; dwFlags : LongWord) : HResult; stdcall;
    function SetHWnd(dwFlags : LongWord; hWnd : HWND) : HResult; stdcall;
  end;

(*
 * IDirectDrawSurface and related interfaces
 *)

  IDirectDrawSurface = interface (IUnknown)
    ['{6C14DB81-A733-11CE-A521-0020AF0BE560}']
    (*** IDirectDrawSurface methods ***)
    function AddAttachedSurface(lpDDSAttachedSurface : IDirectDrawSurface) : HResult; stdcall;
    function AddOverlayDirtyRect(const lpRect : TRect) : HResult; stdcall;
    function Blt(lpDestRect : PRect; lpDDSrcSurface : IDirectDrawSurface; lpSrcRect : PRect; dwFlags : LongWord; lpDDBltFx : PDDBltFX) : HResult; stdcall;
    function BltBatch(const lpDDBltBatch : TDDBltBatch; dwCount : LongWord; dwFlags : LongWord) : HResult; stdcall;
    function BltFast(dwX : LongWord; dwY : LongWord; lpDDSrcSurface : IDirectDrawSurface; lpSrcRect : PRect; dwTrans : LongWord) : HResult; stdcall;
    function DeleteAttachedSurface(dwFlags : LongWord; lpDDSAttachedSurface : IDirectDrawSurface) : HResult; stdcall;
    function EnumAttachedSurfaces(lpContext : Pointer; lpEnumSurfacesCallback : TDDEnumSurfacesCallback) : HResult; stdcall;
    function EnumOverlayZOrders(dwFlags : LongWord; lpContext : Pointer; lpfnCallback : TDDEnumSurfacesCallback) : HResult; stdcall;
    function Flip(lpDDSurfaceTargetOverride : IDirectDrawSurface; dwFlags : LongWord) : HResult; stdcall;
    function GetAttachedSurface(var lpDDSCaps : TDDSCaps;(*out*)var lplpDDAttachedSurface : IDirectDrawSurface) : HResult; stdcall;
    function GetBltStatus(dwFlags : LongWord) : HResult; stdcall;
    function GetCaps(out lpDDSCaps : TDDSCaps) : HResult; stdcall;
    function GetClipper(out lplpDDClipper : IDirectDrawClipper) : HResult; stdcall;
    function GetColorKey(dwFlags : LongWord; out lpDDColorKey : TDDColorKey) : HResult; stdcall;
    function GetDC(out lphDC : HDC) : HResult; stdcall;
    function GetFlipStatus(dwFlags : LongWord) : HResult; stdcall;
    function GetOverlayPosition(out lplX, lplY : LongInt) : HResult; stdcall;
    function GetPalette(out lplpDDPalette : IDirectDrawPalette) : HResult; stdcall;
    function GetPixelFormat(out lpDDPixelFormat : TDDPixelFormat) : HResult; stdcall;
    function GetSurfaceDesc(out lpDDSurfaceDesc : TDDSurfaceDesc) : HResult; stdcall;
    function Initialize(lpDD : IDirectDraw; out lpDDSurfaceDesc : TDDSurfaceDesc) : HResult; stdcall;
    function IsLost : HResult; stdcall; function Lock(lpDestRect : PRect; out lpDDSurfaceDesc : TDDSurfaceDesc; dwFlags : LongWord; hEvent : THandle) : HResult; stdcall;
    function ReleaseDC(hDC : Windows.HDC) : HResult; stdcall;
    function _Restore : HResult; stdcall;
    function SetClipper(lpDDClipper : IDirectDrawClipper) : HResult; stdcall;
    function SetColorKey(dwFlags : LongWord; lpDDColorKey : PDDColorKey) : HResult; stdcall;
    function SetOverlayPosition(lX, lY : LongInt) : HResult; stdcall;
    function SetPalette(lpDDPalette : IDirectDrawPalette) : HResult; stdcall;
    function Unlock(lpSurfaceData : Pointer) : HResult; stdcall;
    function UpdateOverlay(lpSrcRect : PRect; lpDDDestSurface : IDirectDrawSurface; lpDestRect : PRect; dwFlags : LongWord; lpDDOverlayFx : PDDOverlayFX) : HResult; stdcall;
    function UpdateOverlayDisplay(dwFlags : LongWord) : HResult; stdcall;
    function UpdateOverlayZOrder(dwFlags : LongWord; lpDDSReference : IDirectDrawSurface) : HResult; stdcall;
  end;

(*
 * IDirectDrawSurface2 and related interfaces
 *)

  IDirectDrawSurface2 = interface (IUnknown)
    ['{57805885-6eec-11cf-9441-a82303c10e27}']
    (*** IDirectDrawSurface methods ***)
    function AddAttachedSurface(lpDDSAttachedSurface : IDirectDrawSurface2) : HResult; stdcall;
    function AddOverlayDirtyRect(const lpRect : TRect) : HResult; stdcall;
    function Blt(lpDestRect : PRect; lpDDSrcSurface : IDirectDrawSurface2; lpSrcRect : PRect; dwFlags : LongWord; lpDDBltFx : PDDBltFX) : HResult; stdcall;
    function BltBatch(const lpDDBltBatch : TDDBltBatch; dwCount : LongWord; dwFlags : LongWord) : HResult; stdcall;
    function BltFast(dwX : LongWord; dwY : LongWord; lpDDSrcSurface : IDirectDrawSurface2; lpSrcRect : PRect; dwTrans : LongWord) : HResult; stdcall;
    function DeleteAttachedSurface(dwFlags : LongWord; lpDDSAttachedSurface : IDirectDrawSurface2) : HResult; stdcall;
    function EnumAttachedSurfaces(lpContext : Pointer; lpEnumSurfacesCallback : TDDEnumSurfacesCallback) : HResult; stdcall;
    function EnumOverlayZOrders(dwFlags : LongWord; lpContext : Pointer; lpfnCallback : TDDEnumSurfacesCallback) : HResult; stdcall;
    function Flip(lpDDSurfaceTargetOverride : IDirectDrawSurface2; dwFlags : LongWord) : HResult; stdcall;
    function GetAttachedSurface(var lpDDSCaps : TDDSCaps; out lplpDDAttachedSurface : IDirectDrawSurface2) : HResult; stdcall;
    function GetBltStatus(dwFlags : LongWord) : HResult; stdcall;
    function GetCaps(out lpDDSCaps : TDDSCaps) : HResult; stdcall;
    function GetClipper(out lplpDDClipper : IDirectDrawClipper) : HResult; stdcall;
    function GetColorKey(dwFlags : LongWord; out lpDDColorKey : TDDColorKey) : HResult; stdcall;
    function GetDC(out lphDC : HDC) : HResult; stdcall;
    function GetFlipStatus(dwFlags : LongWord) : HResult; stdcall;
    function GetOverlayPosition(out lplX, lplY : LongInt) : HResult; stdcall;
    function GetPalette(out lplpDDPalette : IDirectDrawPalette) : HResult; stdcall;
    function GetPixelFormat(out lpDDPixelFormat : TDDPixelFormat) : HResult; stdcall;
    function GetSurfaceDesc(out lpDDSurfaceDesc : TDDSurfaceDesc) : HResult; stdcall;
    function Initialize(lpDD : IDirectDraw; out lpDDSurfaceDesc : TDDSurfaceDesc) : HResult; stdcall;
    function IsLost : HResult; stdcall;
    function Lock(lpDestRect : PRect; out lpDDSurfaceDesc : TDDSurfaceDesc; dwFlags : LongWord; hEvent : THandle) : HResult; stdcall;
    function ReleaseDC(hDC : Windows.HDC) : HResult; stdcall;
    function _Restore : HResult; stdcall;
    function SetClipper(lpDDClipper : IDirectDrawClipper) : HResult; stdcall;
    function SetColorKey(dwFlags : LongWord; lpDDColorKey : PDDColorKey) : HResult; stdcall;
    function SetOverlayPosition(lX, lY : LongInt) : HResult; stdcall;
    function SetPalette(lpDDPalette : IDirectDrawPalette) : HResult; stdcall;
    function Unlock(lpSurfaceData : Pointer) : HResult; stdcall;
    function UpdateOverlay(lpSrcRect : PRect; lpDDDestSurface : IDirectDrawSurface2; lpDestRect : PRect; dwFlags : LongWord; lpDDOverlayFx : PDDOverlayFX) : HResult; stdcall;
    function UpdateOverlayDisplay(dwFlags : LongWord) : HResult; stdcall;
    function UpdateOverlayZOrder(dwFlags : LongWord; lpDDSReference : IDirectDrawSurface2) : HResult; stdcall;
   (*** Added in the v2 interface ***)
    function GetDDInterface(var lplpDD : IDirectDraw) : HResult; stdcall;
    function PageLock(dwFlags : LongWord) : HResult; stdcall;
    function PageUnlock(dwFlags : LongWord) : HResult; stdcall;
  end;

  IDirectDrawSurface3 = interface (IUnknown)
    ['{DA044E00-69B2-11D0-A1D5-00AA00B8DFBB}']
    (*** IDirectDrawSurface methods ***)
    function AddAttachedSurface(lpDDSAttachedSurface : IDirectDrawSurface3) : HResult; stdcall;
    function AddOverlayDirtyRect(const lpRect : TRect) : HResult; stdcall;
    function Blt(lpDestRect : PRect; lpDDSrcSurface : IDirectDrawSurface3; lpSrcRect : PRect;  dwFlags : LongWord; lpDDBltFx : PDDBltFX) : HResult; stdcall;
    function BltBatch(const lpDDBltBatch : TDDBltBatch; dwCount : LongWord; dwFlags : LongWord) : HResult; stdcall;
    function BltFast(dwX : LongWord; dwY : LongWord; lpDDSrcSurface : IDirectDrawSurface3; lpSrcRect : PRect; dwTrans : LongWord) : HResult; stdcall;
    function DeleteAttachedSurface(dwFlags : LongWord; lpDDSAttachedSurface : IDirectDrawSurface3) : HResult; stdcall;
    function EnumAttachedSurfaces(lpContext : Pointer; lpEnumSurfacesCallback : TDDEnumSurfacesCallback) : HResult; stdcall;
    function EnumOverlayZOrders(dwFlags : LongWord; lpContext : Pointer; lpfnCallback : TDDEnumSurfacesCallback) : HResult; stdcall;
    function Flip(lpDDSurfaceTargetOverride : IDirectDrawSurface3; dwFlags : LongWord) : HResult; stdcall;
    function GetAttachedSurface(var lpDDSCaps : TDDSCaps; out lplpDDAttachedSurface : IDirectDrawSurface3) : HResult; stdcall;
    function GetBltStatus(dwFlags : LongWord) : HResult; stdcall;
    function GetCaps(out lpDDSCaps : TDDSCaps) : HResult; stdcall;
    function GetClipper(out lplpDDClipper : IDirectDrawClipper) : HResult; stdcall;
    function GetColorKey(dwFlags : LongWord; out lpDDColorKey : TDDColorKey) : HResult; stdcall;
    function GetDC(out lphDC : HDC) : HResult; stdcall;
    function GetFlipStatus(dwFlags : LongWord) : HResult; stdcall;
    function GetOverlayPosition(out lplX, lplY : LongInt) : HResult; stdcall;
    function GetPalette(out lplpDDPalette : IDirectDrawPalette) : HResult; stdcall;
    function GetPixelFormat(out lpDDPixelFormat : TDDPixelFormat) : HResult; stdcall;
    function GetSurfaceDesc(out lpDDSurfaceDesc : TDDSurfaceDesc) : HResult; stdcall;
    function Initialize(lpDD : IDirectDraw; out lpDDSurfaceDesc : TDDSurfaceDesc) : HResult; stdcall;
    function IsLost : HResult; stdcall;
    function Lock(lpDestRect : PRect; out lpDDSurfaceDesc : TDDSurfaceDesc; dwFlags : LongWord; hEvent : THandle) : HResult; stdcall;
    function ReleaseDC(hDC : Windows.HDC) : HResult; stdcall;
    function _Restore : HResult; stdcall;
    function SetClipper(lpDDClipper : IDirectDrawClipper) : HResult; stdcall;
    function SetColorKey(dwFlags : LongWord; lpDDColorKey : PDDColorKey) : HResult; stdcall;
    function SetOverlayPosition(lX, lY : LongInt) : HResult; stdcall;
    function SetPalette(lpDDPalette : IDirectDrawPalette) : HResult; stdcall;
    function Unlock(lpSurfaceData : Pointer) : HResult; stdcall;
    function UpdateOverlay(lpSrcRect : PRect; lpDDDestSurface : IDirectDrawSurface3; lpDestRect : PRect; dwFlags : LongWord; lpDDOverlayFx : PDDOverlayFX) : HResult; stdcall;
    function UpdateOverlayDisplay(dwFlags : LongWord) : HResult; stdcall;
    function UpdateOverlayZOrder(dwFlags : LongWord; lpDDSReference : IDirectDrawSurface3) : HResult; stdcall;
   (*** Added in the v2 interface ***)
    function GetDDInterface(out lplpDD : IDirectDraw) : HResult; stdcall;
    function PageLock(dwFlags : LongWord) : HResult; stdcall;
    function PageUnlock(dwFlags : LongWord) : HResult; stdcall;
   (*** Added in the V3 interface ***)
    function SetSurfaceDesc(const lpddsd : TDDSurfaceDesc; dwFlags : LongWord) : HResult; stdcall;
  end;

(*
 * IDirectDrawSurface4 and related interfaces
 *)
  IDirectDrawSurface4 = interface (IUnknown)
    ['{0B2B8630-AD35-11D0-8EA6-00609797EA5B}']
    (*** IDirectDrawSurface methods ***)
    function AddAttachedSurface(lpDDSAttachedSurface : IDirectDrawSurface4) : HResult; stdcall;
    function AddOverlayDirtyRect(const lpRect : TRect) : HResult; stdcall;
    function Blt(lpDestRect : PRect; lpDDSrcSurface : IDirectDrawSurface4; lpSrcRect : PRect; dwFlags : LongWord; lpDDBltFx : PDDBltFX) : HResult; stdcall;
    function BltBatch(const lpDDBltBatch : TDDBltBatch; dwCount : Lon

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -