2 * Copyright 2000-2001 TransGaming Technologies Inc.
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.
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.
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
19 #ifndef WINE_DDRAW_DDRAW_USER_H_INCLUDED
20 #define WINE_DDRAW_DDRAW_USER_H_INCLUDED
22 #define USER_DDRAW_PRIV(ddraw) ((User_DirectDrawImpl*)((ddraw)->private))
23 #define USER_DDRAW_PRIV_VAR(name,ddraw) \
24 User_DirectDrawImpl* name = USER_DDRAW_PRIV(ddraw)
29 } User_DirectDrawImpl_Part;
33 User_DirectDrawImpl_Part user;
34 } User_DirectDrawImpl;
36 void User_DirectDraw_final_release(IDirectDrawImpl* This);
37 HRESULT User_DirectDraw_create_primary(IDirectDrawImpl* This,
38 const DDSURFACEDESC2* pDDSD,
39 LPDIRECTDRAWSURFACE7* ppSurf,
41 HRESULT User_DirectDraw_create_backbuffer(IDirectDrawImpl* This,
42 const DDSURFACEDESC2* pDDSD,
43 LPDIRECTDRAWSURFACE7* ppSurf,
45 IDirectDrawSurfaceImpl* primary);
46 HRESULT User_DirectDraw_Construct(IDirectDrawImpl *This, BOOL ex);
47 HRESULT User_DirectDraw_Create(const GUID* pGUID, LPDIRECTDRAW7* pIface,
48 IUnknown* pUnkOuter, BOOL ex);
51 User_DirectDraw_EnumDisplayModes(LPDIRECTDRAW7 iface, DWORD dwFlags,
52 LPDDSURFACEDESC2 pDDSD, LPVOID context,
53 LPDDENUMMODESCALLBACK2 callback);
55 User_DirectDraw_GetDeviceIdentifier(LPDIRECTDRAW7 iface,
56 LPDDDEVICEIDENTIFIER2 pDDDI,
59 User_DirectDraw_SetDisplayMode(LPDIRECTDRAW7 iface, DWORD dwWidth,
60 DWORD dwHeight, DWORD dwBPP,
61 DWORD dwRefreshRate, DWORD dwFlags);