d3dappi.h
上传用户:garry_shen
上传日期:2015-04-15
资源大小:45647k
文件大小:5k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. /*
  2.  *  Copyright (C) 1998 Microsoft Corporation. All Rights Reserved.
  3.  *
  4.  *  File: d3dappi.h
  5.  *
  6.  *  Internal header.  Part of D3DApp.
  7.  *
  8.  *  D3DApp is a collection of helper functions for Direct3D applications.
  9.  *  D3DApp consists of the following files:
  10.  *      d3dapp.h    Main D3DApp header to be included by application
  11.  *      d3dappi.h   Internal header
  12.  *      d3dapp.c    D3DApp functions seen by application.
  13.  *      ddcalls.c   All calls to DirectDraw objects except textures
  14.  *      d3dcalls.c  All calls to Direct3D objects except textures
  15.  *      texture.c   Texture loading and managing texture list
  16.  *      misc.c      Miscellaneous calls
  17.  */
  18. #ifndef __D3DAPPI_H__
  19. #define __D3DAPPI_H__
  20. /*
  21.  * INCLUDED HEADERS
  22.  */
  23. #include "d3dapp.h"
  24. /*
  25.  * MACROS
  26.  */
  27. #undef ATTEMPT
  28. #define ATTEMPT(x) if (!(x)) goto exit_with_error
  29. #undef RELEASE
  30. #define RELEASE(x) if (x) { x->Release( ); x = NULL; }
  31. #undef MAX
  32. #define MAX(x, y) ((x) > (y)) ? (x) : (y)
  33. #undef MIN
  34. #define MIN(x, y) ((x) > (y)) ? (y) : (x)
  35. #undef ZEROMEM
  36. #define ZEROMEM(x) memset(&x, 0, sizeof(x))
  37. //
  38. // GLOBAL VARIABLES
  39. //    see d3dapp.c for descriptions
  40. //
  41. extern D3DAppInfo d3dappi;
  42. extern D3DAppRenderState d3dapprs;
  43. extern BOOL bD3DAppInitialized;
  44. extern HRESULT LastError;
  45. extern LPDIRECTDRAWCLIPPER lpClipper;
  46. extern LPDIRECTDRAWPALETTE lpPalette;
  47. extern BOOL(*D3DDeviceDestroyCallback)(LPVOID);
  48. extern LPVOID D3DDeviceDestroyCallbackContext;
  49. extern BOOL(*D3DDeviceCreateCallback)(int, int, LPDIRECT3DVIEWPORT*, LPVOID);
  50. extern LPVOID D3DDeviceCreateCallbackContext;
  51. extern BOOL bPrimaryPalettized;
  52. extern BOOL bPaletteActivate;
  53. extern BOOL bIgnoreWM_SIZE;
  54. extern PALETTEENTRY ppe[256];
  55. extern PALETTEENTRY Originalppe[256];
  56. extern char LastErrorString[256];
  57. extern SIZE szLastClient;
  58. extern SIZE szBuffers;
  59. extern int NumDirtyClientRects, NumDirtyBackRects, NumDirtyZRects;
  60. extern D3DRECT DirtyClient[D3DAPP_MAXCLEARRECTS];
  61. extern D3DRECT DirtyBack[D3DAPP_MAXCLEARRECTS];
  62. extern D3DRECT DirtyZ[D3DAPP_MAXCLEARRECTS];
  63. extern D3DTEXTUREHANDLE MasterTextureHandle[D3DAPP_MAXTEXTURES];
  64. extern int CallbackRefCount;
  65. /*
  66.  * INTERNAL FUNCTION PROTOTYPES
  67.  */
  68. BOOL D3DAppISetRenderState(void);
  69. BOOL D3DAppIEnumDDDevices(int* NumDriver, D3DAppDDDriver* lpDriver);
  70. BOOL D3DAppIEnumDevices(void);
  71. BOOL D3DAppIPickDriver(int* driver, DWORD depths);
  72. BOOL D3DAppICreateD3D(void);
  73. BOOL D3DAppIEnumTextureFormats(void);
  74. BOOL D3DAppICreateZBuffer(int w, int h, int driver);
  75. BOOL D3DAppICreateDevice(int driver);
  76. BOOL D3DAppILoadTextureSurf(int n, BOOL* bInVideo);
  77. BOOL D3DAppIGetTextureHandle(int n);
  78. BOOL D3DAppILoadAllTextures(void);
  79. void D3DAppIReleaseTexture(int n);
  80. void D3DAppIReleaseAllTextures(void);
  81. BOOL D3DAppIReloadTextureSurf(int n);
  82. BOOL D3DAppISetCoopLevel(HWND hwnd, BOOL bFullscreen);
  83. BOOL D3DAppISetDisplayMode(int w, int h, int bpp);
  84. BOOL D3DAppICheckForPalettized(void);
  85. BOOL D3DAppIRestoreDispMode(void);
  86. BOOL D3DAppIVerifyDriverAndMode(int* lpdriver, int* lpmode);
  87. BOOL D3DAppIFilterDrivers(int mode);
  88. DWORD D3DAppTotalVideoMemory(void);
  89. BOOL D3DAppIEnumDisplayModes(void);
  90. BOOL D3DAppIPickDisplayMode(int* mode, DWORD depths);
  91. BOOL D3DAppISetDispMode(int w, int h, int bpp);
  92. BOOL D3DAppICreateDD(DWORD flags, LPGUID lpGuid);
  93. BOOL D3DAppIFilterDisplayModes(int driver);
  94. HRESULT D3DAppICreateSurface(LPDDSURFACEDESC lpDDSurfDesc,LPDIRECTDRAWSURFACE FAR *lpDDSurface);
  95. HRESULT D3DAppIGetSurfDesc(LPDDSURFACEDESC lpDDSurfDesc,
  96.                            LPDIRECTDRAWSURFACE lpDDSurf);
  97. BOOL D3DAppICreateBuffers(HWND hwnd, int w, int h, int bpp, BOOL bFullscreen, BOOL bIsHardware);
  98. BOOL D3DAppIRememberWindowsMode(void);
  99. BOOL D3DAppIClearBuffers(void);
  100. DWORD D3DAppIBPPToDDBD(int bpp);
  101. void D3DAppIReleasePathList(void);
  102. LPDIRECTDRAWSURFACE D3DAppILoadSurface(LPDIRECTDRAW lpDD, LPCSTR lpName,
  103.                                        LPDDSURFACEDESC lpFormat,
  104.                                        DWORD memoryflag);
  105. void D3DAppISetClientSize(HWND hwnd, int w,int h,BOOL bReturnFromFullscreen);
  106. void D3DAppIGetClientWin(HWND hwnd);
  107. void D3DAppISetDefaults(void);
  108. BOOL D3DAppICallDeviceDestroyCallback(void);
  109. BOOL D3DAppICallDeviceCreateCallback(int w, int h);
  110. void D3DAppIMergeRectLists(int* dstnum, LPD3DRECT dst, int src1num,
  111.                            LPD3DRECT src1, int src2num, LPD3DRECT src2);
  112. void D3DAppICopyRectList(int* dstnum, LPD3DRECT dst, int srcnum,
  113.                          LPD3DRECT src);
  114. void D3DAppIValidateDirtyRects(void);
  115. BOOL D3DAppIHandleWM_SIZE(LRESULT* lresult, HWND hwnd, UINT message,
  116.                           WPARAM wParam, LPARAM lParam);
  117. void D3DAppISetErrorString( LPSTR fmt, ... );
  118. #endif // __D3DAPPI_H__