亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? directdraw.pas

?? Delphi的即時戰略游戲源碼
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
(*==========================================================================;
 *
 *  Copyright (C) 1994-1997 Microsoft Corporation.  All Rights Reserved.
 *
 *  Files:	ddraw.h dvp.h
 *  Content:	DirectDraw and DirectDrawVideoPort include files
 *                 
 *  DirectX 7.0 Delphi adaptation by Erik Unger
 *
 *  Modified: 10-Sep-2000
 *
 *  Download: http://www.delphi-jedi.org/DelphiGraphics/
 *  E-Mail: DelphiDirectX@next-reality.com
 *
 *
 ***************************************************************************)

unit DirectDraw;

interface

{$MINENUMSIZE 4}
{$ALIGN ON}

uses
  Windows;

var
  DDrawDLL : HMODULE = 0;

function DDErrorString(Value: HResult) : string;

function MAKEFOURCC(ch0, ch1, ch2, ch3: Char) : DWORD;

(*
 * FOURCC codes for DX compressed-texture pixel formats
 *)
const
  FOURCC_DXT1 = 'DXT1';
  FOURCC_DXT2 = 'DXT2';
  FOURCC_DXT3 = 'DXT3';
  FOURCC_DXT4 = 'DXT4';
  FOURCC_DXT5 = 'DXT5';

(*
 * GUIDS used by DirectDraw objects
 *)
const
  CLSID_DirectDraw: TGUID = '{D7B70EE0-4340-11CF-B063-0020AFC2CD35}';
  CLSID_DirectDraw7: TGUID = '{3c305196-50db-11d3-9cfe-00c04fd930c5}';
  CLSID_DirectDrawClipper: TGUID = '{593817A0-7DB3-11CF-A2DE-00AA00b93356}';

const
  DD_ROP_SPACE = (256 div 32);       // space required to store ROP array

  MAX_DDDEVICEID_STRING	= 512;

(*
 * Flags for the IDirectDraw4::GetDeviceIdentifier method
 *)

(*
 * This flag causes GetDeviceIdentifier to return information about the host (typically 2D) adapter in a system equipped
 * with a stacked secondary 3D adapter. Such an adapter appears to the application as if it were part of the
 * host adapter, but is typically physcially located on a separate card. The stacked secondary's information is
 * returned when GetDeviceIdentifier's dwFlags field is zero, since this most accurately reflects the qualities
 * of the DirectDraw object involved.
 *)
  DDGDI_GETHOSTIDENTIFIER         = $00000001;

(*============================================================================
 *
 * DirectDraw Structures
 *
 * Various structures used to invoke DirectDraw.
 *
 *==========================================================================*)

var
  NilGUID : TGUID absolute 0;


type
  TRefGUID = packed record
    case integer of
    1: (guid : PGUID);
    2: (dwFlags : DWORD);
  end;

  IDirectDraw = interface;
  IDirectDraw2 = interface;
  IDirectDraw4 = interface;
  IDirectDraw7 = interface;
  IDirectDrawSurface = interface;
  IDirectDrawSurface2 = interface;
  IDirectDrawSurface3 = interface;
  IDirectDrawSurface4 = interface;
  IDirectDrawSurface7 = interface;

  IDirectDrawPalette = interface;
  IDirectDrawClipper = interface;
  IDirectDrawColorControl = interface;
  IDirectDrawGammaControl = interface;

(*
 * Generic pixel format with 8-bit RGB and alpha components
 *)
  PDDARGB = ^TDDARGB;
  TDDARGB = packed record
    blue:     BYTE;
    green:    BYTE;
    red:      BYTE;
    alpha:    BYTE;
  end;

(*
 * This version of the structure remains for backwards source compatibility.
 * The DDARGB structure is the one that should be used for all DirectDraw APIs.
 *)
  PDDRGBA = ^TDDRGBA;
  TDDRGBA = packed record
    red   : BYTE;
    green : BYTE;
    blue  : BYTE;
    alpha : BYTE;
  end;

