1 /* 2 * DirectDraw GDI32.dll interface definitions 3 * Copyright (C) 2003 ReactOS Team 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18 */ 19 20 #ifndef _DDRAWGDI_ 21 #define _DDRAWGDI_ 22 23 /* Define the real export names */ 24 #define DdCreateDirectDrawObject GdiEntry1 25 #define DdQueryDirectDrawObject GdiEntry2 26 #define DdDeleteDirectDrawObject GdiEntry3 27 #define DdCreateSurfaceObject GdiEntry4 28 #define DdDeleteSurfaceObject GdiEntry5 29 #define DdResetVisrgn GdiEntry6 30 #define DdGetDC GdiEntry7 31 #define DdReleaseDC GdiEntry8 32 #define DdCreateDIBSection GdiEntry9 33 #define DdReenableDirectDrawObject GdiEntry10 34 #define DdAttachSurface GdiEntry11 35 #define DdUnattachSurface GdiEntry12 36 #define DdQueryDisplaySettingsUniqueness GdiEntry13 37 #define DdGetDxHandle GdiEntry14 38 #define DdSetGammaRamp GdiEntry15 39 #define DdSwapTextureHandles GdiEntry16 40 41 #ifndef D3DHAL_CALLBACKS_DEFINED 42 typedef struct _D3DHAL_CALLBACKS FAR *LPD3DHAL_CALLBACKS; 43 #define D3DHAL_CALLBACKS_DEFINED 44 #endif 45 46 #ifndef D3DHAL_GLOBALDRIVERDATA_DEFINED 47 typedef struct _D3DHAL_GLOBALDRIVERDATA FAR *LPD3DHAL_GLOBALDRIVERDATA; 48 #define D3DHAL_GLOBALDRIVERDATA_DEFINED 49 #endif 50 51 BOOL 52 WINAPI 53 DdCreateDirectDrawObject( 54 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal, 55 HDC hdc 56 ); 57 58 BOOL 59 WINAPI 60 DdQueryDirectDrawObject( 61 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal, 62 LPDDHALINFO pHalInfo, 63 LPDDHAL_DDCALLBACKS pDDCallbacks, 64 LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks, 65 LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks, 66 LPD3DHAL_CALLBACKS pD3dCallbacks, 67 LPD3DHAL_GLOBALDRIVERDATA pD3dDriverData, 68 LPDDHAL_DDEXEBUFCALLBACKS pD3dBufferCallbacks, 69 LPDDSURFACEDESC pD3dTextureFormats, 70 LPDWORD pdwFourCC, 71 LPVIDMEM pvmList 72 ); 73 74 BOOL 75 WINAPI 76 DdDeleteDirectDrawObject( 77 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal 78 ); 79 80 BOOL 81 WINAPI 82 DdCreateSurfaceObject( 83 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal, 84 BOOL bPrimarySurface 85 ); 86 87 BOOL 88 WINAPI 89 DdDeleteSurfaceObject( 90 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal 91 ); 92 93 BOOL 94 WINAPI 95 DdResetVisrgn( 96 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal, 97 HWND hWnd 98 ); 99 100 HDC 101 WINAPI 102 DdGetDC( 103 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal, 104 LPPALETTEENTRY pColorTable 105 ); 106 107 BOOL 108 WINAPI 109 DdReleaseDC( 110 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal 111 ); 112 113 HBITMAP 114 WINAPI 115 DdCreateDIBSection( 116 HDC hdc, 117 CONST BITMAPINFO *pbmi, 118 UINT iUsage, 119 VOID **ppvBits, 120 HANDLE hSectionApp, 121 DWORD dwOffset 122 ); 123 124 BOOL 125 WINAPI 126 DdReenableDirectDrawObject( 127 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal, 128 BOOL *pbNewMode 129 ); 130 131 BOOL 132 WINAPI 133 DdAttachSurface( 134 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom, 135 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceTo 136 ); 137 138 VOID 139 WINAPI 140 DdUnattachSurface( 141 LPDDRAWI_DDRAWSURFACE_LCL pSurface, 142 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceAttached 143 ); 144 145 ULONG 146 WINAPI 147 DdQueryDisplaySettingsUniqueness(VOID); 148 149 HANDLE 150 WINAPI 151 DdGetDxHandle( 152 LPDDRAWI_DIRECTDRAW_LCL pDDraw, 153 LPDDRAWI_DDRAWSURFACE_LCL pSurface, 154 BOOL bRelease 155 ); 156 157 BOOL 158 WINAPI 159 DdSetGammaRamp( 160 LPDDRAWI_DIRECTDRAW_LCL pDDraw, 161 HDC hdc, 162 LPVOID lpGammaRamp 163 ); 164 165 DWORD 166 WINAPI 167 DdSwapTextureHandles( 168 LPDDRAWI_DIRECTDRAW_LCL pDDraw, 169 LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl1, 170 LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl2 171 ); 172 #endif 173