49 lines
1.3 KiB
C
49 lines
1.3 KiB
C
|
/* Copyright 2000 TransGaming Technologies Inc. */
|
||
|
|
||
|
#ifndef DDRAW_DSURFACE_DIBTEXTURE_H_INCLUDED
|
||
|
#define DDRAW_DSURFACE_DIBTEXTURE_H_INCLUDED
|
||
|
|
||
|
#define DIBTEXTURE_PRIV(surf) \
|
||
|
((DIBTexture_DirectDrawSurfaceImpl*)(surf->private))
|
||
|
|
||
|
#define DIBTEXTURE_PRIV_VAR(name,surf) \
|
||
|
DIBTexture_DirectDrawSurfaceImpl* name = DIBTEXTURE_PRIV(surf)
|
||
|
|
||
|
/* We add a spot for 3D drivers to store some private data. A cleaner
|
||
|
* solution would be to use SetPrivateData, but it's much too slow. */
|
||
|
union DIBTexture_data
|
||
|
{
|
||
|
int i;
|
||
|
void* p;
|
||
|
};
|
||
|
|
||
|
struct DIBTexture_DirectDrawSurfaceImpl_Part
|
||
|
{
|
||
|
union DIBTexture_data data;
|
||
|
};
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
struct DIB_DirectDrawSurfaceImpl_Part dib;
|
||
|
struct DIBTexture_DirectDrawSurfaceImpl_Part dibtexture;
|
||
|
} DIBTexture_DirectDrawSurfaceImpl;
|
||
|
|
||
|
HRESULT
|
||
|
DIBTexture_DirectDrawSurface_Construct(IDirectDrawSurfaceImpl* This,
|
||
|
IDirectDrawImpl* pDD,
|
||
|
const DDSURFACEDESC2* pDDSD);
|
||
|
|
||
|
HRESULT
|
||
|
DIBTexture_DirectDrawSurface_Create(IDirectDrawImpl *pDD,
|
||
|
const DDSURFACEDESC2 *pDDSD,
|
||
|
LPDIRECTDRAWSURFACE7 *ppSurf,
|
||
|
IUnknown *pUnkOuter);
|
||
|
|
||
|
void DIBTexture_DirectDrawSurface_final_release(IDirectDrawSurfaceImpl* This);
|
||
|
|
||
|
HRESULT
|
||
|
DIBTexture_DirectDrawSurface_duplicate_surface(IDirectDrawSurfaceImpl* This,
|
||
|
LPDIRECTDRAWSURFACE7* ppDup);
|
||
|
|
||
|
#endif
|