tge/lib/maxsdk70/include/id3dgraphicswindow.h
2017-04-17 06:17:10 -06:00

64 lines
1.8 KiB
C++
Executable File

/**********************************************************************
*<
FILE: ID3DGraphicsWindow.h
DESCRIPTION: Direct3D 8.1 Graphics Window Extension Interface class
CREATED BY: Norbert Jeske
HISTORY:
*> Copyright (c) 2000 - 2002, All Rights Reserved.
**********************************************************************/
#ifndef _D3D_GRAPHICS_WINDOW_H_
#define _D3D_GRAPHICS_WINDOW_H_
#include <d3dx8.h>
#define D3D_GRAPHICS_WINDOW_INTERFACE_ID Interface_ID(0x681121c4, 0x6e9a797d)
class Mesh;
class ID3DGraphicsWindow : public BaseInterface
{
public:
virtual Interface_ID GetID() { return D3D_GRAPHICS_WINDOW_INTERFACE_ID; }
// Interface Lifetime
virtual LifetimeType LifetimeControl() { return noRelease; }
// Get Direct3D Device from GFX
virtual LPDIRECT3DDEVICE8 GetDevice() = 0;
// Get VertexBuffer from GFX. Unless older Flexible Vertex Formats are in
// use, FVF should be zero.
virtual LPDIRECT3DVERTEXBUFFER8 GetVertexBuffer(UINT length, DWORD FVF) = 0;
// Get IndexBuffer from GFX
virtual LPDIRECT3DINDEXBUFFER8 GetIndexBuffer(UINT length, D3DFORMAT format) = 0;
// Get Transforms from GFX
virtual D3DXMATRIX GetWorldXform() = 0;
virtual D3DXMATRIX GetViewXform() = 0;
virtual D3DXMATRIX GetProjXform() = 0;
// Get Constant Color of specified type from GFX
virtual D3DCOLOR GetColor(ColorType t) = 0;
// Get a pointer to a 'Tab' table array of pointers to enabled Direct3D
// Lights from GFX
virtual Tab<D3DLIGHT8 *> *GetLights() = 0;
// Get Material from GFX
virtual D3DMATERIAL8 GetMaterial() = 0;
// Get Texture Tiling for specified texStage and texCoord from GFX
virtual DWORD GetTextureTiling(int texStage, int coord) = 0;
// Get Texture Transfrom for specified texStage from GFX
virtual D3DXMATRIX GetTexXform(int texStage) = 0;
};
#endif