Implemented the IDirectDrawGammaControl interface.
[wine] / dlls / ddraw / dsurface / dga2.h
1 /* Copyright 2000 TransGaming Technologies Inc. */
2
3 #ifndef DDRAW_DSURFACE_DGA2_H_INCLUDED
4 #define DDRAW_DSURFACE_DGA2_H_INCLUDED
5
6 #define XF86DGA2_PRIV(surf) ((XF86DGA2_DirectDrawSurfaceImpl*)((surf)->private))
7
8 #define XF86DGA2_PRIV_VAR(name,surf) \
9         XF86DGA2_DirectDrawSurfaceImpl* name = XF86DGA2_PRIV(surf)
10
11 struct XF86DGA2_DirectDrawSurfaceImpl_Part
12 {
13     LPVOID fb_addr;
14     DWORD fb_pitch, fb_vofs;
15     Colormap pal;
16 };
17
18 typedef struct
19 {
20     struct DIB_DirectDrawSurfaceImpl_Part dib;
21     struct XF86DGA2_DirectDrawSurfaceImpl_Part xf86dga2;
22 } XF86DGA2_DirectDrawSurfaceImpl;
23
24 HRESULT
25 XF86DGA2_DirectDrawSurface_Construct(IDirectDrawSurfaceImpl* This,
26                                      IDirectDrawImpl* pDD,
27                                      const DDSURFACEDESC2* pDDSD);
28
29 HRESULT
30 XF86DGA2_DirectDrawSurface_Create(IDirectDrawImpl *pDD,
31                                   const DDSURFACEDESC2 *pDDSD,
32                                   LPDIRECTDRAWSURFACE7 *ppSurf,
33                                   IUnknown *pUnkOuter);
34
35 void XF86DGA2_DirectDrawSurface_final_release(IDirectDrawSurfaceImpl* This);
36
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,
47                                           DWORD dwFlags);
48 void XF86DGA2_DirectDrawSurface_flip_update(IDirectDrawSurfaceImpl* This, DWORD dwFlags);
49 HWND XF86DGA2_DirectDrawSurface_get_display_window(IDirectDrawSurfaceImpl* This);
50
51 #endif