1 /* Copyright 2000 TransGaming Technologies Inc. */
3 #ifndef DDRAW_DSURFACE_DIBTEXTURE_H_INCLUDED
4 #define DDRAW_DSURFACE_DIBTEXTURE_H_INCLUDED
6 #define DIBTEXTURE_PRIV(surf) \
7 ((DIBTexture_DirectDrawSurfaceImpl*)(surf->private))
9 #define DIBTEXTURE_PRIV_VAR(name,surf) \
10 DIBTexture_DirectDrawSurfaceImpl* name = DIBTEXTURE_PRIV(surf)
12 /* We add a spot for 3D drivers to store some private data. A cleaner
13 * solution would be to use SetPrivateData, but it's much too slow. */
20 struct DIBTexture_DirectDrawSurfaceImpl_Part
22 union DIBTexture_data data;
27 struct DIB_DirectDrawSurfaceImpl_Part dib;
28 struct DIBTexture_DirectDrawSurfaceImpl_Part dibtexture;
29 } DIBTexture_DirectDrawSurfaceImpl;
32 DIBTexture_DirectDrawSurface_Construct(IDirectDrawSurfaceImpl* This,
34 const DDSURFACEDESC2* pDDSD);
37 DIBTexture_DirectDrawSurface_Create(IDirectDrawImpl *pDD,
38 const DDSURFACEDESC2 *pDDSD,
39 LPDIRECTDRAWSURFACE7 *ppSurf,
42 void DIBTexture_DirectDrawSurface_final_release(IDirectDrawSurfaceImpl* This);
45 DIBTexture_DirectDrawSurface_duplicate_surface(IDirectDrawSurfaceImpl* This,
46 LPDIRECTDRAWSURFACE7* ppDup);