亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产99久久久久久免费看农村| 免费观看91视频大全| 精品久久久久久综合日本欧美| 欧美性猛片xxxx免费看久爱| 91传媒视频在线播放| 欧美视频一区二区三区在线观看| 一本色道久久综合精品竹菊| 91视频www| 欧美曰成人黄网| 色偷偷久久一区二区三区| 色悠悠久久综合| 在线日韩av片| 日韩亚洲欧美在线观看| 欧美不卡激情三级在线观看| 久久一区二区三区四区| 国产精品亲子乱子伦xxxx裸| 亚洲私人影院在线观看| 亚洲午夜久久久久久久久电影院| 亚洲电影一级片| 久久99精品久久久久久国产越南| 国产福利精品导航| 91欧美一区二区| 91精品国产综合久久香蕉麻豆 | 亚洲一卡二卡三卡四卡五卡| 亚洲bt欧美bt精品777| 精彩视频一区二区三区| av一二三不卡影片| 欧美日韩1234| 欧美激情一区二区三区蜜桃视频 | 日韩国产欧美在线播放| 国产一区二区三区综合| 色综合久久久网| 精品乱人伦一区二区三区| 国产精品久久久久一区二区三区| 亚洲一二三专区| 韩国三级中文字幕hd久久精品| av不卡一区二区三区| 日韩一区二区高清| 亚洲欧美日韩在线播放| 久久99久久99小草精品免视看| 色网站国产精品| 国产午夜精品福利| 偷偷要91色婷婷| 色综合久久久久综合| 久久久91精品国产一区二区三区| 亚洲精品日韩专区silk| 国产一区二区三区国产| 欧美日韩国产成人在线91| 国产精品久久久久久亚洲伦| 久久99国产精品免费| 欧美性猛片xxxx免费看久爱 | 欧洲视频一区二区| 久久精品亚洲一区二区三区浴池| 亚洲国产精品久久不卡毛片| 成人看片黄a免费看在线| 久久综合久久综合九色| 日韩不卡一区二区三区| 在线观看成人小视频| 中文字幕亚洲欧美在线不卡| 国产 日韩 欧美大片| 精品va天堂亚洲国产| 日日夜夜精品视频免费| 欧美视频一区二区| 亚洲欧美日韩中文字幕一区二区三区 | 国产一区二区三区在线观看精品| 欧美日韩国产一级| 亚洲国产日韩精品| 精品视频在线免费| 亚洲午夜在线电影| 在线精品亚洲一区二区不卡| 一区二区三区91| 色综合网站在线| 亚洲综合清纯丝袜自拍| 在线免费观看成人短视频| 亚洲一区二区三区爽爽爽爽爽| 91久久精品日日躁夜夜躁欧美| 亚洲丝袜另类动漫二区| 色综合色综合色综合 | 欧美高清性hdvideosex| 亚洲国产一区二区三区| 7777精品伊人久久久大香线蕉的| 日韩精品一二三四| 欧美一区二区在线不卡| 看片网站欧美日韩| 精品成人私密视频| 99国产精品久久久久| 亚洲综合激情另类小说区| 欧美精品国产精品| 另类小说综合欧美亚洲| 久久综合色之久久综合| 91免费看片在线观看| 亚洲小说欧美激情另类| 精品欧美乱码久久久久久1区2区| 久久99国产精品麻豆| 中文av一区特黄| 欧美美女喷水视频| 狠狠色狠狠色综合| 亚洲欧美电影一区二区| 欧美色欧美亚洲另类二区| 美日韩一级片在线观看| 国产精品色哟哟网站| 精品视频一区三区九区| 国内精品久久久久影院薰衣草| 亚洲欧美一区二区在线观看| 欧美三级韩国三级日本一级| 激情国产一区二区| 亚洲另类春色校园小说| 欧美电影免费提供在线观看| 99re这里只有精品6| 美女网站色91| 亚洲四区在线观看| 精品精品国产高清a毛片牛牛 | 亚洲高清久久久| 国产色产综合产在线视频| 色综合欧美在线视频区| 国产精品一品视频| 视频一区二区中文字幕| 亚洲欧洲av一区二区三区久久| 91麻豆精品国产91久久久久久久久| 懂色中文一区二区在线播放| 日韩电影在线观看电影| 亚洲日本欧美天堂| 久久综合色8888| 91精品综合久久久久久| 色偷偷成人一区二区三区91| 紧缚捆绑精品一区二区| 亚洲五码中文字幕| 国产精品久久久久久福利一牛影视| 欧美精品自拍偷拍| 在线看国产一区二区| 99久久综合狠狠综合久久| 国模少妇一区二区三区| 美洲天堂一区二卡三卡四卡视频| 亚洲激情校园春色| 国产精品福利在线播放| 国产性天天综合网| 精品国产免费一区二区三区四区| 欧美色图免费看| 色婷婷av久久久久久久| 99久久国产免费看| 99久久精品99国产精品 | 免费在线观看不卡| 亚洲成人福利片| 婷婷六月综合网| 午夜精品久久久久久久久久| 亚洲女与黑人做爰| 成人欧美一区二区三区在线播放| 国产偷国产偷亚洲高清人白洁| 日韩精品一区二区三区视频播放 | 国产精品18久久久久久久网站| 麻豆成人久久精品二区三区小说| 日韩精品电影在线观看| 偷窥少妇高潮呻吟av久久免费| 午夜电影一区二区三区| 日韩经典中文字幕一区| 丝袜国产日韩另类美女| 麻豆国产精品官网| 国产精品99久久久久| 99综合影院在线| 在线视频一区二区三| 欧美久久久久久蜜桃| 日韩欧美成人一区二区| 日本一区二区在线不卡| 日韩美女啊v在线免费观看| 夜夜爽夜夜爽精品视频| 五月开心婷婷久久| 精品一区二区三区久久| 国产不卡在线播放| 91麻豆自制传媒国产之光| 欧美性猛交一区二区三区精品| 欧美一区二区三区在线观看视频| 精品国产免费视频| 亚洲三级免费观看| 丝袜亚洲另类欧美| 高清视频一区二区| 色琪琪一区二区三区亚洲区| 欧美一区二区精品久久911| 国产夜色精品一区二区av| 亚洲日本在线a| 日本午夜一区二区| voyeur盗摄精品| 欧美日本在线播放| 国产亚洲美州欧州综合国| 一区二区三区av电影| 国产综合色在线| 欧洲亚洲精品在线| 久久久www成人免费毛片麻豆 | 日韩一区二区影院| 国产精品毛片a∨一区二区三区| 亚洲18色成人| 成人黄色免费短视频| 日韩欧美亚洲国产另类| 中文字幕一区二区三区视频| 婷婷久久综合九色综合伊人色| 国产不卡高清在线观看视频| 欧美区视频在线观看| 国产精品污www在线观看| 天天综合天天做天天综合| 91视频在线观看| 日本一区免费视频|