254 lines
9.8 KiB
C++
254 lines
9.8 KiB
C++
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1998 - 1999
|
|
//
|
|
// File: d3drm3obj.h
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
// d3drmObj.h : Declaration of the C_dxj_Direct3dRMObject
|
|
|
|
#include "resource.h" // main symbols
|
|
|
|
#define typedef__dxj_Direct3dRM3 LPDIRECT3DRM3
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Direct
|
|
|
|
//REVIEW -- using pointers to ID's is necessary because some compilers don't like
|
|
//references as template arguments.
|
|
|
|
class C_dxj_Direct3dRM3Object :
|
|
public I_dxj_Direct3dRM3,
|
|
public CComObjectRoot
|
|
// public CComCoClass<C_dxj_Direct3dRM3Object, &CLSID__dxj_Direct3dRM3>, public CComObjectRoot
|
|
{
|
|
public:
|
|
void doCreateObj();
|
|
void doDeleteObj();
|
|
|
|
C_dxj_Direct3dRM3Object();
|
|
virtual ~C_dxj_Direct3dRM3Object();
|
|
|
|
BEGIN_COM_MAP(C_dxj_Direct3dRM3Object)
|
|
COM_INTERFACE_ENTRY(I_dxj_Direct3dRM3)
|
|
END_COM_MAP()
|
|
|
|
|
|
DECLARE_AGGREGATABLE(C_dxj_Direct3dRM3Object)
|
|
|
|
// I_dxj_Direct3dRM
|
|
public:
|
|
|
|
/* [hidden] */ HRESULT STDMETHODCALLTYPE InternalSetObject(
|
|
/* [in] */ IUnknown __RPC_FAR *lpdd);
|
|
|
|
/* [hidden] */ HRESULT STDMETHODCALLTYPE InternalGetObject(
|
|
/* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *lpdd);
|
|
|
|
HRESULT STDMETHODCALLTYPE createDeviceFromClipper(
|
|
/* [in] */ I_dxj_DirectDrawClipper __RPC_FAR *lpDDClipper,
|
|
/* [in] */ BSTR guid,
|
|
/* [in] */ int width,
|
|
/* [in] */ int height,
|
|
/* [retval][out] */ I_dxj_Direct3dRMDevice3 __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createFrame(
|
|
/* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *parent,
|
|
/* [retval][out] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createLightRGB(
|
|
/* [in] */ d3drmLightType lt,
|
|
/* [in] */ float vred,
|
|
/* [in] */ float vgreen,
|
|
/* [in] */ float vblue,
|
|
/* [retval][out] */ I_dxj_Direct3dRMLight __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createLight(
|
|
/* [in] */ d3drmLightType lt,
|
|
/* [in] */ long color,
|
|
/* [retval][out] */ I_dxj_Direct3dRMLight __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createMeshBuilder(
|
|
/* [retval][out] */ I_dxj_Direct3dRMMeshBuilder3 __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createMaterial(
|
|
/* [in] */ float d,
|
|
/* [retval][out] */ I_dxj_Direct3dRMMaterial2 __RPC_FAR *__RPC_FAR *val);
|
|
|
|
HRESULT STDMETHODCALLTYPE loadTexture(
|
|
/* [in] */ BSTR name,
|
|
/* [retval][out] */ I_dxj_Direct3dRMTexture3 __RPC_FAR *__RPC_FAR *retval);
|
|
|
|
HRESULT STDMETHODCALLTYPE createViewport(
|
|
/* [in] */ I_dxj_Direct3dRMDevice3 __RPC_FAR *dev,
|
|
/* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *fr,
|
|
/* [in] */ long l,
|
|
/* [in] */ long t,
|
|
/* [in] */ long w,
|
|
/* [in] */ long h,
|
|
/* [retval][out] */ I_dxj_Direct3dRMViewport2 __RPC_FAR *__RPC_FAR *retval);
|
|
|
|
HRESULT STDMETHODCALLTYPE setDefaultTextureColors(
|
|
/* [in] */ long ds);
|
|
|
|
HRESULT STDMETHODCALLTYPE setDefaultTextureShades(
|
|
/* [in] */ long ds);
|
|
|
|
HRESULT STDMETHODCALLTYPE createAnimationSet(
|
|
/* [retval][out] */ I_dxj_Direct3dRMAnimationSet2 __RPC_FAR *__RPC_FAR *retval);
|
|
|
|
HRESULT STDMETHODCALLTYPE createMesh(
|
|
/* [retval][out] */ I_dxj_Direct3dRMMesh __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createFace(
|
|
/* [retval][out] */ I_dxj_Direct3dRMFace2 __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createAnimation(
|
|
/* [retval][out] */ I_dxj_Direct3dRMAnimation2 __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE tick(
|
|
/* [in] */ float tic);
|
|
|
|
|
|
// HRESULT STDMETHODCALLTYPE createDevice(
|
|
// /* [in] */ long v1,
|
|
// /* [in] */ long v2,
|
|
// /* [retval][out] */ I_dxj_Direct3dRMDevice3 __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createDeviceFromSurface(
|
|
/* [in] */ BSTR g,
|
|
/* [in] */ I_dxj_DirectDraw4 __RPC_FAR *dd,
|
|
/* [in] */ I_dxj_DirectDrawSurface4 __RPC_FAR *dds,
|
|
/* [in] */ long flags,
|
|
/* [retval][out] */ I_dxj_Direct3dRMDevice3 __RPC_FAR *__RPC_FAR *retval);
|
|
|
|
//HRESULT STDMETHODCALLTYPE createDeviceFromD3D(
|
|
// /* [in] */ I_dxj_Direct3d3 __RPC_FAR *D3D,
|
|
// /* [in] */ I_dxj_Direct3dDevice3 __RPC_FAR *dev,
|
|
// /* [retval][out] */ I_dxj_Direct3dRMDevice3 __RPC_FAR *__RPC_FAR *val);
|
|
|
|
HRESULT STDMETHODCALLTYPE createTextureFromSurface(
|
|
/* [in] */ I_dxj_DirectDrawSurface4 __RPC_FAR *dds,
|
|
/* [retval][out] */ I_dxj_Direct3dRMTexture3 __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createWrap(
|
|
/* [in] */ d3drmWrapType t,
|
|
/* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *f,
|
|
/* [in] */ float ox,
|
|
/* [in] */ float oy,
|
|
/* [in] */ float oz,
|
|
/* [in] */ float dx,
|
|
/* [in] */ float dy,
|
|
/* [in] */ float dz,
|
|
/* [in] */ float ux,
|
|
/* [in] */ float uy,
|
|
/* [in] */ float uz,
|
|
/* [in] */ float ou,
|
|
/* [in] */ float ov,
|
|
/* [in] */ float su,
|
|
/* [in] */ float sv,
|
|
/* [retval][out] */ I_dxj_Direct3dRMWrap __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE getSearchPath(
|
|
/* [retval][out] */ BSTR __RPC_FAR *name);
|
|
|
|
HRESULT STDMETHODCALLTYPE getDevices(
|
|
/* [retval][out] */ I_dxj_Direct3dRMDeviceArray __RPC_FAR *__RPC_FAR *retval);
|
|
|
|
HRESULT STDMETHODCALLTYPE getNamedObject(
|
|
/* [in] */ BSTR name,
|
|
/* [retval][out] */ I_dxj_Direct3dRMObject __RPC_FAR *__RPC_FAR *retval);
|
|
|
|
HRESULT STDMETHODCALLTYPE setSearchPath(
|
|
/* [in] */ BSTR name);
|
|
|
|
HRESULT STDMETHODCALLTYPE addSearchPath(
|
|
/* [in] */ BSTR name);
|
|
|
|
// HRESULT STDMETHODCALLTYPE createUserVisual(
|
|
// /* [in] */ I_dxj_Direct3dRMUserVisualCallback __RPC_FAR *fn,
|
|
// /* [in] */ IUnknown __RPC_FAR *arg,
|
|
// /* [retval][out] */ I_dxj_Direct3dRMUserVisual __RPC_FAR *__RPC_FAR *f);
|
|
|
|
HRESULT STDMETHODCALLTYPE enumerateObjects(
|
|
/* [in] */ I_dxj_Direct3dRMEnumerateObjectsCallback __RPC_FAR *fn,
|
|
/* [in] */ IUnknown __RPC_FAR *pargs);
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE loadFromFile(
|
|
/* [in] */ BSTR filename,
|
|
/* [in] */ VARIANT id,
|
|
/* [in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *guidArray,
|
|
/* [in] */ long cnt,
|
|
/* [in] */ d3drmLoadFlags options,
|
|
/* [in] */ I_dxj_Direct3dRMLoadCallback __RPC_FAR *fn1,
|
|
/* [in] */ IUnknown __RPC_FAR *arg1,
|
|
/* [in] */ I_dxj_Direct3dRMLoadTextureCallback3 __RPC_FAR *fn2,
|
|
/* [in] */ IUnknown __RPC_FAR *arg2,
|
|
/* [in] */ I_dxj_Direct3dRMFrame3 __RPC_FAR *f);
|
|
|
|
HRESULT STDMETHODCALLTYPE createShadow(
|
|
/* [in] */ I_dxj_Direct3dRMVisual __RPC_FAR *visual,
|
|
/* [in] */ I_dxj_Direct3dRMLight __RPC_FAR *light,
|
|
/* [in] */ float px,
|
|
/* [in] */ float py,
|
|
/* [in] */ float pz,
|
|
/* [in] */ float nx,
|
|
/* [in] */ float ny,
|
|
/* [in] */ float nz,
|
|
/* [retval][out] */ I_dxj_Direct3dRMShadow2 __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createProgressiveMesh(
|
|
/* [retval][out] */ I_dxj_Direct3dRMProgressiveMesh __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createClippedVisual(
|
|
/* [in] */ I_dxj_Direct3dRMVisual __RPC_FAR *vis,
|
|
/* [retval][out] */ I_dxj_Direct3dRMClippedVisual __RPC_FAR *__RPC_FAR *ret);
|
|
|
|
HRESULT STDMETHODCALLTYPE getOptions(
|
|
/* [retval][out] */ long __RPC_FAR *options);
|
|
|
|
HRESULT STDMETHODCALLTYPE setOptions(
|
|
/* [in] */ long options);
|
|
|
|
// HRESULT STDMETHODCALLTYPE createInterpolator(
|
|
// /* [retval][out] */ I_dxj_Direct3dRMInterpolator __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createInterpolatorMesh(
|
|
/* [retval][out] */ I_dxj_Direct3dRMMeshInterpolator __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createInterpolatorTexture(
|
|
/* [retval][out] */ I_dxj_Direct3dRMTextureInterpolator __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createInterpolatorMaterial(
|
|
/* [retval][out] */ I_dxj_Direct3dRMMaterialInterpolator __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createInterpolatorFrame(
|
|
/* [retval][out] */ I_dxj_Direct3dRMFrameInterpolator __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createInterpolatorViewport(
|
|
/* [retval][out] */ I_dxj_Direct3dRMViewportInterpolator __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
HRESULT STDMETHODCALLTYPE createInterpolatorLight(
|
|
/* [retval][out] */ I_dxj_Direct3dRMLightInterpolator __RPC_FAR *__RPC_FAR *retv);
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// note: this is public for the callbacks
|
|
DECL_VARIABLE(_dxj_Direct3dRM3);
|
|
|
|
private:
|
|
HINSTANCE hinstLib;
|
|
|
|
|
|
public:
|
|
DX3J_GLOBAL_LINKS( _dxj_Direct3dRM3)
|
|
};
|
|
|
|
|
|
|