(*
 * TDDColorKey
 *)
  PDDColorKey = ^TDDColorKey;
  TDDColorKey = packed record
    dwColorSpaceLowValue: DWORD;   // low boundary of color space that is to
                                   // be treated as Color Key, inclusive
    dwColorSpaceHighValue: DWORD;  // high boundary of color space that is
                                   // to be treated as Color Key, inclusive
  end;

// Delphi 5 can't handle interface in variant records
// so we have to use pointers instead (which can be type-casted into interfaces):

{$IFDEF VER130}
  PDirectDrawSurface = Pointer;              
{$ELSE}
{$IFDEF VER140}                // D6, TP 14
  PDirectDrawSurface = Pointer;
{$ELSE}
  PDirectDrawSurface = IDirectDrawSurface;
{$ENDIF}
{$ENDIF}

(*
 * TDDBltFX
 * Used to pass override information to the DIRECTDRAWSURFACE callback Blt.
 *)
  PDDBltFX = ^TDDBltFX;
  TDDBltFX = packed record
    dwSize                        : DWORD;     // size of structure
    dwDDFX                        : DWORD;     // FX operations
    dwROP                         : DWORD;     // Win32 raster operations
    dwDDROP                       : DWORD;     // Raster operations new for DirectDraw
    dwRotationAngle               : DWORD;     // Rotation angle for blt
    dwZBufferOpCode               : DWORD;     // ZBuffer compares
    dwZBufferLow                  : DWORD;     // Low limit of Z buffer
    dwZBufferHigh                 : DWORD;     // High limit of Z buffer
    dwZBufferBaseDest             : DWORD;     // Destination base value
    dwZDestConstBitDepth          : DWORD;     // Bit depth used to specify Z constant for destination
    case integer of
    0: (
      dwZDestConst                : DWORD      // Constant to use as Z buffer for dest
     );
    1: (
      lpDDSZBufferDest            : PDirectDrawSurface; // Surface to use as Z buffer for dest
      dwZSrcConstBitDepth         : DWORD;     // Bit depth used to specify Z constant for source
      case integer of
      0: (
        dwZSrcConst               : DWORD;     // Constant to use as Z buffer for src
       );
      1: (
        lpDDSZBufferSrc           : PDirectDrawSurface; // Surface to use as Z buffer for src
        dwAlphaEdgeBlendBitDepth  : DWORD;     // Bit depth used to specify constant for alpha edge blend
        dwAlphaEdgeBlend          : DWORD;     // Alpha for edge blending
        dwReserved                : DWORD;
        dwAlphaDestConstBitDepth  : DWORD;     // Bit depth used to specify alpha constant for destination
        case integer of
        0: (
          dwAlphaDestConst        : DWORD;     // Constant to use as Alpha Channel
         );
        1: (
          lpDDSAlphaDest          : PDirectDrawSurface; // Surface to use as Alpha Channel
          dwAlphaSrcConstBitDepth : DWORD;     // Bit depth used to specify alpha constant for source
          case integer of
          0: (
            dwAlphaSrcConst       : DWORD;     // Constant to use as Alpha Channel
          );
          1: (
            lpDDSAlphaSrc         : PDirectDrawSurface; // Surface to use as Alpha Channel
            case integer of
            0: (
              dwFillColor         : DWORD;     // color in RGB or Palettized
            );
            1: (
              dwFillDepth         : DWORD;     // depth value for z-buffer
            );
            2: (
              dwFillPixel         : DWORD;     // pixel value
            );
            3: (
              lpDDSPattern        : PDirectDrawSurface; // Surface to use as pattern
              ddckDestColorkey    : TDDColorKey; // DestColorkey override
              ddckSrcColorkey     : TDDColorKey; // SrcColorkey override
            )
        )
      )
    )
  )
  end;

(*
 * TDDSCaps
 *)
  PDDSCaps = ^TDDSCaps;
  TDDSCaps = packed record
    dwCaps: DWORD;         // capabilities of surface wanted
  end;

(*
 * TDDOSCaps
 *)
  PDDOSCaps = ^TDDOSCaps;
  TDDOSCaps = packed record
    dwCaps: DWORD;         // capabilities of surface wanted
  end;

