Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/RenderSystems/Direct3D9/src/OgreD3D9Driver.cpp @ 3

Last change on this file since 3 was 3, checked in by anonymous, 17 years ago

=update

File size: 2.9 KB
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-2006 Torus Knot Software Ltd
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
24You may alternatively use this source under the terms of a specific version of
25the OGRE Unrestricted License provided you have obtained such a license from
26Torus Knot Software Ltd.
27-----------------------------------------------------------------------------
28*/
29#include "OgreD3D9Driver.h"
30#include "OgreD3D9VideoModeList.h"
31#include "OgreD3D9VideoMode.h"
32
33namespace Ogre
34{
35    unsigned int D3D9Driver::driverCount = 0;
36
37        D3D9Driver::D3D9Driver()
38        {
39                tempNo = ++driverCount;
40                mpD3D = NULL;
41                // initialise device member
42                mpD3DDevice = NULL;
43                ZeroMemory( &mAdapterIdentifier, sizeof(mAdapterIdentifier) );
44                ZeroMemory( &mDesktopDisplayMode, sizeof(mDesktopDisplayMode) );
45                mpVideoModeList = NULL;
46        }
47
48        D3D9Driver::D3D9Driver( const D3D9Driver &ob )
49        {
50                tempNo = ++driverCount;
51                mpD3D = ob.mpD3D;
52                // copy device member
53                mpD3DDevice = ob.mpD3DDevice;
54                mAdapterNumber = ob.mAdapterNumber;
55                mAdapterIdentifier = ob.mAdapterIdentifier;
56                mDesktopDisplayMode = ob.mDesktopDisplayMode;
57                mpVideoModeList = NULL;
58        }
59
60        D3D9Driver::D3D9Driver( LPDIRECT3D9 pD3D, unsigned int adapterNumber, const D3DADAPTER_IDENTIFIER9& adapterIdentifier, const D3DDISPLAYMODE& desktopDisplayMode )
61        {
62                tempNo = ++driverCount;
63                mpD3D = pD3D;
64                // initialise device member
65                mpD3DDevice = NULL;
66                mAdapterNumber = adapterNumber;
67                mAdapterIdentifier = adapterIdentifier;
68                mDesktopDisplayMode = desktopDisplayMode;
69                mpVideoModeList = NULL;
70        }
71
72        D3D9Driver::~D3D9Driver()
73        {
74                SAFE_DELETE( mpVideoModeList );
75                driverCount--;
76        }
77
78        String D3D9Driver::DriverName() const
79        {
80                return String(mAdapterIdentifier.Driver);
81        }
82
83        String D3D9Driver::DriverDescription() const
84        {
85        String driverDescription(mAdapterIdentifier.Description);
86        StringUtil::trim(driverDescription);
87
88        return  driverDescription;
89        }
90
91        D3D9VideoModeList* D3D9Driver::getVideoModeList()
92        {
93                if( !mpVideoModeList )
94                        mpVideoModeList = new D3D9VideoModeList( this );
95
96                return mpVideoModeList;
97        }
98}
Note: See TracBrowser for help on using the repository browser.