xref: /reactos/sdk/include/psdk/ddrawgdi.h (revision 40462c92)
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