Ocular Engine
Common.hpp
1 
17 #pragma once
18 #ifndef __H__OCULAR_DEFINITIONS__H__
19 #define __H__OCULAR_DEFINITIONS__H__
20 
21 //------------------------------------------------------------------------------------------
22 // Macros
23 
24 //----------------------------------------------------
25 // Ocular Versions
26 
27 #define OCULAR_V0_1 "Ocular Engine v0.1"
28 #define OCULAR_V0_2 "Ocular Engine v0.2"
29 #define OCULAR_V0_3 "Ocular Engine v0.3"
30 #define OCULAR_V0_4 "Ocular Engine v0.4"
31 #define OCULAR_V0_5 "Ocular Engine v0.5"
32 #define OCULAR_V0_6 "Ocular Engine v0.6"
33 #define OCULAR_VERSION OCULAR_V0_6
34 
35 //----------------------------------------------------
36 // Operating Systems
37 
38 #if defined(_WIN16) || defined (_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(__TOS_WIN__) || defined(__WINDOWS__)
39 #define OCULAR_WINDOWS 1
40 #elif defined(__APPLE__) || defined(__MACH__)
41 #define OCULAR_OSX 1
42 #elif defined(__linux__)
43 #define OCULAR_LINUX 1
44 #endif
45 
46 #ifdef OCULAR_WINDOWS
47 #define OCULAR_PATH_SEPARATOR '\\'
48 #else
49 #define OCULAR_PATH_SEPARATOR '/'
50 #endif
51 
52 //------------------------------------------------------------------------------------------
53 // Other
54 //------------------------------------------------------------------------------------------
55 
56 // Amount of time, in MS, to allow for system message digestion and dispatching
57 #define OCULAR_SYS_MESSAGE_PROCESS_TIMEOUT 2
58 
59 // Memory display
60 #define BYTES_PER_TiB 1099511627776ull
61 #define BYTES_PER_GiB 1073741824ull
62 #define BYTES_PER_MiB 1048576ull
63 #define BYTES_PER_KiB 1024ull
64 
65 
66 //------------------------------------------------------------------------------------------
67 // Enums
68 //------------------------------------------------------------------------------------------
69 
70 namespace Ocular
71 {
72  enum class OperatingSystems : unsigned
73  {
74  Unknown = 0,
75  Windows,
76  MacOS,
77  Linux
78  };
79 
80  enum class ProcessorArchitectures : unsigned
81  {
82  Unknown = 0,
83  x86,
84  x64,
85  IA64,
86  ARM
87  };
88 
89  enum class Endianness : unsigned
90  {
91  Unknown = 0,
92  Big,
93  Little,
94  Native
95  };
96 
97  enum class OpenGLLevels : unsigned
98  {
99  Unknown = 0,
100  None
101  };
102 
103  enum class DirectXLevels : unsigned
104  {
105  Unknown = 0,
106  None
107  };
108 }
109 
110 //------------------------------------------------------------------------------------------
111 
112 #endif
Endianness
Definition: Common.hpp:89
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70
Native endianness of the system. See SystemInfo::getEndianness()