|
IrrlichtEngine
|
00001 // Copyright (C) 2002-2011 Nikolaus Gebhardt 00002 // This file is part of the "Irrlicht Engine". 00003 // For conditions of distribution and use, see copyright notice in irrlicht.h 00004 00005 #ifndef __I_IRRLICHT_CREATION_PARAMETERS_H_INCLUDED__ 00006 #define __I_IRRLICHT_CREATION_PARAMETERS_H_INCLUDED__ 00007 00008 #include "EDriverTypes.h" 00009 #include "EDeviceTypes.h" 00010 #include "dimension2d.h" 00011 #include "ILogger.h" 00012 00013 namespace irr 00014 { 00015 class IEventReceiver; 00016 00018 00019 struct SIrrlichtCreationParameters 00020 { 00022 SIrrlichtCreationParameters() : 00023 DeviceType(EIDT_BEST), 00024 DriverType(video::EDT_BURNINGSVIDEO), 00025 WindowSize(core::dimension2d<u32>(800, 600)), 00026 Bits(16), 00027 ZBufferBits(16), 00028 Fullscreen(false), 00029 Stencilbuffer(false), 00030 Vsync(false), 00031 AntiAlias(0), 00032 HandleSRGB(false), 00033 WithAlphaChannel(false), 00034 Doublebuffer(true), 00035 IgnoreInput(false), 00036 Stereobuffer(false), 00037 HighPrecisionFPU(false), 00038 EventReceiver(0), 00039 WindowId(0), 00040 #ifdef _DEBUG 00041 LoggingLevel(ELL_DEBUG), 00042 #else 00043 LoggingLevel(ELL_INFORMATION), 00044 #endif 00045 DisplayAdapter(0), 00046 UsePerformanceTimer(true), 00047 SDK_version_do_not_use(IRRLICHT_SDK_VERSION) 00048 { 00049 } 00050 00051 SIrrlichtCreationParameters(const SIrrlichtCreationParameters& other) : 00052 SDK_version_do_not_use(IRRLICHT_SDK_VERSION) 00053 {*this = other;} 00054 00055 SIrrlichtCreationParameters& operator=(const SIrrlichtCreationParameters& other) 00056 { 00057 DeviceType = other.DeviceType; 00058 DriverType = other.DriverType; 00059 WindowSize = other.WindowSize; 00060 Bits = other.Bits; 00061 ZBufferBits = other.ZBufferBits; 00062 Fullscreen = other.Fullscreen; 00063 Stencilbuffer = other.Stencilbuffer; 00064 Vsync = other.Vsync; 00065 AntiAlias = other.AntiAlias; 00066 HandleSRGB = other.HandleSRGB; 00067 WithAlphaChannel = other.WithAlphaChannel; 00068 Doublebuffer = other.Doublebuffer; 00069 IgnoreInput = other.IgnoreInput; 00070 Stereobuffer = other.Stereobuffer; 00071 HighPrecisionFPU = other.HighPrecisionFPU; 00072 EventReceiver = other.EventReceiver; 00073 WindowId = other.WindowId; 00074 LoggingLevel = other.LoggingLevel; 00075 DisplayAdapter = other.DisplayAdapter; 00076 UsePerformanceTimer = other.UsePerformanceTimer; 00077 return *this; 00078 } 00079 00081 00091 E_DEVICE_TYPE DeviceType; 00092 00094 00098 video::E_DRIVER_TYPE DriverType; 00099 00101 core::dimension2d<u32> WindowSize; 00102 00104 u8 Bits; 00105 00107 u8 ZBufferBits; 00108 00110 00111 bool Fullscreen; 00112 00114 00119 bool Stencilbuffer; 00120 00122 00125 bool Vsync; 00126 00128 00143 u8 AntiAlias; 00144 00146 00158 bool HandleSRGB; 00159 00161 00169 bool WithAlphaChannel; 00170 00172 00177 bool Doublebuffer; 00178 00180 00184 bool IgnoreInput; 00185 00187 00192 bool Stereobuffer; 00193 00195 00201 bool HighPrecisionFPU; 00202 00204 IEventReceiver* EventReceiver; 00205 00207 00257 void* WindowId; 00258 00260 00265 ELOG_LEVEL LoggingLevel; 00266 00268 00269 u32 DisplayAdapter; 00270 00272 00276 bool UsePerformanceTimer; 00277 00279 00281 const c8* const SDK_version_do_not_use; 00282 }; 00283 00284 00285 } // end namespace irr 00286 00287 #endif 00288