id3d9graphicswindow.h

Go to the documentation of this file.
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