Irrlicht 3D Engine
SIrrCreationParameters.h
Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 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             DriverMultithreaded(false),
00047             UsePerformanceTimer(true),
00048             SDK_version_do_not_use(IRRLICHT_SDK_VERSION)
00049         {
00050         }
00051 
00052         SIrrlichtCreationParameters(const SIrrlichtCreationParameters& other) :
00053             SDK_version_do_not_use(IRRLICHT_SDK_VERSION)
00054         {*this = other;}
00055 
00056         SIrrlichtCreationParameters& operator=(const SIrrlichtCreationParameters& other)
00057         {
00058             DeviceType = other.DeviceType;
00059             DriverType = other.DriverType;
00060             WindowSize = other.WindowSize;
00061             Bits = other.Bits;
00062             ZBufferBits = other.ZBufferBits;
00063             Fullscreen = other.Fullscreen;
00064             Stencilbuffer = other.Stencilbuffer;
00065             Vsync = other.Vsync;
00066             AntiAlias = other.AntiAlias;
00067             HandleSRGB = other.HandleSRGB;
00068             WithAlphaChannel = other.WithAlphaChannel;
00069             Doublebuffer = other.Doublebuffer;
00070             IgnoreInput = other.IgnoreInput;
00071             Stereobuffer = other.Stereobuffer;
00072             HighPrecisionFPU = other.HighPrecisionFPU;
00073             EventReceiver = other.EventReceiver;
00074             WindowId = other.WindowId;
00075             LoggingLevel = other.LoggingLevel;
00076             DriverMultithreaded = other.DriverMultithreaded;
00077             DisplayAdapter = other.DisplayAdapter;
00078             UsePerformanceTimer = other.UsePerformanceTimer;
00079             return *this;
00080         }
00081 
00083 
00093         E_DEVICE_TYPE DeviceType;
00094 
00096 
00100         video::E_DRIVER_TYPE DriverType;
00101 
00103         core::dimension2d<u32> WindowSize;
00104 
00106         u8 Bits;
00107 
00109         u8 ZBufferBits;
00110 
00112 
00113         bool Fullscreen;
00114 
00116 
00121         bool Stencilbuffer;
00122 
00124 
00127         bool Vsync;
00128 
00130 
00145         u8 AntiAlias;
00146 
00148 
00160         bool HandleSRGB;
00161 
00163 
00171         bool WithAlphaChannel;
00172 
00174 
00179         bool Doublebuffer;
00180 
00182 
00186         bool IgnoreInput;
00187 
00189 
00194         bool Stereobuffer;
00195 
00197 
00203         bool HighPrecisionFPU;
00204 
00206         IEventReceiver* EventReceiver;
00207 
00209 
00259         void* WindowId;
00260 
00262 
00267         ELOG_LEVEL LoggingLevel;
00268 
00270 
00271         u32 DisplayAdapter;
00272 
00274 
00277         bool DriverMultithreaded;
00278 
00280 
00284         bool UsePerformanceTimer;
00285 
00287 
00289         const c8* const SDK_version_do_not_use;
00290     };
00291 
00292 
00293 } // end namespace irr
00294 
00295 #endif
00296