www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - interfaces

reply "aelmetwaly" <aelmetwaly gawab.com> writes:
Hi there,
    how can i convert the following C++ code into D
/* IID_IDirect3D9 */

/* {81BDCBCA-64D4-426d-AE8D-AD0147F4275C} */

DEFINE_GUID(IID_IDirect3D9, 0x81bdcbca, 0x64d4, 0x426d, 0xae, 0x8d, 0xad,
0x1, 0x47, 0xf4, 0x27, 0x5c);

interface DECLSPEC_UUID("81BDCBCA-64D4-426d-AE8D-AD0147F4275C") IDirect3D9;



#if defined(_COM_SMARTPTR_TYPEDEF)

_COM_SMARTPTR_TYPEDEF(IDirect3D9, __uuidof(IDirect3D9));



DECLARE_INTERFACE_(IDirect3D9, IUnknown)

{

/*** IUnknown methods ***/

STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;

STDMETHOD_(ULONG,AddRef)(THIS) PURE;

STDMETHOD_(ULONG,Release)(THIS) PURE;

/*** IDirect3D9 methods ***/

STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;

STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;

STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter,DWORD
Flags,D3DADAPTER_IDENTIFIER9* pIdentifier) PURE;

STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter,D3DFORMAT Format)
PURE;

STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter,D3DFORMAT Format,UINT
Mode,D3DDISPLAYMODE* pMode) PURE;

STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter,D3DDISPLAYMODE* pMode)
PURE;

STDMETHOD(CheckDeviceType)(THIS_ UINT iAdapter,D3DDEVTYPE DevType,D3DFORMAT
DisplayFormat,D3DFORMAT BackBufferFormat,BOOL bWindowed) PURE;

STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter,D3DDEVTYPE
DeviceType,D3DFORMAT AdapterFormat,DWORD Usage,D3DRESOURCETYPE
RType,D3DFORMAT CheckFormat) PURE;

STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter,D3DDEVTYPE
DeviceType,D3DFORMAT SurfaceFormat,BOOL Windowed,D3DMULTISAMPLE_TYPE
MultiSampleType,DWORD* pQualityLevels) PURE;

STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter,D3DDEVTYPE
DeviceType,D3DFORMAT AdapterFormat,D3DFORMAT RenderTargetFormat,D3DFORMAT
DepthStencilFormat) PURE;

STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT Adapter,D3DDEVTYPE
DeviceType,D3DFORMAT SourceFormat,D3DFORMAT TargetFormat) PURE;

STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DCAPS9*
pCaps) PURE;

STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE;

STDMETHOD(CreateDevice)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,HWND
hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS*
pPresentationParameters,IDirect3DDevice9** ppReturnedDeviceInterface) PURE;

};



///////

thanks,
Aug 28 2004
parent "Walter" <newshound digitalmars.com> writes:
Check out the COM example (dclient.d and dserver.d) in \dmd\samples\d, that
should be helpful.
Aug 28 2004