diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 4cded1827e4..40023132914 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1698,6 +1698,26 @@ HRESULT WINAPI IWineD3DDeviceImpl_Uninit3D(IWineD3DDevice *iface) { return WINED3DERR_INVALIDCALL; } +HRESULT WINAPI IWineD3DDeviceImpl_EnumDisplayModes(IWineD3DDevice *iface, DWORD Flags, UINT Width, UINT Height, WINED3DFORMAT pixelformat, LPVOID context, D3DCB_ENUMDISPLAYMODESCALLBACK callback) { + FIXME("This call is a d3d7 merge stub. It will be implemented later\n"); + return WINED3DERR_INVALIDCALL; +} + +HRESULT WINAPI IWineD3DDeviceImpl_SetDisplayMode(IWineD3DDevice *iface, UINT iSwapChain, WINED3DDISPLAYMODE* pMode) { + FIXME("This call is a d3d7 merge stub. It will be implemented later\n"); + return WINED3DERR_INVALIDCALL; +} + +HRESULT WINAPI IWineD3DDeviceImpl_EnumZBufferFormats(IWineD3DDevice *iface, D3DCB_ENUMPIXELFORMATS Callback, void *Context) { + FIXME("This call is a d3d7 merge stub. It will be implemented later\n"); + return WINED3DERR_INVALIDCALL; +} + +HRESULT WINAPI IWineD3DDeviceImpl_EnumTextureFormats(IWineD3DDevice *iface, D3DCB_ENUMPIXELFORMATS Callback, void *Context) { + FIXME("This call is a d3d7 merge stub. It will be implemented later\n"); + return WINED3DERR_INVALIDCALL; +} + HRESULT WINAPI IWineD3DDeviceImpl_GetDirect3D(IWineD3DDevice *iface, IWineD3D **ppD3D) { IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; *ppD3D= This->wineD3D; @@ -6843,6 +6863,7 @@ const IWineD3DDeviceVtbl IWineD3DDevice_Vtbl = /*** Odd functions **/ IWineD3DDeviceImpl_Init3D, IWineD3DDeviceImpl_Uninit3D, + IWineD3DDeviceImpl_EnumDisplayModes, IWineD3DDeviceImpl_EvictManagedResources, IWineD3DDeviceImpl_GetAvailableTextureMem, IWineD3DDeviceImpl_GetBackBuffer, @@ -6850,6 +6871,7 @@ const IWineD3DDeviceVtbl IWineD3DDevice_Vtbl = IWineD3DDeviceImpl_GetDeviceCaps, IWineD3DDeviceImpl_GetDirect3D, IWineD3DDeviceImpl_GetDisplayMode, + IWineD3DDeviceImpl_SetDisplayMode, IWineD3DDeviceImpl_GetHWND, IWineD3DDeviceImpl_SetHWND, IWineD3DDeviceImpl_GetNumberOfSwapChains, @@ -6861,6 +6883,8 @@ const IWineD3DDeviceVtbl IWineD3DDevice_Vtbl = IWineD3DDeviceImpl_SetCursorPosition, IWineD3DDeviceImpl_ShowCursor, IWineD3DDeviceImpl_TestCooperativeLevel, + IWineD3DDeviceImpl_EnumZBufferFormats, + IWineD3DDeviceImpl_EnumTextureFormats, /*** Getters and setters **/ IWineD3DDeviceImpl_SetClipPlane, IWineD3DDeviceImpl_GetClipPlane, diff --git a/include/wine/wined3d_interface.h b/include/wine/wined3d_interface.h index af58fb45428..2c590eb9cb2 100644 --- a/include/wine/wined3d_interface.h +++ b/include/wine/wined3d_interface.h @@ -4,6 +4,7 @@ * Copyright 2002-2003 The wine-d3d team * Copyright 2002-2003 Raphael Junqueira * Copyright 2005 Oliver Stieber + * Copyright 2006 Stefan Dösinger for CodeWeavers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -260,6 +261,17 @@ typedef HRESULT WINAPI (*D3DCB_CREATEADDITIONALSWAPCHAIN) (IUnknown *pDevice, struct IWineD3DSwapChain **pSwapChain ); +typedef HRESULT WINAPI (*D3DCB_ENUMPIXELFORMATS) (struct IUnknown *pDevice, + WINED3DFORMAT fmt, + void *Context); + +typedef HRESULT WINAPI (*D3DCB_ENUMDISPLAYMODESCALLBACK) (IUnknown *pDevice, + UINT Width, + UINT Height, + WINED3DFORMAT Pixelformat, + FLOAT Refresh, + LPVOID context); + /***************************************************************************** * IWineD3DBase interface */ @@ -373,6 +385,7 @@ DECLARE_INTERFACE_(IWineD3DDevice,IWineD3DBase) STDMETHOD_(HRESULT,CreatePalette)(THIS_ DWORD Flags, PALETTEENTRY *PalEnt, struct IWineD3DPalette **Palette, IUnknown *Parent); STDMETHOD(Init3D)(THIS_ WINED3DPRESENT_PARAMETERS* pPresentationParameters, D3DCB_CREATEADDITIONALSWAPCHAIN D3DCB_CreateAdditionalSwapChain); STDMETHOD(Uninit3D)(THIS); + STDMETHOD(EnumDisplayModes)(THIS_ DWORD Flags, UINT Width, UINT Height, WINED3DFORMAT Format, void *context, D3DCB_ENUMDISPLAYMODESCALLBACK cb) PURE; STDMETHOD(EvictManagedResources)(THIS) PURE; STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE; STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain, UINT BackBuffer, WINED3DBACKBUFFER_TYPE, struct IWineD3DSurface** ppBackBuffer) PURE; @@ -380,6 +393,7 @@ DECLARE_INTERFACE_(IWineD3DDevice,IWineD3DBase) STDMETHOD(GetDeviceCaps)(THIS_ WINED3DCAPS* pCaps) PURE; STDMETHOD(GetDirect3D)(THIS_ IWineD3D** ppD3D) PURE; STDMETHOD(GetDisplayMode)(THIS_ UINT iSwapChain, WINED3DDISPLAYMODE* pMode) PURE; + STDMETHOD(SetDisplayMode)(THIS_ UINT iSwapChain, WINED3DDISPLAYMODE* pMode) PURE; STDMETHOD(GetHWND)(THIS_ HWND *hwnd) PURE; STDMETHOD(SetHWND)(THIS_ HWND hwnd) PURE; STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE; @@ -391,6 +405,8 @@ DECLARE_INTERFACE_(IWineD3DDevice,IWineD3DBase) STDMETHOD_(void, SetCursorPosition)(THIS_ int XScreenSpace, int YScreenSpace, DWORD Flags) PURE; STDMETHOD_(BOOL, ShowCursor)(THIS_ BOOL bShow) PURE; STDMETHOD(TestCooperativeLevel)(THIS) PURE; + STDMETHOD(EnumZBufferFormats)(THIS_ D3DCB_ENUMPIXELFORMATS Callback, void *Context) PURE; + STDMETHOD(EnumTextureFormats)(THIS_ D3DCB_ENUMPIXELFORMATS Callback, void *Context) PURE; STDMETHOD(SetClipPlane)(THIS_ DWORD Index,CONST float * pPlane) PURE; STDMETHOD(GetClipPlane)(THIS_ DWORD Index,float * pPlane) PURE; STDMETHOD(SetClipStatus)(THIS_ CONST WINED3DCLIPSTATUS * pClipStatus) PURE; @@ -517,6 +533,7 @@ DECLARE_INTERFACE_(IWineD3DDevice,IWineD3DBase) #define IWineD3DDevice_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d) #define IWineD3DDevice_Init3D(p, a, b) (p)->lpVtbl->Init3D(p, a, b) #define IWineD3DDevice_Uninit3D(p) (p)->lpVtbl->Uninit3D(p) +#define IWineD3DDevice_EnumDisplayModes(p,a,b,c,d,e,f) (p)->lpVtbl->EnumDisplayModes(p,a,b,c,d,e,f) #define IWineD3DDevice_EvictManagedResources(p) (p)->lpVtbl->EvictManagedResources(p) #define IWineD3DDevice_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p) #define IWineD3DDevice_GetBackBuffer(p,a,b,c,d) (p)->lpVtbl->GetBackBuffer(p,a,b,c,d) @@ -524,6 +541,7 @@ DECLARE_INTERFACE_(IWineD3DDevice,IWineD3DBase) #define IWineD3DDevice_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a) #define IWineD3DDevice_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a) #define IWineD3DDevice_GetDisplayMode(p,a,b) (p)->lpVtbl->GetDisplayMode(p,a,b) +#define IWineD3DDevice_SetDisplayMode(p,a,b) (p)->lpVtbl->SetDisplayMode(p,a,b) #define IWineD3DDevice_GetHWND(p, a) (p)->lpVtbl->GetHWND(p, a) #define IWineD3DDevice_SetHWND(p, a) (p)->lpVtbl->SetHWND(p, a) #define IWineD3DDevice_GetNumberOfSwapChains(p) (p)->lpVtbl->GetNumberOfSwapChains(p) @@ -535,6 +553,8 @@ DECLARE_INTERFACE_(IWineD3DDevice,IWineD3DBase) #define IWineD3DDevice_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p) #define IWineD3DDevice_SetFVF(p,a) (p)->lpVtbl->SetFVF(p,a) #define IWineD3DDevice_GetFVF(p,a) (p)->lpVtbl->GetFVF(p,a) +#define IWineD3DDevice_EnumZBufferFormats(p, a, b) (p)->lpVtbl->EnumZBufferFormats(p, a, b) +#define IWineD3DDevice_EnumTextureFormats(p, a, b) (p)->lpVtbl->EnumTextureFormats(p, a, b) #define IWineD3DDevice_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b) #define IWineD3DDevice_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b) #define IWineD3DDevice_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)