source: OGRE/trunk/ogrenew/RenderSystems/Direct3D9/include/OgreD3D9Driver.h @ 657

Revision 657, 2.7 KB checked in by mattausch, 18 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1/*
2-----------------------------------------------------------------------------
3This source file is part of OGRE
4    (Object-oriented Graphics Rendering Engine)
5For the latest info, see http://www.ogre3d.org/
6
7Copyright (c) 2000-2005 The OGRE Team
8Also see acknowledgements in Readme.html
9
10This program is free software; you can redistribute it and/or modify it under
11the terms of the GNU Lesser General Public License as published by the Free Software
12Foundation; either version 2 of the License, or (at your option) any later
13version.
14
15This program is distributed in the hope that it will be useful, but WITHOUT
16ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
19You should have received a copy of the GNU Lesser General Public License along with
20this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22http://www.gnu.org/copyleft/lesser.txt.
23-----------------------------------------------------------------------------
24*/
25#ifndef __D3D9DRIVER_H__
26#define __D3D9DRIVER_H__
27
28#include "OgreD3D9Prerequisites.h"
29#include "OgreString.h"
30
31#include "OgreNoMemoryMacros.h"
32#include <d3d9.h>
33#include <d3dx9.h>
34#include <dxerr9.h>
35#include "OgreMemoryMacros.h"
36
37namespace Ogre
38{
39        static unsigned int driverCount = 0;
40
41        class D3D9VideoModeList;
42        class D3D9VideoMode;
43
44        class D3D9Driver
45        {
46        private:
47                LPDIRECT3D9 mpD3D;
48                // D3D only allows one device per adapter, so it can safely be stored
49                // here as well.
50                LPDIRECT3DDEVICE9 mpD3DDevice;
51                unsigned int mAdapterNumber;
52                D3DADAPTER_IDENTIFIER9 mAdapterIdentifier;
53                D3DDISPLAYMODE mDesktopDisplayMode;
54                D3D9VideoModeList* mpVideoModeList;
55                unsigned int tempNo;
56
57        public:
58                // Constructors
59                D3D9Driver();                                           // Default
60                D3D9Driver( const D3D9Driver &ob );     // Copy
61                D3D9Driver( LPDIRECT3D9 pD3D, unsigned int adapterNumber, const D3DADAPTER_IDENTIFIER9& adapterIdentifer, const D3DDISPLAYMODE& desktopDisplayMode );
62                ~D3D9Driver();
63
64                // Information accessors
65                String DriverName() const;
66                String DriverDescription() const;
67
68                LPDIRECT3D9 getD3D() { return mpD3D; }
69                // return the device
70                LPDIRECT3DDEVICE9 getD3DDevice() { return mpD3DDevice; }
71                // change the device
72                void setD3DDevice(LPDIRECT3DDEVICE9 pD3DDevice) { mpD3DDevice = pD3DDevice; }
73                unsigned int getAdapterNumber() const { return mAdapterNumber; }
74                const D3DADAPTER_IDENTIFIER9& getAdapterIdentifier() const { return mAdapterIdentifier; }
75                const D3DDISPLAYMODE& getDesktopMode() const { return mDesktopDisplayMode; }
76
77                D3D9VideoModeList* getVideoModeList();
78        };
79}
80#endif
Note: See TracBrowser for help on using the repository browser.