Updated.
[wine] / dlls / ddraw / ddraw / main.h
1 /* Copyright 2000 TransGaming Technologies Inc. */
2
3 #ifndef WINE_DDRAW_DDRAW_MAIN_H_INCLUDED
4 #define WINE_DDRAW_DDRAW_MAIN_H_INCLUDED
5
6 /* internal virtual functions */
7 void Main_DirectDraw_final_release(IDirectDrawImpl* This);
8 HRESULT
9 Main_create_offscreen(IDirectDrawImpl* This, const DDSURFACEDESC2 *pDDSD,
10                       LPDIRECTDRAWSURFACE7* ppSurf, LPUNKNOWN pOuter);
11 HRESULT
12 Main_create_texture(IDirectDrawImpl* This, const DDSURFACEDESC2 *pDDSD,
13                     LPDIRECTDRAWSURFACE7* ppSurf, LPUNKNOWN pOuter,
14                     DWORD dwMipMapLevel);
15 HRESULT
16 Main_create_zbuffer(IDirectDrawImpl* This, const DDSURFACEDESC2 *pDDSD,
17                     LPDIRECTDRAWSURFACE7* ppSurf, LPUNKNOWN pOuter);
18
19 /* internal functions */
20 HRESULT Main_DirectDraw_Construct(IDirectDrawImpl *This, BOOL ex);
21 void Main_DirectDraw_AddSurface(IDirectDrawImpl* This,
22                                 IDirectDrawSurfaceImpl* surface);
23 void Main_DirectDraw_RemoveSurface(IDirectDrawImpl* This,
24                                    IDirectDrawSurfaceImpl* surface);
25 void Main_DirectDraw_AddClipper(IDirectDrawImpl* This,
26                                 IDirectDrawClipperImpl* clipper);
27 void Main_DirectDraw_RemoveClipper(IDirectDrawImpl* This,
28                                    IDirectDrawClipperImpl* clipper);
29 void Main_DirectDraw_AddPalette(IDirectDrawImpl* This,
30                                 IDirectDrawPaletteImpl* surface);
31 void Main_DirectDraw_RemovePalette(IDirectDrawImpl* This,
32                                    IDirectDrawPaletteImpl* palette);
33
34
35 /* interface functions */
36
37 ULONG WINAPI Main_DirectDraw_AddRef(LPDIRECTDRAW7 iface);
38 ULONG WINAPI Main_DirectDraw_Release(LPDIRECTDRAW7 iface);
39 HRESULT WINAPI Main_DirectDraw_QueryInterface(LPDIRECTDRAW7 iface,
40                                               REFIID refiid,LPVOID *obj);
41 HRESULT WINAPI Main_DirectDraw_Compact(LPDIRECTDRAW7 iface);
42 HRESULT WINAPI Main_DirectDraw_CreateClipper(LPDIRECTDRAW7 iface,
43                                              DWORD dwFlags,
44                                              LPDIRECTDRAWCLIPPER *ppClipper,
45                                              IUnknown *pUnkOuter);
46 HRESULT WINAPI
47 Main_DirectDraw_CreatePalette(LPDIRECTDRAW7 iface, DWORD dwFlags,
48                               LPPALETTEENTRY palent,
49                               LPDIRECTDRAWPALETTE* ppPalette,
50                               LPUNKNOWN pUnknown);
51 HRESULT WINAPI
52 Main_DirectDraw_CreateSurface(LPDIRECTDRAW7 iface, LPDDSURFACEDESC2 pDDSD,
53                               LPDIRECTDRAWSURFACE7 *ppSurf,
54                               IUnknown *pUnkOuter);
55 HRESULT WINAPI
56 Main_DirectDraw_DuplicateSurface(LPDIRECTDRAW7 iface, LPDIRECTDRAWSURFACE7 src,
57                                  LPDIRECTDRAWSURFACE7* dst);
58 HRESULT WINAPI
59 Main_DirectDraw_EnumSurfaces(LPDIRECTDRAW7 iface, DWORD dwFlags,
60                              LPDDSURFACEDESC2 lpDDSD2, LPVOID context,
61                              LPDDENUMSURFACESCALLBACK7 callback);
62 HRESULT WINAPI
63 Main_DirectDraw_EvaluateMode(LPDIRECTDRAW7 iface,DWORD a,DWORD* b);
64 HRESULT WINAPI Main_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 iface);
65 HRESULT WINAPI
66 Main_DirectDraw_GetFourCCCodes(LPDIRECTDRAW7 iface, LPDWORD pNumCodes,
67                                LPDWORD pCodes);
68 HRESULT WINAPI
69 Main_DirectDraw_GetGDISurface(LPDIRECTDRAW7 iface,
70                               LPDIRECTDRAWSURFACE7 *lplpGDIDDSSurface);
71 HRESULT WINAPI
72 Main_DirectDraw_GetMonitorFrequency(LPDIRECTDRAW7 iface,LPDWORD freq);
73 HRESULT WINAPI
74 Main_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface, LPDWORD lpdwScanLine);
75 HRESULT WINAPI
76 Main_DirectDraw_GetSurfaceFromDC(LPDIRECTDRAW7 iface, HDC hdc,
77                                  LPDIRECTDRAWSURFACE7 *lpDDS);
78 HRESULT WINAPI
79 Main_DirectDraw_GetVerticalBlankStatus(LPDIRECTDRAW7 iface, LPBOOL status);
80 HRESULT WINAPI
81 Main_DirectDraw_Initialize(LPDIRECTDRAW7 iface, LPGUID lpGuid);
82 HRESULT WINAPI Main_DirectDraw_RestoreAllSurfaces(LPDIRECTDRAW7 iface);
83 HRESULT WINAPI
84 Main_DirectDraw_SetCooperativeLevel(LPDIRECTDRAW7 iface, HWND hwnd,
85                                     DWORD cooplevel);
86 HRESULT WINAPI
87 Main_DirectDraw_SetDisplayMode(LPDIRECTDRAW7 iface, DWORD dwWidth,
88                                DWORD dwHeight, LONG lPitch,
89                                DWORD dwRefreshRate, DWORD dwFlags,
90                                const DDPIXELFORMAT* pixelformat);
91 HRESULT WINAPI Main_DirectDraw_RestoreDisplayMode(LPDIRECTDRAW7 iface);
92 HRESULT WINAPI
93 Main_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7 iface, DWORD dwFlags,
94                                      HANDLE h);
95 HRESULT WINAPI
96 Main_DirectDraw_GetDisplayMode(LPDIRECTDRAW7 iface, LPDDSURFACEDESC2 pDDSD);
97 HRESULT WINAPI
98 Main_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 iface,LPDDSCAPS2 ddscaps,
99                                    LPDWORD total, LPDWORD free);
100 HRESULT WINAPI Main_DirectDraw_TestCooperativeLevel(LPDIRECTDRAW7 iface);
101 HRESULT WINAPI
102 Main_DirectDraw_StartModeTest(LPDIRECTDRAW7 iface, LPSIZE pModes,
103                               DWORD dwNumModes, DWORD dwFlags);
104
105 #endif