]> git.lizzy.rs Git - irrlicht.git/blob - include/driverChoice.h
Fix COSOperator::getSystemMemory
[irrlicht.git] / include / driverChoice.h
1 // Copyright (C) 2009-2012 Christian Stehno\r
2 // This file is part of the "Irrlicht Engine".\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h\r
4 \r
5 #ifndef __E_DRIVER_CHOICE_H_INCLUDED__\r
6 #define __E_DRIVER_CHOICE_H_INCLUDED__\r
7 \r
8 #include <iostream>\r
9 #include <cstdio>\r
10 #include "EDriverTypes.h"\r
11 #include "IrrlichtDevice.h"\r
12 \r
13 namespace irr\r
14 {\r
15     \r
16     //! ask user for driver\r
17     static irr::video::E_DRIVER_TYPE driverChoiceConsole(bool allDrivers=false)\r
18     {\r
19 #if defined (_IRR_IPHONE_PLATFORM_) || defined (_IRR_ANDROID_PLATFORM_)\r
20         return irr::video::EDT_OGLES2;\r
21 #else\r
22         printf("Please select the driver you want:\n");\r
23         irr::u32 i=0;\r
24         char c  = 'a';\r
25         \r
26         for (i=irr::video::EDT_COUNT; i>0; --i)\r
27         {\r
28             if ( allDrivers || irr::IrrlichtDevice::isDriverSupported(irr::video::E_DRIVER_TYPE(i-1)) )\r
29             {\r
30                 printf(" (%c) %s\n", c, irr::video::DRIVER_TYPE_NAMES[i-1]);\r
31                                 ++c;\r
32             }\r
33         }\r
34 \r
35                 char userSelection;\r
36         std::cin >> userSelection;\r
37         c = 'a';\r
38         \r
39         for (i=irr::video::EDT_COUNT; i>0; --i)\r
40         {\r
41                         if ( allDrivers || irr::IrrlichtDevice::isDriverSupported(irr::video::E_DRIVER_TYPE(i-1)) )\r
42                         {\r
43                                 if (userSelection == c)\r
44                                         return irr::video::E_DRIVER_TYPE(i-1);\r
45                                 ++c;\r
46                         }\r
47         }\r
48 \r
49         return irr::video::EDT_COUNT;\r
50 #endif\r
51     }\r
52     \r
53 } // end namespace irr\r
54 \r
55 #endif\r