00001 /********************************************************************** 00002 *< 00003 FILE: ID3D9GraphicsWindow.h 00004 00005 DESCRIPTION: Direct3D 9.0 Graphics Window Extension Interface class 00006 00007 CREATED BY: Norbert Jeske 00008 00009 HISTORY: 00010 00011 *> Copyright (c) 2002, All Rights Reserved. 00012 **********************************************************************/ 00013 00014 #pragma once 00015 #include "baseinterface.h" 00016 #include "GraphicsTypes.h" 00017 #include <d3dx9.h> 00018 00019 #define D3D9_GRAPHICS_WINDOW_INTERFACE_ID Interface_ID(0x56424386, 0x2151b83) 00020 00021 class Mesh; 00022 00023 class ID3D9GraphicsWindow : public BaseInterface 00024 { 00025 public: 00026 virtual Interface_ID GetID() { return D3D9_GRAPHICS_WINDOW_INTERFACE_ID; } 00027 00028 // Interface Lifetime 00029 virtual LifetimeType LifetimeControl() { return noRelease; } 00030 00032 virtual LPDIRECT3DDEVICE9 GetDevice() = 0; 00033 00038 virtual LPDIRECT3DVERTEXBUFFER9 GetVertexBuffer(UINT length, DWORD FVF) = 0; 00039 00041 virtual LPDIRECT3DINDEXBUFFER9 GetIndexBuffer(UINT length, D3DFORMAT format) = 0; 00042 00044 virtual D3DXMATRIX GetWorldXform() = 0; 00045 virtual D3DXMATRIX GetViewXform() = 0; 00046 virtual D3DXMATRIX GetProjXform() = 0; 00047 00049 virtual D3DCOLOR GetColor(ColorType t) = 0; 00050 00053 virtual Tab<D3DLIGHT9 *> *GetLights() = 0; 00054 00056 virtual D3DMATERIAL9 GetMaterial() = 0; 00057 00059 virtual DWORD GetTextureTiling(int texStage, int coord) = 0; 00060 00062 virtual D3DXMATRIX GetTexXform(int texStage) = 0; 00063 00071 virtual void GetWindowDimension(int &width, int &height) = 0; 00072 00075 virtual BOOL IsAntiAliasingEnabled() = 0; 00076 }; 00077