1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #include <nel/misc/system_info.h>
43 bool operator== (const CVideoMode
&o
)
45 if ((o
.width
== width
) && (o
.height
== height
) && (o
.depth
== depth
) && (o
.frequency
== frequency
))
53 @brief Singleton class that holds the system information, configs, etc
61 static CSystem
&GetInstance()
63 static CSystem sInstance
;
69 std::string videoDevice
;
70 std::string videoDriverVersion
;
82 std::string driverVersion
;
83 std::vector
< CVideoMode
> modes
;
92 std::string driverVersion
;
93 std::string extensions
;
94 std::vector
< CVideoMode
> modes
;
101 void GatherSysInfo();
103 void GatherD3DInfo();
105 void GatherOpenGLInfo();
107 void GetVideoModes(std::vector
<CVideoMode
> &dst
, NL3D::IDriver
*driver
) const;
109 static bool parseDriverVersion(const std::string
&device
, uint64 driver
, std::string
&version
);