1 /* Copyright 2000 TransGaming Technologies Inc. */
3 #ifndef DDRAW_DSURFACE_DGA2_H_INCLUDED
4 #define DDRAW_DSURFACE_DGA2_H_INCLUDED
6 #define XF86DGA2_PRIV(surf) ((XF86DGA2_DirectDrawSurfaceImpl*)((surf)->private))
8 #define XF86DGA2_PRIV_VAR(name,surf) \
9 XF86DGA2_DirectDrawSurfaceImpl* name = XF86DGA2_PRIV(surf)
11 struct XF86DGA2_DirectDrawSurfaceImpl_Part
14 DWORD fb_pitch, fb_vofs;
20 struct DIB_DirectDrawSurfaceImpl_Part dib;
21 struct XF86DGA2_DirectDrawSurfaceImpl_Part xf86dga2;
22 } XF86DGA2_DirectDrawSurfaceImpl;
25 XF86DGA2_DirectDrawSurface_Construct(IDirectDrawSurfaceImpl* This,
27 const DDSURFACEDESC2* pDDSD);
30 XF86DGA2_DirectDrawSurface_Create(IDirectDrawImpl *pDD,
31 const DDSURFACEDESC2 *pDDSD,
32 LPDIRECTDRAWSURFACE7 *ppSurf,
35 void XF86DGA2_DirectDrawSurface_final_release(IDirectDrawSurfaceImpl* This);
37 void XF86DGA2_DirectDrawSurface_set_palette(IDirectDrawSurfaceImpl* This,
38 IDirectDrawPaletteImpl* pal);
39 void XF86DGA2_DirectDrawSurface_update_palette(IDirectDrawSurfaceImpl* This,
40 IDirectDrawPaletteImpl* pal,
41 DWORD dwStart, DWORD dwCount,
42 LPPALETTEENTRY palent);
43 HRESULT XF86DGA2_DirectDrawSurface_duplicate_surface(IDirectDrawSurfaceImpl* This,
44 LPDIRECTDRAWSURFACE7* ppDup);
45 BOOL XF86DGA2_DirectDrawSurface_flip_data(IDirectDrawSurfaceImpl* front,
46 IDirectDrawSurfaceImpl* back,
48 void XF86DGA2_DirectDrawSurface_flip_update(IDirectDrawSurfaceImpl* This, DWORD dwFlags);
49 HWND XF86DGA2_DirectDrawSurface_get_display_window(IDirectDrawSurfaceImpl* This);