ddraw: Avoid LPDIRECTDRAW.
This commit is contained in:
parent
2480c9395b
commit
99daff8f03
|
@ -270,25 +270,21 @@ DDRAW_Create(const GUID *guid,
|
||||||
* Arguments, return values: See DDRAW_Create
|
* Arguments, return values: See DDRAW_Create
|
||||||
*
|
*
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
HRESULT WINAPI DECLSPEC_HOTPATCH
|
HRESULT WINAPI DECLSPEC_HOTPATCH DirectDrawCreate(GUID *driver_guid, IDirectDraw **ddraw, IUnknown *outer)
|
||||||
DirectDrawCreate(GUID *GUID,
|
|
||||||
LPDIRECTDRAW *DD,
|
|
||||||
IUnknown *UnkOuter)
|
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
TRACE("driver_guid %s, ddraw %p, outer_unknown %p.\n",
|
TRACE("driver_guid %s, ddraw %p, outer %p.\n",
|
||||||
debugstr_guid(GUID), DD, UnkOuter);
|
debugstr_guid(driver_guid), ddraw, outer);
|
||||||
|
|
||||||
wined3d_mutex_lock();
|
wined3d_mutex_lock();
|
||||||
hr = DDRAW_Create(GUID, (void **) DD, UnkOuter, &IID_IDirectDraw);
|
hr = DDRAW_Create(driver_guid, (void **)ddraw, outer, &IID_IDirectDraw);
|
||||||
wined3d_mutex_unlock();
|
wined3d_mutex_unlock();
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
hr = IDirectDraw_Initialize(*DD, GUID);
|
if (FAILED(hr = IDirectDraw_Initialize(*ddraw, driver_guid)))
|
||||||
if (FAILED(hr))
|
IDirectDraw_Release(*ddraw);
|
||||||
IDirectDraw_Release(*DD);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
|
|
|
@ -29,9 +29,9 @@
|
||||||
#include "wine/test.h"
|
#include "wine/test.h"
|
||||||
#include "ddraw.h"
|
#include "ddraw.h"
|
||||||
|
|
||||||
static LPDIRECTDRAW lpDD = NULL;
|
|
||||||
static IDirectDrawSurface *lpDDSPrimary;
|
static IDirectDrawSurface *lpDDSPrimary;
|
||||||
static IDirectDrawSurface *lpDDSBack;
|
static IDirectDrawSurface *lpDDSBack;
|
||||||
|
static IDirectDraw *lpDD;
|
||||||
static WNDCLASS wc;
|
static WNDCLASS wc;
|
||||||
static HWND hwnd, hwnd2;
|
static HWND hwnd, hwnd2;
|
||||||
static int modes_cnt;
|
static int modes_cnt;
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
|
|
||||||
static HRESULT (WINAPI *pDirectDrawCreateEx)(GUID *, void **, REFIID, IUnknown *);
|
static HRESULT (WINAPI *pDirectDrawCreateEx)(GUID *, void **, REFIID, IUnknown *);
|
||||||
|
|
||||||
static LPDIRECTDRAW lpDD = NULL;
|
static IDirectDraw *lpDD;
|
||||||
static DDCAPS ddcaps;
|
static DDCAPS ddcaps;
|
||||||
|
|
||||||
static BOOL CreateDirectDraw(void)
|
static BOOL CreateDirectDraw(void)
|
||||||
|
|
|
@ -21,7 +21,7 @@ import "objidl.idl";
|
||||||
/* trick widl into thinking that it knows the DirectDraw types
|
/* trick widl into thinking that it knows the DirectDraw types
|
||||||
* as there is no IDL file for them (yet) */
|
* as there is no IDL file for them (yet) */
|
||||||
cpp_quote("#if 0")
|
cpp_quote("#if 0")
|
||||||
typedef void * LPDIRECTDRAW;
|
typedef void IDirectDraw;
|
||||||
typedef void DDSURFACEDESC,DDCAPS;
|
typedef void DDSURFACEDESC,DDCAPS;
|
||||||
typedef DWORD RGBQUAD;
|
typedef DWORD RGBQUAD;
|
||||||
typedef LONGLONG REFERENCE_TIME;
|
typedef LONGLONG REFERENCE_TIME;
|
||||||
|
@ -73,8 +73,8 @@ interface IDirectDrawVideo : IUnknown
|
||||||
HRESULT GetEmulatedCaps([out] DDCAPS *pCaps);
|
HRESULT GetEmulatedCaps([out] DDCAPS *pCaps);
|
||||||
HRESULT GetSurfaceDesc([out] DDSURFACEDESC * pSurfaceDesc);
|
HRESULT GetSurfaceDesc([out] DDSURFACEDESC * pSurfaceDesc);
|
||||||
HRESULT GetFourCCCodes([out] DWORD * pCount, [out] DWORD * pCodes);
|
HRESULT GetFourCCCodes([out] DWORD * pCount, [out] DWORD * pCodes);
|
||||||
HRESULT SetDirectDraw([in] LPDIRECTDRAW pDirectDraw);
|
HRESULT SetDirectDraw([in] IDirectDraw *ddraw);
|
||||||
HRESULT GetDirectDraw([out] LPDIRECTDRAW * ppDirectDraw);
|
HRESULT GetDirectDraw([out] IDirectDraw **ddraw);
|
||||||
HRESULT GetSurfaceType([out] DWORD * pSurfaceType);
|
HRESULT GetSurfaceType([out] DWORD * pSurfaceType);
|
||||||
HRESULT SetDefault();
|
HRESULT SetDefault();
|
||||||
HRESULT UseScanLine([in] long UseScanLine);
|
HRESULT UseScanLine([in] long UseScanLine);
|
||||||
|
|
|
@ -1235,7 +1235,7 @@ DECLARE_INTERFACE_(IDirectDrawPalette,IUnknown)
|
||||||
/*** IDirectDrawPalette methods ***/
|
/*** IDirectDrawPalette methods ***/
|
||||||
STDMETHOD(GetCaps)(THIS_ LPDWORD lpdwCaps) PURE;
|
STDMETHOD(GetCaps)(THIS_ LPDWORD lpdwCaps) PURE;
|
||||||
STDMETHOD(GetEntries)(THIS_ DWORD dwFlags, DWORD dwBase, DWORD dwNumEntries, LPPALETTEENTRY lpEntries) PURE;
|
STDMETHOD(GetEntries)(THIS_ DWORD dwFlags, DWORD dwBase, DWORD dwNumEntries, LPPALETTEENTRY lpEntries) PURE;
|
||||||
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, DWORD dwFlags, LPPALETTEENTRY lpDDColorTable) PURE;
|
STDMETHOD(Initialize)(THIS_ struct IDirectDraw *ddraw, DWORD flags, PALETTEENTRY *color_table) PURE;
|
||||||
STDMETHOD(SetEntries)(THIS_ DWORD dwFlags, DWORD dwStartingEntry, DWORD dwCount, LPPALETTEENTRY lpEntries) PURE;
|
STDMETHOD(SetEntries)(THIS_ DWORD dwFlags, DWORD dwStartingEntry, DWORD dwCount, LPPALETTEENTRY lpEntries) PURE;
|
||||||
};
|
};
|
||||||
#undef INTERFACE
|
#undef INTERFACE
|
||||||
|
@ -1276,7 +1276,7 @@ DECLARE_INTERFACE_(IDirectDrawClipper,IUnknown)
|
||||||
/*** IDirectDrawClipper methods ***/
|
/*** IDirectDrawClipper methods ***/
|
||||||
STDMETHOD(GetClipList)(THIS_ LPRECT lpRect, LPRGNDATA lpClipList, LPDWORD lpdwSize) PURE;
|
STDMETHOD(GetClipList)(THIS_ LPRECT lpRect, LPRGNDATA lpClipList, LPDWORD lpdwSize) PURE;
|
||||||
STDMETHOD(GetHWnd)(THIS_ HWND *lphWnd) PURE;
|
STDMETHOD(GetHWnd)(THIS_ HWND *lphWnd) PURE;
|
||||||
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, DWORD dwFlags) PURE;
|
STDMETHOD(Initialize)(THIS_ struct IDirectDraw *ddraw, DWORD flags) PURE;
|
||||||
STDMETHOD(IsClipListChanged)(THIS_ BOOL *lpbChanged) PURE;
|
STDMETHOD(IsClipListChanged)(THIS_ BOOL *lpbChanged) PURE;
|
||||||
STDMETHOD(SetClipList)(THIS_ LPRGNDATA lpClipList, DWORD dwFlags) PURE;
|
STDMETHOD(SetClipList)(THIS_ LPRGNDATA lpClipList, DWORD dwFlags) PURE;
|
||||||
STDMETHOD(SetHWnd)(THIS_ DWORD dwFlags, HWND hWnd) PURE;
|
STDMETHOD(SetHWnd)(THIS_ DWORD dwFlags, HWND hWnd) PURE;
|
||||||
|
@ -1893,7 +1893,7 @@ DECLARE_INTERFACE_(IDirectDrawSurface,IUnknown)
|
||||||
/*50*/ STDMETHOD(GetPalette)(THIS_ IDirectDrawPalette **palette) PURE;
|
/*50*/ STDMETHOD(GetPalette)(THIS_ IDirectDrawPalette **palette) PURE;
|
||||||
/*54*/ STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
|
/*54*/ STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
|
||||||
/*58*/ STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
|
/*58*/ STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
|
||||||
/*5c*/ STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
|
/*5c*/ STDMETHOD(Initialize)(THIS_ IDirectDraw *ddraw, DDSURFACEDESC *surface_desc) PURE;
|
||||||
/*60*/ STDMETHOD(IsLost)(THIS) PURE;
|
/*60*/ STDMETHOD(IsLost)(THIS) PURE;
|
||||||
/*64*/ STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE;
|
/*64*/ STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE;
|
||||||
/*68*/ STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE;
|
/*68*/ STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE;
|
||||||
|
@ -2027,7 +2027,7 @@ DECLARE_INTERFACE_(IDirectDrawSurface2,IUnknown)
|
||||||
STDMETHOD(GetPalette)(THIS_ IDirectDrawPalette **palette) PURE;
|
STDMETHOD(GetPalette)(THIS_ IDirectDrawPalette **palette) PURE;
|
||||||
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
|
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
|
||||||
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
|
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
|
||||||
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
|
STDMETHOD(Initialize)(THIS_ IDirectDraw *ddraw, DDSURFACEDESC *surface_desc) PURE;
|
||||||
STDMETHOD(IsLost)(THIS) PURE;
|
STDMETHOD(IsLost)(THIS) PURE;
|
||||||
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE;
|
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE;
|
||||||
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE;
|
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE;
|
||||||
|
@ -2173,7 +2173,7 @@ DECLARE_INTERFACE_(IDirectDrawSurface3,IUnknown)
|
||||||
STDMETHOD(GetPalette)(THIS_ IDirectDrawPalette **palette) PURE;
|
STDMETHOD(GetPalette)(THIS_ IDirectDrawPalette **palette) PURE;
|
||||||
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
|
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
|
||||||
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
|
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
|
||||||
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
|
STDMETHOD(Initialize)(THIS_ IDirectDraw *ddraw, DDSURFACEDESC *surface_desc) PURE;
|
||||||
STDMETHOD(IsLost)(THIS) PURE;
|
STDMETHOD(IsLost)(THIS) PURE;
|
||||||
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE;
|
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE;
|
||||||
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE;
|
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE;
|
||||||
|
@ -2324,7 +2324,7 @@ DECLARE_INTERFACE_(IDirectDrawSurface4,IUnknown)
|
||||||
STDMETHOD(GetPalette)(THIS_ IDirectDrawPalette **palette) PURE;
|
STDMETHOD(GetPalette)(THIS_ IDirectDrawPalette **palette) PURE;
|
||||||
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
|
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
|
||||||
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE;
|
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE;
|
||||||
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE;
|
STDMETHOD(Initialize)(THIS_ IDirectDraw *ddraw, DDSURFACEDESC2 *surface_desc) PURE;
|
||||||
STDMETHOD(IsLost)(THIS) PURE;
|
STDMETHOD(IsLost)(THIS) PURE;
|
||||||
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC2 lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE;
|
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC2 lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE;
|
||||||
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE;
|
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE;
|
||||||
|
@ -2491,7 +2491,7 @@ DECLARE_INTERFACE_(IDirectDrawSurface7,IUnknown)
|
||||||
STDMETHOD(GetPalette)(THIS_ IDirectDrawPalette **palette) PURE;
|
STDMETHOD(GetPalette)(THIS_ IDirectDrawPalette **palette) PURE;
|
||||||
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
|
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
|
||||||
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE;
|
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE;
|
||||||
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE;
|
STDMETHOD(Initialize)(THIS_ IDirectDraw *ddraw, DDSURFACEDESC2 *surface_desc) PURE;
|
||||||
STDMETHOD(IsLost)(THIS) PURE;
|
STDMETHOD(IsLost)(THIS) PURE;
|
||||||
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC2 lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE;
|
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC2 lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE;
|
||||||
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE;
|
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE;
|
||||||
|
@ -2708,7 +2708,7 @@ DECLARE_INTERFACE_(IDirectDrawGammaControl,IUnknown)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
HRESULT WINAPI DirectDrawCreate(GUID*,LPDIRECTDRAW*,IUnknown*);
|
HRESULT WINAPI DirectDrawCreate(GUID *driver_guid, IDirectDraw **ddraw, IUnknown *outer);
|
||||||
HRESULT WINAPI DirectDrawCreateEx(GUID*,LPVOID*,REFIID,IUnknown*);
|
HRESULT WINAPI DirectDrawCreateEx(GUID*,LPVOID*,REFIID,IUnknown*);
|
||||||
HRESULT WINAPI DirectDrawCreateClipper(DWORD flags, IDirectDrawClipper **clipper, IUnknown *outer);
|
HRESULT WINAPI DirectDrawCreateClipper(DWORD flags, IDirectDrawClipper **clipper, IUnknown *outer);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue