[PATCH 4/4] d3drm: Add some object interface definitions
Christian Costa
titan.costa at wanadoo.fr
Sun Jan 10 14:41:25 CST 2010
---
include/d3drmobj.h | 187 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 187 insertions(+), 0 deletions(-)
-------------- next part --------------
diff --git a/include/d3drmobj.h b/include/d3drmobj.h
index f7d397b..7921eb9 100644
--- a/include/d3drmobj.h
+++ b/include/d3drmobj.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2008 Vijay Kiran Kamuju
+ * Copyright (C) 2010 Christian Costa
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -85,6 +86,7 @@ typedef struct IDirect3DRMClippedVisual *LPDIRECT3DRMCLIPPEDVISUAL, **LPLPDIRE
******************************************************************** */
typedef void (__cdecl *D3DRMOBJECTCALLBACK)(LPDIRECT3DRMOBJECT obj, LPVOID arg);
+typedef void (__cdecl *D3DRMUPDATECALLBACK)(LPDIRECT3DRMDEVICE obj, LPVOID arg, int, LPD3DRECT);
typedef int (__cdecl *D3DRMUSERVISUALCALLBACK)(LPDIRECT3DRMUSERVISUAL obj, LPVOID arg,
D3DRMUSERVISUALREASON reason, LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMVIEWPORT view);
typedef HRESULT (__cdecl *D3DRMLOADTEXTURECALLBACK)(char *tex_name, void *arg, LPDIRECT3DRMTEXTURE *);
@@ -164,6 +166,64 @@ DECLARE_INTERFACE_(IDirect3DRMObject,IUnknown)
#endif
/*****************************************************************************
+ * IDirect3DRMObject2 interface
+ */
+#ifdef WINE_NO_UNICODE_MACROS
+#undef GetClassName
+#endif
+#define INTERFACE IDirect3DRMObject2
+DECLARE_INTERFACE_(IDirect3DRMObject2,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DRMObject2 methods ***/
+ STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
+ STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
+ STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
+ STDMETHOD(GetClientData)(THIS_ DWORD id, LPVOID* ppData) PURE;
+ STDMETHOD(GetDirect3DRM)(THIS_ LPDIRECT3DRM* ppDirect3DRM) PURE;
+ STDMETHOD(GetName)(THIS_ LPDWORD pSize, LPSTR pName) PURE;
+ STDMETHOD(SetClientData)(THIS_ DWORD id, LPVOID pData, DWORD flags) PURE;
+ STDMETHOD(SetName)(THIS_ LPCSTR pName) PURE;
+ STDMETHOD(GetAge)(THIS_ DWORD flags, LPDWORD pAge) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DRMObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DRMObject_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DRMObject_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DRMObject2 methods ***/
+#define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
+#define IDirect3DRMObject_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
+#define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
+#define IDirect3DRMObject_GetClientData(p,a,b) (p)->lpVtbl->SetClientData(p,a,b)
+#define IDirect3DRMObject_GetDirect3DRM(p,a) (p)->lpVtbl->GetDirect3DRM(p,a)
+#define IDirect3DRMObject_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
+#define IDirect3DRMObject_SetClientData(p,a,b,c) (p)->lpVtbl->SetClientData(p,a,b,c)
+#define IDirect3DRMObject_SetName(p,a) (p)->lpVtbl->SetName(p,a)
+#define IDirect3DRMObject_GetAge(p,a,b) (p)->lpVtbl->GetAge(p,a,b)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DRMObject_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DRMObject_AddRef(p) (p)->AddRef()
+#define IDirect3DRMObject_Release(p) (p)->Release()
+/*** IDirect3DRMObject2 methods ***/
+#define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
+#define IDirect3DRMObject_Clone(p,a,b,c) (p)->Clone(a,b,c)
+#define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
+#define IDirect3DRMObject_GetClientData(p,a,b) (p)->SetClientData(a,b)
+#define IDirect3DRMObject_GetDirect3DRM(p,a) (p)->GetDirect3DRM(a)
+#define IDirect3DRMObject_GetName(p,a,b) (p)->GetName(a,b)
+#define IDirect3DRMObject_SetClientData(p,a,b,c) (p)->SetClientData(a,b,c)
+#define IDirect3DRMObject_SetName(p,a) (p)->SetName(a)
+#define IDirect3DRMObject_GetAge(p,a,b) (p)->GetAge(a,b)
+#endif
+
+/*****************************************************************************
* IDirect3DRMVisual interface
*/
#define INTERFACE IDirect3DRMVisual
@@ -215,6 +275,133 @@ DECLARE_INTERFACE_(IDirect3DRMVisual,IDirect3DRMObject)
#define IDirect3DRMVisual_GetClassName(p,a,b) (p)->GetClassName(a,b)
#endif
+/*****************************************************************************
+ * IDirect3DRMDevice interface
+ */
+#ifdef WINE_NO_UNICODE_MACROS
+#undef GetClassName
+#endif
+#define INTERFACE IDirect3DRMDevice
+DECLARE_INTERFACE_(IDirect3DRMDevice,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DRMObject methods ***/
+ STDMETHOD(Clone)(THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) PURE;
+ STDMETHOD(AddDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
+ STDMETHOD(DeleteDestroyCallback)(THIS_ D3DRMOBJECTCALLBACK pFunc, LPVOID pArg) PURE;
+ STDMETHOD(SetAppData)(THIS_ DWORD data) PURE;
+ STDMETHOD_(DWORD, GetAppData)(THIS) PURE;
+ STDMETHOD(SetName)(THIS_ LPCSTR) PURE;
+ STDMETHOD(GetName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
+ STDMETHOD(GetClassName)(THIS_ LPDWORD lpdwSize, LPSTR lpName) PURE;
+ /*** IDirect3DRMDevice methods ***/
+ STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE;
+ STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev) PURE;
+ STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height) PURE;
+ STDMETHOD(Update)(THIS) PURE;
+ STDMETHOD(AddUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
+ STDMETHOD(DeleteUpdateCallback)(THIS_ D3DRMUPDATECALLBACK, LPVOID arg) PURE;
+ STDMETHOD(SetBufferCount)(THIS_ DWORD) PURE;
+ STDMETHOD_(DWORD, GetBufferCount)(THIS) PURE;
+ STDMETHOD(SetDither)(THIS_ BOOL) PURE;
+ STDMETHOD(SetShades)(THIS_ DWORD) PURE;
+ STDMETHOD(SetQuality)(THIS_ D3DRMRENDERQUALITY) PURE;
+ STDMETHOD(SetTextureQuality)(THIS_ D3DRMTEXTUREQUALITY) PURE;
+ STDMETHOD(GetViewports)(THIS_ LPDIRECT3DRMVIEWPORTARRAY *return_views) PURE;
+ STDMETHOD_(BOOL, GetDither)(THIS) PURE;
+ STDMETHOD_(DWORD, GetShades)(THIS) PURE;
+ STDMETHOD_(DWORD, GetHeight)(THIS) PURE;
+ STDMETHOD_(DWORD, GetWidth)(THIS) PURE;
+ STDMETHOD_(DWORD, GetTrianglesDrawn)(THIS) PURE;
+ STDMETHOD_(DWORD, GetWireframeOptions)(THIS) PURE;
+ STDMETHOD_(D3DRMRENDERQUALITY, GetQuality)(THIS) PURE;
+ STDMETHOD_(D3DCOLORMODEL, GetColorModel)(THIS) PURE;
+ STDMETHOD_(D3DRMTEXTUREQUALITY, GetTextureQuality)(THIS) PURE;
+ STDMETHOD(GetDirect3DDevice)(THIS_ LPDIRECT3DDEVICE *) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DRMObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DRMObject_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DRMObject_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DRMObject methods ***/
+#define IDirect3DRMObject_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c)
+#define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b)
+#define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b)
+#define IDirect3DRMObject_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a)
+#define IDirect3DRMObject_GetAppData(p) (p)->lpVtbl->GetAppData(p)
+#define IDirect3DRMObject_SetName(p,a) (p)->lpVtbl->SetName(p,a)
+#define IDirect3DRMObject_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b)
+#define IDirect3DRMObject_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b)
+/*** IDirect3DRMDevice methods ***/
+#define IDirect3DRMObject_Init(p,a,b) (p)->lpVtbl->Init(p,a,b)
+#define IDirect3DRMObject_InitFromD3D(p,a,b) (p)->lpVtbl->InitFromD3D(p,a,b)
+#define IDirect3DRMObject_InitFromClipper(p,a,b,c,d) (p)->lpVtbl->InitFromClipper(p,a,b,c,d)
+#define IDirect3DRMObject_Update(p) (p)->lpVtbl->Update(p)
+#define IDirect3DRMObject_AddUpdateCallback(p,a,b) (p)->lpVtbl->AddUpdateCallback(p,a,b)
+#define IDirect3DRMObject_DeleteUpdateCallback(p,a,b) (p)->lpVtbl->DeleteUpdateCallback(p,a,b,c)
+#define IDirect3DRMObject_SetBufferCount(p,a) (p)->lpVtbl->SetBufferCount(p,a)
+#define IDirect3DRMObject_GetBufferCount(p) (p)->lpVtbl->GetBufferCount(p)
+#define IDirect3DRMObject_SetDither(p,a) (p)->lpVtbl->SetDither(p,a)
+#define IDirect3DRMObject_SetShades(p,a) (p)->lpVtbl->SetShades(p,a)
+#define IDirect3DRMObject_SetQuality(p,a) (p)->lpVtbl->SetQuality(p,a)
+#define IDirect3DRMObject_SetTextureQuality(p,a) (p)->lpVtbl->SetTextureQuality(p,a)
+#define IDirect3DRMObject_GetViewports(p,a) (p)->lpVtbl->GetViewports(p,a)
+#define IDirect3DRMObject_GetDither(p) (p)->lpVtbl->GetDither(p)
+#define IDirect3DRMObject_GetShades(p) (p)->lpVtbl->GetShades(p)
+#define IDirect3DRMObject_GetHeight(p) (p)->lpVtbl->GetHeight(p)
+#define IDirect3DRMObject_GetWidth(p) (p)->lpVtbl->GetWidth(p)
+#define IDirect3DRMObject_GetTrianglesDrawn(p) (p)->lpVtbl->GetTrianglesDrawn(p)
+#define IDirect3DRMObject_GetWireframeOptions(p) (p)->lpVtbl->GetWireframeOptions(p)
+#define IDirect3DRMObject_GetQuality(p) (p)->lpVtbl->GetQuality(p)
+#define IDirect3DRMObject_GetColorModel(p) (p)->lpVtbl->GetColorModel(p)
+#define IDirect3DRMObject_GetTextureQuality(p) (p)->lpVtbl->GetTextureQuality(p)
+#define IDirect3DRMObject_GetDirect3DDevice(p,a) (p)->lpVtbl->GetDirect3DDevice(p,a)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DRMObject_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DRMObject_AddRef(p) (p)->AddRef()
+#define IDirect3DRMObject_Release(p) (p)->Release()
+/*** IDirect3DRMObject methods ***/
+#define IDirect3DRMObject_Clone(p,a,b,c) (p)->Clone(a,b,c)
+#define IDirect3DRMObject_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b)
+#define IDirect3DRMObject_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b)
+#define IDirect3DRMObject_SetAppData(p,a) (p)->SetAppData(a)
+#define IDirect3DRMObject_GetAppData(p) (p)->GetAppData()
+#define IDirect3DRMObject_SetName(p,a) (p)->SetName(a)
+#define IDirect3DRMObject_GetName(p,a,b) (p)->GetName(a,b)
+#define IDirect3DRMObject_GetClassName(p,a,b) (p)->GetClassName(a,b)
+/*** IDirect3DRMDevice methods ***/
+#define IDirect3DRMObject_Init(p,a,b) (p)->Init(p,a,b)
+#define IDirect3DRMObject_InitFromD3D(p,a,b) (p)->InitFromD3D(p,a,b)
+#define IDirect3DRMObject_InitFromClipper(p,a,b,c,d) (p)->InitFromClipper(p,a,b,c,d)
+#define IDirect3DRMObject_Update(p) (p)->Update(p)
+#define IDirect3DRMObject_AddUpdateCallback(p,a,b) (p)->AddUpdateCallback(p,a,b)
+#define IDirect3DRMObject_DeleteUpdateCallback(p,a,b) (p)->DeleteUpdateCallback(p,a,b,c)
+#define IDirect3DRMObject_SetBufferCount(p,a) (p)->SetBufferCount(p,a)
+#define IDirect3DRMObject_GetBufferCount(p) (p)->GetBufferCount(p)
+#define IDirect3DRMObject_SetDither(p,a) (p)->SetDither(p,a)
+#define IDirect3DRMObject_SetShades(p,a) (p)->SetShades(p,a)
+#define IDirect3DRMObject_SetQuality(p,a) (p)->SetQuality(p,a)
+#define IDirect3DRMObject_SetTextureQuality(p,a) (p)->SetTextureQuality(p,a)
+#define IDirect3DRMObject_GetViewports(p,a) (p)->GetViewports(p,a)
+#define IDirect3DRMObject_GetDither(p) (p)->GetDither(p)
+#define IDirect3DRMObject_GetShades(p) (p)->GetShades(p)
+#define IDirect3DRMObject_GetHeight(p) (p)->GetHeight(p)
+#define IDirect3DRMObject_GetWidth(p) (p)->GetWidth(p)
+#define IDirect3DRMObject_GetTrianglesDrawn(p) (p)->GetTrianglesDrawn(p)
+#define IDirect3DRMObject_GetWireframeOptions(p) (p)->GetWireframeOptions(p)
+#define IDirect3DRMObject_GetQuality(p) (p)->GetQuality(p)
+#define IDirect3DRMObject_GetColorModel(p) (p)->GetColorModel(p)
+#define IDirect3DRMObject_GetTextureQuality(p) (p)->GetTextureQuality(p)
+#define IDirect3DRMObject_GetDirect3DDevice(p,a) (p)->GetDirect3DDevice(p,a)
+#endif
+
#ifdef __cplusplus
};
#endif
More information about the wine-patches
mailing list