📄 d3drmobj.h
字号:
/*==========================================================================; * * Copyright (C) 1995-1996 Microsoft Corporation. All Rights Reserved. * * File: d3drm.h * Content: Direct3DRM include file * ***************************************************************************/#ifndef _D3DRMOBJ_H_#define _D3DRMOBJ_H_#include <objbase.h> /* Use Windows header files */#define VIRTUAL#include "d3drmdef.h"#include "d3d.h"#ifdef __cplusplusextern "C" {#endif/* * The methods for IUnknown */#define IUNKNOWN_METHODS(kind) \ STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) kind; \ STDMETHOD_(ULONG, AddRef) (THIS) kind; \ STDMETHOD_(ULONG, Release) (THIS) kind/* * The methods for IDirect3DRMObject */#define IDIRECT3DRMOBJECT_METHODS(kind) \ STDMETHOD(Clone) (THIS_ LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObj) kind; \ STDMETHOD(AddDestroyCallback) (THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) kind; \ STDMETHOD(DeleteDestroyCallback) (THIS_ D3DRMOBJECTCALLBACK, LPVOID argument) kind; \ STDMETHOD(SetAppData) (THIS_ DWORD data) kind; \ STDMETHOD_(DWORD, GetAppData) (THIS) kind; \ STDMETHOD(SetName) (THIS_ LPCSTR) kind; \ STDMETHOD(GetName) (THIS_ LPDWORD lpdwSize, LPSTR lpName) kind; \ STDMETHOD(GetClassName) (THIS_ LPDWORD lpdwSize, LPSTR lpName) kind#define WIN_TYPES(itype, ptype) \ typedef interface itype FAR *LP##ptype, FAR **LPLP##ptypeWIN_TYPES(IDirect3DRMObject, DIRECT3DRMOBJECT);WIN_TYPES(IDirect3DRMDevice, DIRECT3DRMDEVICE);WIN_TYPES(IDirect3DRMViewport, DIRECT3DRMVIEWPORT);WIN_TYPES(IDirect3DRMFrame, DIRECT3DRMFRAME);WIN_TYPES(IDirect3DRMVisual, DIRECT3DRMVISUAL);WIN_TYPES(IDirect3DRMMesh, DIRECT3DRMMESH);WIN_TYPES(IDirect3DRMMeshBuilder, DIRECT3DRMMESHBUILDER);WIN_TYPES(IDirect3DRMFace, DIRECT3DRMFACE);WIN_TYPES(IDirect3DRMLight, DIRECT3DRMLIGHT);WIN_TYPES(IDirect3DRMTexture, DIRECT3DRMTEXTURE);WIN_TYPES(IDirect3DRMWrap, DIRECT3DRMWRAP);WIN_TYPES(IDirect3DRMMaterial, DIRECT3DRMMATERIAL);WIN_TYPES(IDirect3DRMAnimation, DIRECT3DRMANIMATION);WIN_TYPES(IDirect3DRMAnimationSet, DIRECT3DRMANIMATIONSET);WIN_TYPES(IDirect3DRMUserVisual, DIRECT3DRMUSERVISUAL);WIN_TYPES(IDirect3DRMShadow, DIRECT3DRMSHADOW);WIN_TYPES(IDirect3DRMArray, DIRECT3DRMOBJECTARRAY);WIN_TYPES(IDirect3DRMDeviceArray, DIRECT3DRMDEVICEARRAY);WIN_TYPES(IDirect3DRMFaceArray, DIRECT3DRMFACEARRAY);WIN_TYPES(IDirect3DRMViewportArray, DIRECT3DRMVIEWPORTARRAY);WIN_TYPES(IDirect3DRMFrameArray, DIRECT3DRMFRAMEARRAY);WIN_TYPES(IDirect3DRMVisualArray, DIRECT3DRMVISUALARRAY);WIN_TYPES(IDirect3DRMPickedArray, DIRECT3DRMPICKEDARRAY);WIN_TYPES(IDirect3DRMLightArray, DIRECT3DRMLIGHTARRAY);/* * Direct3DRM Object classes */DEFINE_GUID(CLSID_CDirect3DRMDevice, 0x4fa3568e, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMViewport, 0x4fa3568f, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMFrame, 0x4fa35690, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMMesh, 0x4fa35691, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMMeshBuilder, 0x4fa35692, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMFace, 0x4fa35693, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMLight, 0x4fa35694, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMTexture, 0x4fa35695, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMWrap, 0x4fa35696, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMMaterial, 0x4fa35697, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMAnimation, 0x4fa35698, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMAnimationSet, 0x4fa35699, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMUserVisual, 0x4fa3569a, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(CLSID_CDirect3DRMShadow, 0x4fa3569b, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);/* * Direct3DRM Object interfaces */DEFINE_GUID(IID_IDirect3DRMObject, 0xeb16cb00, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMDevice, 0xe9e19280, 0x6e05, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMViewport, 0xeb16cb02, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMFrame, 0xeb16cb03, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMVisual, 0xeb16cb04, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMMesh, 0xa3a80d01, 0x6e12, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMMeshBuilder, 0xa3a80d02, 0x6e12, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMFace, 0xeb16cb07, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMLight, 0xeb16cb08, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMTexture, 0xeb16cb09, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMWrap, 0xeb16cb0a, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMMaterial, 0xeb16cb0b, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMAnimation, 0xeb16cb0d, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMAnimationSet, 0xeb16cb0e, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMDeviceArray, 0xeb16cb10, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMViewportArray, 0xeb16cb11, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMFrameArray, 0xeb16cb12, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMVisualArray, 0xeb16cb13, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMLightArray, 0xeb16cb14, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMPickedArray, 0xeb16cb16, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMFaceArray, 0xeb16cb17, 0xd271, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMUserVisual, 0x59163de0, 0x6d43, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);DEFINE_GUID(IID_IDirect3DRMShadow, 0xaf359780, 0x6ba3, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);typedef void (*D3DRMOBJECTCALLBACK)(LPDIRECT3DRMOBJECT obj, LPVOID arg);typedef void (*D3DRMFRAMEMOVECALLBACK)(LPDIRECT3DRMFRAME obj, LPVOID arg, D3DVALUE delta);typedef void (*D3DRMUPDATECALLBACK)(LPDIRECT3DRMDEVICE obj, LPVOID arg, int, LPD3DRECT);typedef int (*D3DRMUSERVISUALCALLBACK)(LPDIRECT3DRMUSERVISUAL obj, LPVOID arg, D3DRMUSERVISUALREASON reason, LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMVIEWPORT view);typedef HRESULT (*D3DRMLOADTEXTURECALLBACK) (char *tex_name, void *arg, LPDIRECT3DRMTEXTURE *);typedef void (*D3DRMLOADCALLBACK) (LPDIRECT3DRMOBJECT object, REFIID objectguid, LPVOID arg);typedef struct _D3DRMPICKDESC{ ULONG ulFaceIdx; LONG lGroupIdx; D3DVECTOR vPosition;} D3DRMPICKDESC, *LPD3DRMPICKDESC;#undef INTERFACE#define INTERFACE IDirect3DRMObject/* * Base class */DECLARE_INTERFACE_(IDirect3DRMObject, IUnknown){ IUNKNOWN_METHODS(PURE); IDIRECT3DRMOBJECT_METHODS(PURE);};#undef INTERFACE#define INTERFACE IDirect3DRMVisualDECLARE_INTERFACE_(IDirect3DRMVisual, IDirect3DRMObject){ IUNKNOWN_METHODS(PURE); IDIRECT3DRMOBJECT_METHODS(PURE);};#undef INTERFACE#define INTERFACE IDirect3DRMDeviceDECLARE_INTERFACE_(IDirect3DRMDevice, IDirect3DRMObject){ IUNKNOWN_METHODS(PURE); IDIRECT3DRMOBJECT_METHODS(PURE); /* * IDirect3DRMDevice methods */ STDMETHOD(Init)(THIS_ ULONG width, ULONG height) PURE; STDMETHOD(InitFromD3D)(THIS_ LPDIRECT3D lpD3D, LPDIRECT3DDEVICE lpD3DDev) PURE; STDMETHOD(InitFromClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper, LPGUID lpGUID, 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#define INTERFACE IDirect3DRMViewportDECLARE_INTERFACE_(IDirect3DRMViewport, IDirect3DRMObject){ IUNKNOWN_METHODS(PURE); IDIRECT3DRMOBJECT_METHODS(PURE); /* * IDirect3DRMViewport methods */ STDMETHOD(Init) ( THIS_ LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMFRAME camera, DWORD xpos, DWORD ypos, DWORD width, DWORD height ) PURE; STDMETHOD(Clear)(THIS) PURE; STDMETHOD(Render)(THIS_ LPDIRECT3DRMFRAME) PURE; STDMETHOD(SetFront)(THIS_ D3DVALUE) PURE; STDMETHOD(SetBack)(THIS_ D3DVALUE) PURE; STDMETHOD(SetField)(THIS_ D3DVALUE) PURE; STDMETHOD(SetUniformScaling)(THIS_ BOOL) PURE; STDMETHOD(SetCamera)(THIS_ LPDIRECT3DRMFRAME) PURE; STDMETHOD(SetProjection)(THIS_ D3DRMPROJECTIONTYPE) PURE; STDMETHOD(Transform)(THIS_ D3DRMVECTOR4D *d, D3DVECTOR *s) PURE; STDMETHOD(InverseTransform)(THIS_ D3DVECTOR *d, D3DRMVECTOR4D *s) PURE; STDMETHOD(Configure)(THIS_ LONG x, LONG y, DWORD width, DWORD height) PURE; STDMETHOD(ForceUpdate)(THIS_ DWORD x1, DWORD y1, DWORD x2, DWORD y2) PURE; STDMETHOD(SetPlane)(THIS_ D3DVALUE left, D3DVALUE right, D3DVALUE bottom, D3DVALUE top) PURE; STDMETHOD(GetCamera)(THIS_ LPDIRECT3DRMFRAME *) PURE; STDMETHOD(GetDevice)(THIS_ LPDIRECT3DRMDEVICE *) PURE; STDMETHOD(GetPlane)(THIS_ D3DVALUE *left, D3DVALUE *right, D3DVALUE *bottom, D3DVALUE *top) PURE; STDMETHOD(Pick)(THIS_ LONG x, LONG y, LPDIRECT3DRMPICKEDARRAY *return_visuals) PURE; STDMETHOD_(BOOL, GetUniformScaling)(THIS) PURE; STDMETHOD_(LONG, GetX)(THIS) PURE; STDMETHOD_(LONG, GetY)(THIS) PURE; STDMETHOD_(DWORD, GetWidth)(THIS) PURE; STDMETHOD_(DWORD, GetHeight)(THIS) PURE; STDMETHOD_(D3DVALUE, GetField)(THIS) PURE; STDMETHOD_(D3DVALUE, GetBack)(THIS) PURE; STDMETHOD_(D3DVALUE, GetFront)(THIS) PURE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -