source: trunk/src/ddraw/surface.h@ 9459

Last change on this file since 9459 was 9459, checked in by sandervl, 23 years ago

cleanup + don't change the window size/status in SetCooperativeLevel

File size: 17.5 KB
Line 
1/* $Id: surface.h,v 1.1 2002-12-04 10:35:02 sandervl Exp $ */
2
3/*
4 * Direct/X Surface class
5 *
6 * Copyright 1999 Markus Montkowski
7 *
8 * Project Odin Software License can be found in LICENSE.TXT
9 *
10 */
11
12#ifndef __OS2SURFACE_H__
13#define __OS2SURFACE_H__
14#define FAR
15#include "divewrap.h"
16#include <commctrl.h>
17
18#define FAR
19#undef THIS
20#define THIS VOID*
21
22#define RECT_WIDTH(a) ((a)->right - (a)->left)
23#define RECT_HEIGHT(a) ((a)->bottom - (a)->top)
24#define RECT_EQUAL(a,b) (memcmp(a, b, sizeof(RECT)) == 0)
25
26inline BOOL intersects(LPRECT lprcSrc1, LPRECT lprcSrc2)
27{
28 if( (lprcSrc1->left >= lprcSrc2->right) || (lprcSrc2->left >= lprcSrc1->right) ||
29 (lprcSrc1->top >= lprcSrc2->bottom) || (lprcSrc2->top >= lprcSrc1->bottom) )
30 {
31 return FALSE;
32 }
33 return TRUE;
34}
35
36typedef struct _OS2RECTL {
37 LONG xLeft; /* X-coordinate of left-hand edge of rectangle. */
38 LONG yBottom; /* Y-coordinate of bottom edge of rectangle. */
39 LONG xRight; /* X-coordinate of right-hand edge of rectangle. */
40 LONG yTop; /* Y-coordinate of top edge of rectangle. */
41 } OS2RECTL;
42
43typedef struct _SURFPRIVATEDATA
44{
45 GUID guidTag;
46 void *pData;
47 DWORD dwFlags;
48 DWORD dwSize;
49 BOOL isValid;
50}SURFPRIVATEDATA , *PSURFPRIVATEDATA;
51
52class OS2IDirectDrawSurface
53{
54 public:
55 //this one has to go first!
56 IDirectDrawSurface2Vtbl *lpVtbl;
57 IDirectDrawSurface2Vtbl *lpVtbl2; // 2nd Vtable pointer An other MS assumtion see below
58// IDirectDrawSurface4Vtbl *lpVtbl;
59// IDirectDrawSurface4Vtbl *lpVtbl2; // 2nd Vtable pointer An other MS assumtion see below
60 DWORD dwUnknownData; // Pointer to unknown data set to DEADDEAD to indicate that we can't handle this
61 IDirectDrawSurface2Vtbl Vtbl2;
62 IDirectDrawSurface3Vtbl Vtbl3;
63 IDirectDrawSurface4Vtbl Vtbl; // With Dx6 CreateSurface creates per default one with Interface 4 !
64
65 OS2IDirectDrawSurface( OS2IDirectDraw *lpDirectDraw,
66 LPDDSURFACEDESC2 lpDDSurfaceDesc,
67 BOOL Implicit = FALSE, // Indicates that this surface was created as result of a complex surface
68 BOOL Mainchain = FALSE); // Indicates if an implicit surface belongs to the primary surface
69 ~OS2IDirectDrawSurface();
70 int Referenced;
71 inline HRESULT GetLastError() { return lastError; };
72 inline int GetDiveBufNr() { return diveBufNr; };
73 inline BOOL IsImplicitSurface() {return ImplicitSurface; };
74 inline OS2IDirectDrawSurface* GetFrontBuffer(){ return FrontBuffer;};
75 inline void SetFrontBuffer( OS2IDirectDrawSurface* NewFBuffer);
76 void ColorConversion(LPRECT lpRect);
77
78 private:
79 HRESULT DoColorFill(LPRECT, DWORD);
80 void (__cdecl *BltSolid)( char *pDBDst,
81 char *pFBDst,
82 DWORD dwDstTop,
83 DWORD dwDstLeft,
84 DWORD dwPitchDBDst,
85 DWORD dwPitchFBDst,
86 char *pDBSrc,
87 char *pFBSrc,
88 DWORD dwSrcTop,
89 DWORD dwSrcLeft,
90 DWORD dwWidth,
91 DWORD dwHeight,
92 DWORD dwPitchDBSrc,
93 DWORD dwPitchFBSrc
94 );
95 void (__cdecl *ColorConv)( char *pDB,
96 char *pFB,
97 DWORD dwTop,
98 DWORD dwLeft,
99 DWORD dwWidth,
100 DWORD dwHeight,
101 DWORD dwPitchDB,
102 DWORD dwPitchFB,
103 VOID *pPalette
104 );
105 void (__cdecl *ColorFill)( char *pDBDst,
106 char *pFBDst,
107 DWORD dwDstTop,
108 DWORD dwDstLeft,
109 DWORD dwWidth,
110 DWORD dwHeight,
111 DWORD dwPitchDBDst,
112 DWORD dwPitchFBDst,
113 DWORD dwColor,
114 VOID *pPalette
115 );
116 protected:
117 HRESULT lastError;
118 HDIVE hDive;
119 HDIVE hDiveCC; // Color conversion DIVE Handle
120 ULONG height, width;
121 ULONG screenHeight, screenWidth;
122 ULONG surfaceType;
123 ULONG diveBufNr;
124 OS2IDirectDraw *lpDraw;
125 OS2IDirectDrawClipper *lpClipper;
126 OS2IDirectDrawPalette *lpPalette;
127 DDSURFACEDESC2 DDSurfaceDesc;
128 BOOL fLocked;
129 HDC hdcImage;
130 HBITMAP hbmImage;
131 HGDIOBJ hgdiOld;
132 DWORD dwLastDCUnique;
133
134 HWND hwndFullScreen;
135
136 // The real pointers hold the allocated memory (for the free)
137 // The other an pointer addjusted to QWORDs which we use and report
138 char *pFrameBuffer, *pFBreal;
139 char *pDiveBuffer, *pDBreal;
140 DWORD *pTransBufferSrc;
141 DWORD *pTransBufferDest;
142 DWORD dwPitchFB;
143 DWORD dwPitchDB;
144 DWORD dwBytesPPDive;
145 BOOL Updated;
146 BOOL ImplicitSurface;
147
148 // DDraw internal vars
149
150 DWORD dwUniqueValue;
151 HDPA DPA_SurfacePrivateData;
152
153 BOOL fOverlayValid;
154 LONG lOverlayX;
155 LONG lOverlayY;
156
157 SETUP_BLITTER sBlt;
158
159 // surface management
160
161 OS2IDirectDrawSurface* BackBuffer; // Backbuffer goes in here
162 OS2IDirectDrawSurface* FrontBuffer; // NULL if the real frontbuffer of a Flipchain otherwise the prev. Backbuffer
163 OS2IDirectDrawSurface* NextFlip; // Only valid in a frontbuffer
164
165 HDPA DPA_SurfaceMipMaps;
166 HDPA DPA_SurfaceAttached;
167 HDPA DPA_LockedRects;
168
169 friend HRESULT WIN32API SurfQueryInterface(THIS, REFIID riid, LPVOID FAR * ppvObj);
170 friend ULONG WIN32API SurfAddRef(THIS);
171 friend ULONG WIN32API SurfRelease(THIS);
172 friend HRESULT WIN32API SurfAddAttachedSurface(THIS, LPDIRECTDRAWSURFACE2);
173 friend HRESULT WIN32API SurfAddAttachedSurface3(THIS, LPDIRECTDRAWSURFACE3);
174 friend HRESULT WIN32API SurfAddAttachedSurface4(THIS, LPDIRECTDRAWSURFACE4);
175 friend HRESULT WIN32API SurfAddOverlayDirtyRect(THIS, LPRECT);
176 friend HRESULT WIN32API SurfBlt(THIS, LPRECT,LPDIRECTDRAWSURFACE2, LPRECT,DWORD, LPDDBLTFX);
177 friend HRESULT WIN32API SurfBlt3(THIS, LPRECT,LPDIRECTDRAWSURFACE3, LPRECT,DWORD, LPDDBLTFX);
178 friend HRESULT WIN32API SurfBlt4(THIS, LPRECT,LPDIRECTDRAWSURFACE4, LPRECT,DWORD, LPDDBLTFX);
179 friend HRESULT WIN32API SurfDoBlt(THIS This, LPRECT lpDestRect, LPDIRECTDRAWSURFACE4 lpDDSrcSurface,
180 LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx);
181 friend HRESULT WIN32API SurfBltBatch(THIS, LPDDBLTBATCH, DWORD, DWORD );
182 friend HRESULT WIN32API SurfBltFast(THIS, DWORD,DWORD,LPDIRECTDRAWSURFACE2, LPRECT,DWORD);
183 friend HRESULT WIN32API SurfBltFast3(THIS, DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT,DWORD);
184 friend HRESULT WIN32API SurfBltFast4(THIS, DWORD,DWORD,LPDIRECTDRAWSURFACE4, LPRECT,DWORD);
185 friend HRESULT WIN32API SurfDeleteAttachedSurface(THIS, DWORD,LPDIRECTDRAWSURFACE2);
186 friend HRESULT WIN32API SurfDeleteAttachedSurface3(THIS, DWORD,LPDIRECTDRAWSURFACE3);
187 friend HRESULT WIN32API SurfDeleteAttachedSurface4(THIS, DWORD,LPDIRECTDRAWSURFACE4);
188 friend HRESULT WIN32API SurfEnumAttachedSurfaces(THIS, LPVOID,LPDDENUMSURFACESCALLBACK);
189 friend HRESULT WIN32API SurfEnumAttachedSurfaces4(THIS, LPVOID,LPDDENUMSURFACESCALLBACK2);
190 friend HRESULT WIN32API SurfEnumOverlayZOrders(THIS, DWORD,LPVOID,LPDDENUMSURFACESCALLBACK);
191 friend HRESULT WIN32API SurfEnumOverlayZOrders4(THIS, DWORD,LPVOID,LPDDENUMSURFACESCALLBACK2);
192 friend HRESULT WIN32API SurfFlip(THIS, LPDIRECTDRAWSURFACE2 , DWORD);
193 friend HRESULT WIN32API SurfFlip3(THIS, LPDIRECTDRAWSURFACE3 , DWORD);
194 friend HRESULT WIN32API SurfFlip4(THIS, LPDIRECTDRAWSURFACE4 , DWORD);
195 friend HRESULT WIN32API SurfGetAttachedSurface(THIS, LPDDSCAPS, LPDIRECTDRAWSURFACE2 FAR *);
196 friend HRESULT WIN32API SurfGetAttachedSurface3(THIS, LPDDSCAPS, LPDIRECTDRAWSURFACE3 FAR *);
197 friend HRESULT WIN32API SurfGetAttachedSurface4(THIS, LPDDSCAPS2, LPDIRECTDRAWSURFACE4 FAR *);
198 friend HRESULT WIN32API SurfGetBltStatus(THIS, DWORD);
199 friend HRESULT WIN32API SurfGetCaps(THIS, LPDDSCAPS);
200 friend HRESULT WIN32API SurfGetCaps4(THIS, LPDDSCAPS2);
201 friend HRESULT WIN32API SurfGetClipper(THIS, LPDIRECTDRAWCLIPPER FAR*);
202 friend HRESULT WIN32API SurfGetColorKey(THIS, DWORD, LPDDCOLORKEY);
203 friend HRESULT WIN32API SurfGetDC(THIS, HDC FAR *);
204 friend HRESULT WIN32API SurfGetFlipStatus(THIS, DWORD);
205 friend HRESULT WIN32API SurfGetOverlayPosition(THIS, LPLONG, LPLONG );
206 friend HRESULT WIN32API SurfGetPalette(THIS, LPDIRECTDRAWPALETTE FAR*);
207 friend HRESULT WIN32API SurfGetPixelFormat(THIS, LPDDPIXELFORMAT);
208 friend HRESULT WIN32API SurfGetSurfaceDesc(THIS, LPDDSURFACEDESC);
209 friend HRESULT WIN32API SurfGetSurfaceDesc4(THIS, LPDDSURFACEDESC2);
210 friend HRESULT WIN32API SurfInitialize(THIS, LPDIRECTDRAW, LPDDSURFACEDESC);
211 friend HRESULT WIN32API SurfInitialize4(THIS, LPDIRECTDRAW, LPDDSURFACEDESC2);
212 friend HRESULT WIN32API SurfIsLost(THIS);
213 friend HRESULT WIN32API SurfLock(THIS, LPRECT,LPDDSURFACEDESC,DWORD,HANDLE);
214 friend HRESULT WIN32API SurfLock4(THIS, LPRECT,LPDDSURFACEDESC2,DWORD,HANDLE);
215 friend HRESULT WIN32API SurfReleaseDC(THIS, HDC);
216 friend HRESULT WIN32API SurfRestore(THIS);
217 friend HRESULT WIN32API SurfSetClipper(THIS, LPDIRECTDRAWCLIPPER);
218 friend HRESULT WIN32API SurfSetColorKey(THIS, DWORD, LPDDCOLORKEY);
219 friend HRESULT WIN32API SurfSetOverlayPosition(THIS, LONG, LONG );
220 friend HRESULT WIN32API SurfSetPalette(THIS, LPDIRECTDRAWPALETTE);
221 friend HRESULT WIN32API SurfUnlock(THIS, LPVOID);
222 friend HRESULT WIN32API SurfUnlock4(THIS, LPRECT);
223 friend HRESULT WIN32API SurfUpdateOverlay(THIS, LPRECT, LPDIRECTDRAWSURFACE2,LPRECT,DWORD, LPDDOVERLAYFX);
224 friend HRESULT WIN32API SurfUpdateOverlay3(THIS, LPRECT, LPDIRECTDRAWSURFACE3,LPRECT,DWORD, LPDDOVERLAYFX);
225 friend HRESULT WIN32API SurfUpdateOverlay4(THIS, LPRECT, LPDIRECTDRAWSURFACE4,LPRECT,DWORD, LPDDOVERLAYFX);
226 friend HRESULT WIN32API SurfUpdateOverlayDisplay(THIS, DWORD);
227 friend HRESULT WIN32API SurfUpdateOverlayZOrder(THIS, DWORD, LPDIRECTDRAWSURFACE2);
228 friend HRESULT WIN32API SurfUpdateOverlayZOrder3(THIS, DWORD, LPDIRECTDRAWSURFACE3);
229 friend HRESULT WIN32API SurfUpdateOverlayZOrder4(THIS, DWORD, LPDIRECTDRAWSURFACE4);
230 // Added in V2 interface
231 friend HRESULT WIN32API SurfGetDDInterface(THIS, LPVOID FAR *);
232 friend HRESULT WIN32API SurfPageLock(THIS, DWORD);
233 friend HRESULT WIN32API SurfPageUnlock(THIS, DWORD);
234 // Added in V3 interface
235 friend HRESULT WIN32API SurfSetSurfaceDesc(THIS, LPDDSURFACEDESC, DWORD);
236 friend HRESULT WIN32API SurfSetSurfaceDesc4(THIS, LPDDSURFACEDESC2, DWORD);
237 // Added in V4 interface
238 friend HRESULT WIN32API SurfSetPrivateData(THIS, REFGUID, LPVOID, DWORD, DWORD);
239 friend HRESULT WIN32API SurfGetPrivateData(THIS, REFGUID, LPVOID, LPDWORD);
240 friend HRESULT WIN32API SurfFreePrivateData(THIS, REFGUID);
241 friend HRESULT WIN32API SurfGetUniquenessValue(THIS, LPDWORD);
242 friend HRESULT WIN32API SurfChangeUniquenessValue(THIS);
243};
244
245
246HRESULT WIN32API SurfQueryInterface(THIS, REFIID riid, LPVOID FAR * ppvObj);
247ULONG WIN32API SurfAddRef(THIS);
248ULONG WIN32API SurfRelease(THIS);
249HRESULT WIN32API SurfAddAttachedSurface(THIS, LPDIRECTDRAWSURFACE2);
250HRESULT WIN32API SurfAddAttachedSurface3(THIS, LPDIRECTDRAWSURFACE3);
251HRESULT WIN32API SurfAddAttachedSurface4(THIS, LPDIRECTDRAWSURFACE4);
252HRESULT WIN32API SurfAddOverlayDirtyRect(THIS, LPRECT);
253HRESULT WIN32API SurfBlt(THIS, LPRECT,LPDIRECTDRAWSURFACE2, LPRECT,DWORD, LPDDBLTFX);
254HRESULT WIN32API SurfBlt3(THIS, LPRECT,LPDIRECTDRAWSURFACE3, LPRECT,DWORD, LPDDBLTFX);
255HRESULT WIN32API SurfBlt4(THIS, LPRECT,LPDIRECTDRAWSURFACE4, LPRECT,DWORD, LPDDBLTFX);
256HRESULT WIN32API SurfDoBlt(THIS This, LPRECT lpDestRect, LPDIRECTDRAWSURFACE4 lpDDSrcSurface,
257 LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx);
258HRESULT WIN32API SurfBltBatch(THIS, LPDDBLTBATCH, DWORD, DWORD );
259HRESULT WIN32API SurfBltFast(THIS, DWORD,DWORD,LPDIRECTDRAWSURFACE2, LPRECT,DWORD);
260HRESULT WIN32API SurfBltFast3(THIS, DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT,DWORD);
261HRESULT WIN32API SurfBltFast4(THIS, DWORD,DWORD,LPDIRECTDRAWSURFACE4, LPRECT,DWORD);
262HRESULT WIN32API SurfDeleteAttachedSurface(THIS, DWORD,LPDIRECTDRAWSURFACE2);
263HRESULT WIN32API SurfDeleteAttachedSurface3(THIS, DWORD,LPDIRECTDRAWSURFACE3);
264HRESULT WIN32API SurfDeleteAttachedSurface4(THIS, DWORD,LPDIRECTDRAWSURFACE4);
265HRESULT WIN32API SurfEnumAttachedSurfaces(THIS, LPVOID,LPDDENUMSURFACESCALLBACK);
266HRESULT WIN32API SurfEnumAttachedSurfaces4(THIS, LPVOID,LPDDENUMSURFACESCALLBACK2);
267HRESULT WIN32API SurfEnumOverlayZOrders(THIS, DWORD,LPVOID,LPDDENUMSURFACESCALLBACK);
268HRESULT WIN32API SurfEnumOverlayZOrders4(THIS, DWORD,LPVOID,LPDDENUMSURFACESCALLBACK2);
269HRESULT WIN32API SurfFlip(THIS, LPDIRECTDRAWSURFACE2 , DWORD);
270HRESULT WIN32API SurfFlip3(THIS, LPDIRECTDRAWSURFACE3 , DWORD);
271HRESULT WIN32API SurfFlip4(THIS, LPDIRECTDRAWSURFACE4 , DWORD);
272HRESULT WIN32API SurfGetAttachedSurface(THIS, LPDDSCAPS, LPDIRECTDRAWSURFACE2 FAR *);
273HRESULT WIN32API SurfGetAttachedSurface3(THIS, LPDDSCAPS, LPDIRECTDRAWSURFACE3 FAR *);
274HRESULT WIN32API SurfGetAttachedSurface4(THIS, LPDDSCAPS2, LPDIRECTDRAWSURFACE4 FAR *);
275HRESULT WIN32API SurfGetBltStatus(THIS, DWORD);
276HRESULT WIN32API SurfGetCaps4(THIS, LPDDSCAPS2);
277HRESULT WIN32API SurfGetCaps(THIS, LPDDSCAPS);
278HRESULT WIN32API SurfGetClipper(THIS, LPDIRECTDRAWCLIPPER FAR*);
279HRESULT WIN32API SurfGetColorKey(THIS, DWORD, LPDDCOLORKEY);
280HRESULT WIN32API SurfGetDC(THIS, HDC FAR *);
281HRESULT WIN32API SurfGetFlipStatus(THIS, DWORD);
282HRESULT WIN32API SurfGetOverlayPosition(THIS, LPLONG, LPLONG );
283HRESULT WIN32API SurfGetPalette(THIS, LPDIRECTDRAWPALETTE FAR*);
284HRESULT WIN32API SurfGetPixelFormat(THIS, LPDDPIXELFORMAT);
285HRESULT WIN32API SurfGetSurfaceDesc(THIS, LPDDSURFACEDESC);
286HRESULT WIN32API SurfGetSurfaceDesc4(THIS, LPDDSURFACEDESC2);
287HRESULT WIN32API SurfInitialize(THIS, LPDIRECTDRAW, LPDDSURFACEDESC);
288HRESULT WIN32API SurfInitialize4(THIS, LPDIRECTDRAW, LPDDSURFACEDESC2);
289HRESULT WIN32API SurfIsLost(THIS);
290HRESULT WIN32API SurfLock(THIS, LPRECT,LPDDSURFACEDESC,DWORD,HANDLE);
291HRESULT WIN32API SurfLock4(THIS, LPRECT,LPDDSURFACEDESC2,DWORD,HANDLE);
292HRESULT WIN32API SurfReleaseDC(THIS, HDC);
293HRESULT WIN32API SurfRestore(THIS);
294HRESULT WIN32API SurfSetClipper(THIS, LPDIRECTDRAWCLIPPER);
295HRESULT WIN32API SurfSetColorKey(THIS, DWORD, LPDDCOLORKEY);
296HRESULT WIN32API SurfSetOverlayPosition(THIS, LONG, LONG );
297HRESULT WIN32API SurfSetPalette(THIS, LPDIRECTDRAWPALETTE);
298HRESULT WIN32API SurfUnlock(THIS, LPVOID);
299HRESULT WIN32API SurfUnlock4(THIS, LPRECT);
300HRESULT WIN32API SurfUpdateOverlay(THIS, LPRECT, LPDIRECTDRAWSURFACE2,LPRECT,DWORD, LPDDOVERLAYFX);
301HRESULT WIN32API SurfUpdateOverlay3(THIS, LPRECT, LPDIRECTDRAWSURFACE3,LPRECT,DWORD, LPDDOVERLAYFX);
302HRESULT WIN32API SurfUpdateOverlay4(THIS, LPRECT, LPDIRECTDRAWSURFACE4,LPRECT,DWORD, LPDDOVERLAYFX);
303HRESULT WIN32API SurfUpdateOverlayDisplay(THIS, DWORD);
304HRESULT WIN32API SurfUpdateOverlayZOrder(THIS, DWORD, LPDIRECTDRAWSURFACE2);
305HRESULT WIN32API SurfUpdateOverlayZOrder3(THIS, DWORD, LPDIRECTDRAWSURFACE3);
306HRESULT WIN32API SurfUpdateOverlayZOrder4(THIS, DWORD, LPDIRECTDRAWSURFACE4);
307HRESULT WIN32API SurfGetDDInterface(THIS, LPVOID FAR *);
308HRESULT WIN32API SurfPageLock(THIS, DWORD);
309HRESULT WIN32API SurfPageUnlock(THIS, DWORD);
310HRESULT WIN32API SurfSetSurfaceDesc(THIS, LPDDSURFACEDESC, DWORD);
311HRESULT WIN32API SurfSetSurfaceDesc4(THIS, LPDDSURFACEDESC2, DWORD);
312HRESULT WIN32API SurfSetPrivateData(THIS, REFGUID, LPVOID, DWORD, DWORD);
313HRESULT WIN32API SurfGetPrivateData(THIS, REFGUID, LPVOID, LPDWORD);
314HRESULT WIN32API SurfFreePrivateData(THIS, REFGUID);
315HRESULT WIN32API SurfGetUniquenessValue(THIS, LPDWORD);
316HRESULT WIN32API SurfChangeUniquenessValue(THIS);
317
318void __cdecl MoveRects(char* pBuffer, LPRECT lpDestRect, LPRECT lpSrcRect, int bbp, LONG lPitch);
319void __cdecl TransSRCBlit8(LPDDSURFACEDESC2 pDestDesc, LPDDSURFACEDESC2 pSrcDesc, char *pAlpha, LPRECT lpSrcRect);
320void __cdecl TransSRCBlit16(LPDDSURFACEDESC2 pDestDesc, LPDDSURFACEDESC2 pSrcDesc, char *pAlpha, LPRECT lpSrcRect);
321void __cdecl TransSRCBlit24(LPDDSURFACEDESC2 pDestDesc, LPDDSURFACEDESC2 pSrcDesc, char *pAlpha, LPRECT lpSrcRect);
322void __cdecl TransSRCBlit32(LPDDSURFACEDESC2 pDestDesc, LPDDSURFACEDESC2 pSrcDesc, char *pAlpha, LPRECT lpSrcRect);
323
324
325#endif
Note: See TracBrowser for help on using the repository browser.