fdopen: don't rewind the file after creating the FILE* handle. Added
[wine] / dlls / ddraw / direct3d / main.h
1 /*
2  * Copyright 2002 Lionel Ulmer
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 #include "config.h"
20
21 /* This is defined here so as to be able to put them in 'drivers' */
22
23 HRESULT WINAPI
24 Main_IDirect3DImpl_7_3T_2T_1T_QueryInterface(LPDIRECT3D7 iface,
25                                              REFIID riid,
26                                              LPVOID* obp);
27
28 ULONG WINAPI
29 Main_IDirect3DImpl_7_3T_2T_1T_AddRef(LPDIRECT3D7 iface);
30
31 ULONG WINAPI
32 Main_IDirect3DImpl_7_3T_2T_1T_Release(LPDIRECT3D7 iface);
33
34 HRESULT WINAPI
35 Main_IDirect3DImpl_7_EnumDevices(LPDIRECT3D7 iface,
36                                  LPD3DENUMDEVICESCALLBACK7 lpEnumDevicesCallback,
37                                  LPVOID lpUserArg);
38
39 HRESULT WINAPI
40 Main_IDirect3DImpl_7_CreateDevice(LPDIRECT3D7 iface,
41                                   REFCLSID rclsid,
42                                   LPDIRECTDRAWSURFACE7 lpDDS,
43                                   LPDIRECT3DDEVICE7* lplpD3DDevice);
44
45 HRESULT WINAPI
46 Main_IDirect3DImpl_7_3T_CreateVertexBuffer(LPDIRECT3D7 iface,
47                                            LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,
48                                            LPDIRECT3DVERTEXBUFFER7* lplpD3DVertBuf,
49                                            DWORD dwFlags);
50
51 HRESULT WINAPI
52 Main_IDirect3DImpl_7_3T_EnumZBufferFormats(LPDIRECT3D7 iface,
53                                            REFCLSID riidDevice,
54                                            LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,
55                                            LPVOID lpContext);
56
57 HRESULT WINAPI
58 Main_IDirect3DImpl_7_3T_EvictManagedTextures(LPDIRECT3D7 iface);
59
60 HRESULT WINAPI
61 Main_IDirect3DImpl_3_2T_1T_EnumDevices(LPDIRECT3D3 iface,
62                                        LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback,
63                                        LPVOID lpUserArg);
64
65 HRESULT WINAPI
66 Main_IDirect3DImpl_3_2T_1T_CreateLight(LPDIRECT3D3 iface,
67                                        LPDIRECT3DLIGHT* lplpDirect3DLight,
68                                        IUnknown* pUnkOuter);
69
70 HRESULT WINAPI
71 Main_IDirect3DImpl_3_2T_1T_CreateMaterial(LPDIRECT3D3 iface,
72                                           LPDIRECT3DMATERIAL3* lplpDirect3DMaterial3,
73                                           IUnknown* pUnkOuter);
74
75 HRESULT WINAPI
76 Main_IDirect3DImpl_3_2T_1T_CreateViewport(LPDIRECT3D3 iface,
77                                           LPDIRECT3DVIEWPORT3* lplpD3DViewport3,
78                                           IUnknown* pUnkOuter);
79
80 HRESULT WINAPI
81 Main_IDirect3DImpl_3_2T_1T_FindDevice(LPDIRECT3D3 iface,
82                                       LPD3DFINDDEVICESEARCH lpD3DDFS,
83                                       LPD3DFINDDEVICERESULT lpD3DFDR);
84
85 HRESULT WINAPI
86 Main_IDirect3DImpl_3_CreateDevice(LPDIRECT3D3 iface,
87                                   REFCLSID rclsid,
88                                   LPDIRECTDRAWSURFACE4 lpDDS,
89                                   LPDIRECT3DDEVICE3* lplpD3DDevice3,
90                                   LPUNKNOWN lpUnk);
91
92 HRESULT WINAPI
93 Thunk_IDirect3DImpl_3_CreateVertexBuffer(LPDIRECT3D3 iface,
94                                          LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,
95                                          LPDIRECT3DVERTEXBUFFER* lplpD3DVertBuf,
96                                          DWORD dwFlags,
97                                          LPUNKNOWN lpUnk);
98
99 HRESULT WINAPI
100 Thunk_IDirect3DImpl_2_CreateMaterial(LPDIRECT3D2 iface,
101                                      LPDIRECT3DMATERIAL2* lplpDirect3DMaterial2,
102                                      IUnknown* pUnkOuter);
103
104 HRESULT WINAPI
105 Thunk_IDirect3DImpl_2_CreateViewport(LPDIRECT3D2 iface,
106                                      LPDIRECT3DVIEWPORT2* lplpD3DViewport2,
107                                      IUnknown* pUnkOuter);
108
109 HRESULT WINAPI
110 Main_IDirect3DImpl_2_CreateDevice(LPDIRECT3D2 iface,
111                                   REFCLSID rclsid,
112                                   LPDIRECTDRAWSURFACE lpDDS,
113                                   LPDIRECT3DDEVICE2* lplpD3DDevice2);
114
115 HRESULT WINAPI
116 Main_IDirect3DImpl_1_Initialize(LPDIRECT3D iface,
117                                 REFIID riid);
118
119 HRESULT WINAPI
120 Thunk_IDirect3DImpl_1_CreateMaterial(LPDIRECT3D iface,
121                                      LPDIRECT3DMATERIAL* lplpDirect3DMaterial,
122                                      IUnknown* pUnkOuter);
123
124 HRESULT WINAPI
125 Thunk_IDirect3DImpl_1_CreateViewport(LPDIRECT3D iface,
126                                      LPDIRECT3DVIEWPORT* lplpD3DViewport,
127                                      IUnknown* pUnkOuter);
128
129 HRESULT WINAPI
130 Main_IDirect3DImpl_1_FindDevice(LPDIRECT3D iface,
131                                 LPD3DFINDDEVICESEARCH lpD3DDFS,
132                                 LPD3DFINDDEVICERESULT lplpD3DDevice);
133
134 HRESULT WINAPI
135 Thunk_IDirect3DImpl_3_QueryInterface(LPDIRECT3D3 iface,
136                                      REFIID riid,
137                                      LPVOID* obp);
138
139 HRESULT WINAPI
140 Thunk_IDirect3DImpl_2_QueryInterface(LPDIRECT3D2 iface,
141                                      REFIID riid,
142                                      LPVOID* obp);
143
144 HRESULT WINAPI
145 Thunk_IDirect3DImpl_1_QueryInterface(LPDIRECT3D iface,
146                                      REFIID riid,
147                                      LPVOID* obp);
148
149 ULONG WINAPI
150 Thunk_IDirect3DImpl_3_AddRef(LPDIRECT3D3 iface);
151
152 ULONG WINAPI
153 Thunk_IDirect3DImpl_2_AddRef(LPDIRECT3D2 iface);
154
155 ULONG WINAPI
156 Thunk_IDirect3DImpl_1_AddRef(LPDIRECT3D iface);
157
158 ULONG WINAPI
159 Thunk_IDirect3DImpl_3_Release(LPDIRECT3D3 iface);
160
161 ULONG WINAPI
162 Thunk_IDirect3DImpl_2_Release(LPDIRECT3D2 iface);
163
164 ULONG WINAPI
165 Thunk_IDirect3DImpl_1_Release(LPDIRECT3D iface);
166
167 HRESULT WINAPI
168 Thunk_IDirect3DImpl_3_EnumZBufferFormats(LPDIRECT3D3 iface,
169                                          REFCLSID riidDevice,
170                                          LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,
171                                          LPVOID lpContext);
172
173 HRESULT WINAPI
174 Thunk_IDirect3DImpl_3_EvictManagedTextures(LPDIRECT3D3 iface);
175
176 HRESULT WINAPI
177 Thunk_IDirect3DImpl_2_EnumDevices(LPDIRECT3D2 iface,
178                                   LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback,
179                                   LPVOID lpUserArg);
180
181 HRESULT WINAPI
182 Thunk_IDirect3DImpl_1_EnumDevices(LPDIRECT3D iface,
183                                   LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback,
184                                   LPVOID lpUserArg);
185
186 HRESULT WINAPI
187 Thunk_IDirect3DImpl_2_CreateLight(LPDIRECT3D2 iface,
188                                   LPDIRECT3DLIGHT* lplpDirect3DLight,
189                                   IUnknown* pUnkOuter);
190
191 HRESULT WINAPI
192 Thunk_IDirect3DImpl_1_CreateLight(LPDIRECT3D iface,
193                                   LPDIRECT3DLIGHT* lplpDirect3DLight,
194                                   IUnknown* pUnkOuter);
195
196 HRESULT WINAPI
197 Thunk_IDirect3DImpl_1_FindDevice(LPDIRECT3D iface,
198                                  LPD3DFINDDEVICESEARCH lpD3DDFS,
199                                  LPD3DFINDDEVICERESULT lplpD3DDevice);
200
201 HRESULT WINAPI
202 Thunk_IDirect3DImpl_2_FindDevice(LPDIRECT3D2 iface,
203                                  LPD3DFINDDEVICESEARCH lpD3DDFS,
204                                  LPD3DFINDDEVICERESULT lpD3DFDR);