Moved ts_xlib.c into x11drv and removed libwine_tsx11.
[wine] / dlls / ddraw / ddraw / main.h
1 /*
2  * Copyright 2000-2001 TransGaming Technologies Inc.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 #ifndef WINE_DDRAW_DDRAW_MAIN_H_INCLUDED
20 #define WINE_DDRAW_DDRAW_MAIN_H_INCLUDED
21
22 /* internal virtual functions */
23 void Main_DirectDraw_final_release(IDirectDrawImpl* This);
24 HRESULT
25 Main_create_offscreen(IDirectDrawImpl* This, const DDSURFACEDESC2 *pDDSD,
26                       LPDIRECTDRAWSURFACE7* ppSurf, LPUNKNOWN pOuter);
27 HRESULT
28 Main_create_texture(IDirectDrawImpl* This, const DDSURFACEDESC2 *pDDSD,
29                     LPDIRECTDRAWSURFACE7* ppSurf, LPUNKNOWN pOuter,
30                     DWORD dwMipMapLevel);
31 HRESULT
32 Main_create_zbuffer(IDirectDrawImpl* This, const DDSURFACEDESC2 *pDDSD,
33                     LPDIRECTDRAWSURFACE7* ppSurf, LPUNKNOWN pOuter);
34
35 /* internal functions */
36 HRESULT Main_DirectDraw_Construct(IDirectDrawImpl *This, BOOL ex);
37 void Main_DirectDraw_AddSurface(IDirectDrawImpl* This,
38                                 IDirectDrawSurfaceImpl* surface);
39 void Main_DirectDraw_RemoveSurface(IDirectDrawImpl* This,
40                                    IDirectDrawSurfaceImpl* surface);
41 void Main_DirectDraw_AddClipper(IDirectDrawImpl* This,
42                                 IDirectDrawClipperImpl* clipper);
43 void Main_DirectDraw_RemoveClipper(IDirectDrawImpl* This,
44                                    IDirectDrawClipperImpl* clipper);
45 void Main_DirectDraw_AddPalette(IDirectDrawImpl* This,
46                                 IDirectDrawPaletteImpl* palette);
47 void Main_DirectDraw_RemovePalette(IDirectDrawImpl* This,
48                                    IDirectDrawPaletteImpl* palette);
49
50
51 /* interface functions */
52
53 ULONG WINAPI Main_DirectDraw_AddRef(LPDIRECTDRAW7 iface);
54 ULONG WINAPI Main_DirectDraw_Release(LPDIRECTDRAW7 iface);
55 HRESULT WINAPI Main_DirectDraw_QueryInterface(LPDIRECTDRAW7 iface,
56                                               REFIID refiid,LPVOID *obj);
57 HRESULT WINAPI Main_DirectDraw_Compact(LPDIRECTDRAW7 iface);
58 HRESULT WINAPI Main_DirectDraw_CreateClipper(LPDIRECTDRAW7 iface,
59                                              DWORD dwFlags,
60                                              LPDIRECTDRAWCLIPPER *ppClipper,
61                                              IUnknown *pUnkOuter);
62 HRESULT WINAPI
63 Main_DirectDraw_CreatePalette(LPDIRECTDRAW7 iface, DWORD dwFlags,
64                               LPPALETTEENTRY palent,
65                               LPDIRECTDRAWPALETTE* ppPalette,
66                               LPUNKNOWN pUnknown);
67 HRESULT WINAPI
68 Main_DirectDraw_CreateSurface(LPDIRECTDRAW7 iface, LPDDSURFACEDESC2 pDDSD,
69                               LPDIRECTDRAWSURFACE7 *ppSurf,
70                               IUnknown *pUnkOuter);
71 HRESULT WINAPI
72 Main_DirectDraw_DuplicateSurface(LPDIRECTDRAW7 iface, LPDIRECTDRAWSURFACE7 src,
73                                  LPDIRECTDRAWSURFACE7* dst);
74 HRESULT WINAPI
75 Main_DirectDraw_EnumSurfaces(LPDIRECTDRAW7 iface, DWORD dwFlags,
76                              LPDDSURFACEDESC2 lpDDSD2, LPVOID context,
77                              LPDDENUMSURFACESCALLBACK7 callback);
78 HRESULT WINAPI
79 Main_DirectDraw_EvaluateMode(LPDIRECTDRAW7 iface,DWORD a,DWORD* b);
80 HRESULT WINAPI Main_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 iface);
81 HRESULT WINAPI
82 Main_DirectDraw_GetCaps(LPDIRECTDRAW7 iface, LPDDCAPS pDriverCaps,
83                         LPDDCAPS pHELCaps);
84 HRESULT WINAPI
85 Main_DirectDraw_GetFourCCCodes(LPDIRECTDRAW7 iface, LPDWORD pNumCodes,
86                                LPDWORD pCodes);
87 HRESULT WINAPI
88 Main_DirectDraw_GetGDISurface(LPDIRECTDRAW7 iface,
89                               LPDIRECTDRAWSURFACE7 *lplpGDIDDSSurface);
90 HRESULT WINAPI
91 Main_DirectDraw_GetMonitorFrequency(LPDIRECTDRAW7 iface,LPDWORD freq);
92 HRESULT WINAPI
93 Main_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface, LPDWORD lpdwScanLine);
94 HRESULT WINAPI
95 Main_DirectDraw_GetSurfaceFromDC(LPDIRECTDRAW7 iface, HDC hdc,
96                                  LPDIRECTDRAWSURFACE7 *lpDDS);
97 HRESULT WINAPI
98 Main_DirectDraw_GetVerticalBlankStatus(LPDIRECTDRAW7 iface, LPBOOL status);
99 HRESULT WINAPI
100 Main_DirectDraw_Initialize(LPDIRECTDRAW7 iface, LPGUID lpGuid);
101 HRESULT WINAPI Main_DirectDraw_RestoreAllSurfaces(LPDIRECTDRAW7 iface);
102 HRESULT WINAPI
103 Main_DirectDraw_SetCooperativeLevel(LPDIRECTDRAW7 iface, HWND hwnd,
104                                     DWORD cooplevel);
105 HRESULT WINAPI
106 Main_DirectDraw_SetDisplayMode(LPDIRECTDRAW7 iface, DWORD dwWidth,
107                                DWORD dwHeight, LONG lPitch,
108                                DWORD dwRefreshRate, DWORD dwFlags,
109                                const DDPIXELFORMAT* pixelformat);
110 HRESULT WINAPI Main_DirectDraw_RestoreDisplayMode(LPDIRECTDRAW7 iface);
111 HRESULT WINAPI
112 Main_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7 iface, DWORD dwFlags,
113                                      HANDLE h);
114 HRESULT WINAPI
115 Main_DirectDraw_GetDisplayMode(LPDIRECTDRAW7 iface, LPDDSURFACEDESC2 pDDSD);
116 HRESULT WINAPI
117 Main_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 iface,LPDDSCAPS2 ddscaps,
118                                    LPDWORD total, LPDWORD free);
119 HRESULT WINAPI Main_DirectDraw_TestCooperativeLevel(LPDIRECTDRAW7 iface);
120 HRESULT WINAPI
121 Main_DirectDraw_StartModeTest(LPDIRECTDRAW7 iface, LPSIZE pModes,
122                               DWORD dwNumModes, DWORD dwFlags);
123
124 #endif