Added mappings for a few messages.
[wine] / dlls / ddraw / dsurface / hal.h
1 /* Copyright 2000-2001 TransGaming Technologies Inc. */
2
3 #ifndef DDRAW_DSURFACE_HAL_H_INCLUDED
4 #define DDRAW_DSURFACE_HAL_H_INCLUDED
5
6 #define HAL_PRIV(surf) ((HAL_DirectDrawSurfaceImpl*)((surf)->private))
7
8 #define HAL_PRIV_VAR(name,surf) \
9         HAL_DirectDrawSurfaceImpl* name = HAL_PRIV(surf)
10
11 struct HAL_DirectDrawSurfaceImpl_Part
12 {
13     DWORD need_late;
14     LPVOID fb_addr;
15     DWORD fb_pitch, fb_vofs;
16 };
17
18 typedef struct
19 {
20     struct DIB_DirectDrawSurfaceImpl_Part dib;
21     struct User_DirectDrawSurfaceImpl_Part user;
22     struct HAL_DirectDrawSurfaceImpl_Part hal;
23 } HAL_DirectDrawSurfaceImpl;
24
25 HRESULT
26 HAL_DirectDrawSurface_Construct(IDirectDrawSurfaceImpl* This,
27                                 IDirectDrawImpl* pDD,
28                                 const DDSURFACEDESC2* pDDSD);
29
30 HRESULT
31 HAL_DirectDrawSurface_Create(IDirectDrawImpl *pDD,
32                              const DDSURFACEDESC2 *pDDSD,
33                              LPDIRECTDRAWSURFACE7 *ppSurf,
34                              IUnknown *pUnkOuter);
35
36 void HAL_DirectDrawSurface_final_release(IDirectDrawSurfaceImpl* This);
37 HRESULT HAL_DirectDrawSurface_late_allocate(IDirectDrawSurfaceImpl* This);
38
39 void HAL_DirectDrawSurface_set_palette(IDirectDrawSurfaceImpl* This,
40                                        IDirectDrawPaletteImpl* pal);
41 void HAL_DirectDrawSurface_update_palette(IDirectDrawSurfaceImpl* This,
42                                           IDirectDrawPaletteImpl* pal,
43                                           DWORD dwStart, DWORD dwCount,
44                                           LPPALETTEENTRY palent);
45 HRESULT HAL_DirectDrawSurface_duplicate_surface(IDirectDrawSurfaceImpl* This,
46                                                 LPDIRECTDRAWSURFACE7* ppDup);
47 void HAL_DirectDrawSurface_lock_update(IDirectDrawSurfaceImpl* This,
48                                        LPCRECT pRect);
49 void HAL_DirectDrawSurface_unlock_update(IDirectDrawSurfaceImpl* This,
50                                          LPCRECT pRect);
51 BOOL HAL_DirectDrawSurface_flip_data(IDirectDrawSurfaceImpl* front,
52                                      IDirectDrawSurfaceImpl* back,
53                                      DWORD dwFlags);
54 void HAL_DirectDrawSurface_flip_update(IDirectDrawSurfaceImpl* This,
55                                        DWORD dwFlags);
56 HWND HAL_DirectDrawSurface_get_display_window(IDirectDrawSurfaceImpl* This);
57
58 #endif