IrrlichtEngine
SIrrCreationParameters.h
Go to the documentation of this file.
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