10ecdec8c3a85593f6041bb74b64dfc6c078d070
[reactos.git] / reactos / include / psdk / ddrawgdi.h
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 #include <d3dhal.h>
23
24 /* Define the real export names */
25 #define DdCreateDirectDrawObject GdiEntry1
26 #define DdQueryDirectDrawObject GdiEntry2
27 #define DdDeleteDirectDrawObject GdiEntry3
28 #define DdCreateSurfaceObject GdiEntry4
29 #define DdDeleteSurfaceObject GdiEntry5
30 #define DdResetVisrgn GdiEntry6
31 #define DdGetDC GdiEntry7
32 #define DdReleaseDC GdiEntry8
33 #define DdCreateDIBSection GdiEntry9
34 #define DdReenableDirectDrawObject GdiEntry10
35 #define DdAttachSurface GdiEntry11
36 #define DdUnattachSurface GdiEntry12
37 #define DdQueryDisplaySettingsUniqueness GdiEntry13
38 #define DdGetDxHandle GdiEntry14
39 #define DdSetGammaRamp GdiEntry15
40 #define DdSwapTextureHandles GdiEntry16
41
42
43 BOOL
44 STDCALL
45 DdCreateDirectDrawObject(
46 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
47 HDC hdc
48 );
49
50 BOOL
51 STDCALL
52 DdQueryDirectDrawObject(
53 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
54 LPDDHALINFO pHalInfo,
55 LPDDHAL_DDCALLBACKS pDDCallbacks,
56 LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks,
57 LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks,
58 LPD3DHAL_CALLBACKS pD3dCallbacks,
59 LPD3DHAL_GLOBALDRIVERDATA pD3dDriverData,
60 LPDDHAL_DDEXEBUFCALLBACKS pD3dBufferCallbacks,
61 LPDDSURFACEDESC pD3dTextureFormats,
62 LPDWORD pdwFourCC,
63 LPVIDMEM pvmList
64 );
65
66 BOOL
67 STDCALL
68 DdDeleteDirectDrawObject(
69 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal
70 );
71
72 BOOL
73 STDCALL
74 DdCreateSurfaceObject(
75 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
76 BOOL bPrimarySurface
77 );
78
79 BOOL
80 STDCALL
81 DdDeleteSurfaceObject(
82 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
83 );
84
85 BOOL
86 STDCALL
87 DdResetVisrgn(
88 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
89 HWND hWnd
90 );
91
92 HDC
93 STDCALL
94 DdGetDC(
95 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
96 LPPALETTEENTRY pColorTable
97 );
98
99 BOOL
100 STDCALL
101 DdReleaseDC(
102 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
103 );
104
105 HBITMAP
106 STDCALL
107 DdCreateDIBSection(
108 HDC hdc,
109 CONST BITMAPINFO *pbmi,
110 UINT iUsage,
111 VOID **ppvBits,
112 HANDLE hSectionApp,
113 DWORD dwOffset
114 );
115
116 BOOL
117 STDCALL
118 DdReenableDirectDrawObject(
119 LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
120 BOOL *pbNewMode
121 );
122
123 BOOL
124 STDCALL
125 DdAttachSurface(
126 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom,
127 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceTo
128 );
129
130 VOID
131 STDCALL
132 DdUnattachSurface(
133 LPDDRAWI_DDRAWSURFACE_LCL pSurface,
134 LPDDRAWI_DDRAWSURFACE_LCL pSurfaceAttached
135 );
136
137 ULONG
138 STDCALL
139 DdQueryDisplaySettingsUniqueness(VOID);
140
141 HANDLE
142 STDCALL
143 DdGetDxHandle(
144 LPDDRAWI_DIRECTDRAW_LCL pDDraw,
145 LPDDRAWI_DDRAWSURFACE_LCL pSurface,
146 BOOL bRelease
147 );
148
149 BOOL
150 STDCALL
151 DdSetGammaRamp(
152 LPDDRAWI_DIRECTDRAW_LCL pDDraw,
153 HDC hdc,
154 LPVOID lpGammaRamp
155 );
156
157 DWORD
158 STDCALL
159 DdSwapTextureHandles(
160 LPDDRAWI_DIRECTDRAW_LCL pDDraw,
161 LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl1,
162 LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl2
163 );
164 #endif