(*
 * This structure is used internally by DirectDraw.
 *)
  PDDSCapsEx = ^TDDSCapsEx;
  TDDSCapsEx = packed record
    dwCaps2 : DWORD;
    dwCaps3 : DWORD;
    dwCaps4 : DWORD;
  end;

(*
 * TDDSCaps2
 *)
  PDDSCaps2 = ^TDDSCaps2;
  TDDSCaps2 = packed record
    dwCaps: DWORD;         // capabilities of surface wanted
    dwCaps2 : DWORD;
    dwCaps3 : DWORD;
    dwCaps4 : DWORD;
  end;

(*
 * TDDCaps
 *)
(*
 * This structure is the TDDCaps structure as it was in version 2 and 3 of Direct X.
 * It is present for back compatability.
 *)
  PDDCaps_DX3 = ^TDDCaps_DX3;
  TDDCaps_DX3 = packed record
    dwSize: DWORD;                 // size of the DDDRIVERCAPS structure
    dwCaps: DWORD;                 // driver specific capabilities
    dwCaps2: DWORD;                // more driver specific capabilites
    dwCKeyCaps: DWORD;             // color key capabilities of the surface
    dwFXCaps: DWORD;               // driver specific stretching and effects capabilites
    dwFXAlphaCaps: DWORD;          // alpha driver specific capabilities
    dwPalCaps: DWORD;              // palette capabilities
    dwSVCaps: DWORD;               // stereo vision capabilities
    dwAlphaBltConstBitDepths: DWORD;       // DDBD_2,4,8
    dwAlphaBltPixelBitDepths: DWORD;       // DDBD_1,2,4,8

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月天网站亚洲| 亚洲高清久久久| 精品国产精品网麻豆系列| 欧美亚洲综合网| 欧美伊人久久大香线蕉综合69 | 777午夜精品免费视频| 91国偷自产一区二区开放时间| 99re视频精品| 色呦呦一区二区三区| 91老师片黄在线观看| 色欧美日韩亚洲| 精品视频资源站| 91精品国产91热久久久做人人| 欧美日本一区二区| 欧美第一区第二区| 国产农村妇女精品| 亚洲精品一二三区| 石原莉奈在线亚洲三区| 日本伊人色综合网| 国产精品夜夜嗨| 捆绑变态av一区二区三区| 免费观看久久久4p| 国产成人小视频| 一本大道综合伊人精品热热| 欧美日韩在线不卡| 精品奇米国产一区二区三区| 国产日韩欧美激情| 亚洲尤物在线视频观看| 蜜臀va亚洲va欧美va天堂| 丰满亚洲少妇av| 色8久久精品久久久久久蜜| 欧美一区二区视频在线观看 | 毛片一区二区三区| 国产 欧美在线| 欧美网站大全在线观看| 精品国产精品网麻豆系列| 亚洲三级免费电影| 久久机这里只有精品| 99国产精品久久久| 日韩视频中午一区| 亚洲色图第一区| 精品无码三级在线观看视频| 色综合天天综合给合国产| 欧美成人性福生活免费看| 亚洲欧洲av色图| 精品夜夜嗨av一区二区三区| 色综合激情五月| 亚洲国产电影在线观看| 午夜激情一区二区三区| a4yy欧美一区二区三区| 日韩午夜激情电影| 一区二区三区中文免费| 国产69精品久久久久毛片| 91精品福利在线一区二区三区| 亚洲国产精品成人综合| 老司机精品视频线观看86| 在线看国产日韩| 中文字幕一区二区三区四区不卡| 青草av.久久免费一区| 91麻豆精品一区二区三区| 国产日韩亚洲欧美综合| 久久国产生活片100| 91精品国产高清一区二区三区蜜臀 | 亚洲制服丝袜在线| gogogo免费视频观看亚洲一| 久久久五月婷婷| 日韩电影一二三区| 欧美日韩免费观看一区二区三区| 国产精品成人在线观看| 国产精品影视网| 精品国产凹凸成av人网站| 日本午夜精品一区二区三区电影 | 9191成人精品久久| 亚洲第一激情av| 欧美综合欧美视频| 亚洲一区二区三区在线播放| 色偷偷成人一区二区三区91| 1区2区3区国产精品| eeuss鲁片一区二区三区在线观看| 欧美videossexotv100| 久久国产福利国产秒拍| 日韩精品专区在线影院观看| 蜜桃一区二区三区四区| 欧美成人vps| 久久66热re国产| 56国语精品自产拍在线观看| 亚洲国产一区二区视频| 欧美另类一区二区三区| 日韩电影在线一区| 久久影院视频免费| 成人伦理片在线| 一区二区三区在线视频观看| 欧美亚洲综合色| 久久精品99国产精品| 国产性色一区二区| 岛国精品一区二区| 亚洲免费观看在线观看| 欧美三级韩国三级日本一级| 日韩二区在线观看| 国产视频视频一区| a4yy欧美一区二区三区| 午夜精品福利一区二区三区av | 国产一区二区三区最好精华液| 精品国偷自产国产一区| 成人精品视频一区二区三区| 亚洲另类在线制服丝袜| 欧美福利视频一区| 国产精品一二一区| 亚洲一二三区不卡| 久久久久久影视| 色综合激情五月| 精品在线一区二区三区| 国产精品午夜春色av| 欧美色成人综合| 国模一区二区三区白浆| 亚洲美女在线一区| 欧美成人一区二区三区片免费| 波多野结衣在线一区| 免费亚洲电影在线| 亚洲香肠在线观看| 国产日韩欧美亚洲| 欧美第一区第二区| 欧美三级午夜理伦三级中视频| 国产中文一区二区三区| 亚洲h在线观看| 亚洲人成在线播放网站岛国| 欧美一级一区二区| 欧美在线高清视频| 国产不卡高清在线观看视频| 日韩国产精品91| 一区二区欧美国产| 久久精品一区四区| 日韩一级完整毛片| 欧美日韩一卡二卡三卡 | 欧美成人三级电影在线| 色悠悠亚洲一区二区| 国产精品99久久久久久久vr| 日韩成人一级大片| 亚洲最色的网站| 亚洲欧洲国产日韩| 国产精品网站在线观看| 日韩午夜在线观看| 欧美久久高跟鞋激| 欧美日韩中文字幕一区| 91麻豆精东视频| av中文字幕亚洲| www.亚洲色图.com| 不卡欧美aaaaa| 成人激情开心网| 高清在线成人网| 懂色中文一区二区在线播放| 国产精品一区在线观看乱码| 久久精品国产**网站演员| 日本视频免费一区| 日本亚洲欧美天堂免费| 卡一卡二国产精品| 黄色资源网久久资源365| 国内欧美视频一区二区| 久久精品99国产精品| 国产美女一区二区| 国产黄色精品网站| 粉嫩蜜臀av国产精品网站| 国产99久久久精品| 丁香激情综合国产| 99精品视频在线播放观看| 99re这里只有精品视频首页| 91色在线porny| 欧美伊人久久久久久久久影院| 色国产精品一区在线观看| 欧美性猛交xxxx乱大交退制版| 在线观看日韩高清av| 91精品国产一区二区| 国产亚洲欧美日韩日本| 中文字幕在线视频一区| 午夜久久电影网| 久久国产综合精品| eeuss鲁一区二区三区| 欧美日韩精品一区二区三区蜜桃| 制服丝袜日韩国产| 久久精品水蜜桃av综合天堂| 自拍偷拍欧美精品| 日本在线不卡一区| 懂色av一区二区三区蜜臀 | 在线播放日韩导航| 国产亚洲精久久久久久| 国产精品国产三级国产aⅴ入口 | 精品免费国产一区二区三区四区| 国产三级一区二区| 亚洲一区二区黄色| 国产成a人亚洲精品| 欧美二区乱c少妇| 国产欧美日韩久久| 亚洲高清不卡在线| 国产成人午夜99999| 欧美日韩亚洲综合在线| 国产午夜亚洲精品理论片色戒| 一区二区三区日韩欧美| 国内外成人在线视频| 欧美三级在线看| 中文字幕综合网|