Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# IrrlichtDevice.h

Go to the documentation of this file.

    00001 // Copyright (C) 2002-2009 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_DEVICE_H_INCLUDED__
    00006 #define __I_IRRLICHT_DEVICE_H_INCLUDED__
    00007
    00008 #include "IReferenceCounted.h"
    00009 #include "dimension2d.h"
    00010 #include "IVideoDriver.h"
    00011 #include "EDriverTypes.h"
    00012 #include "EDeviceTypes.h"
    00013 #include "IEventReceiver.h"
    00014 #include "ICursorControl.h"
    00015 #include "IVideoModeList.h"
    00016 #include "ITimer.h"
    00017 #include "IOSOperator.h"
    00018
    00019 namespace irr
    00020 {
    00021         class ILogger;
    00022         class IEventReceiver;
    00023
    00024         namespace io {
    00025                 class IFileSystem;
    00026         } // end namespace io
    00027
    00028         namespace gui {
    00029                 class IGUIEnvironment;
    00030         } // end namespace gui
    00031
    00032         namespace scene {
    00033                 class ISceneManager;
    00034         } // end namespace scene
    00035
    00037
    00042         class IrrlichtDevice : public virtual IReferenceCounted
    00043         {
    00044         public:
    00045
    00047
    00071                 virtual bool run() = 0;
    00072
    00074
    00076                 virtual void yield() = 0;
    00077
    00079
    00083                 virtual void sleep(u32 timeMs, bool pauseTimer=false) = 0;
    00084
    00086
    00087                 virtual video::IVideoDriver* getVideoDriver() = 0;
    00088
    00090
    00091                 virtual io::IFileSystem* getFileSystem() = 0;
    00092
    00094
    00095                 virtual gui::IGUIEnvironment* getGUIEnvironment() = 0;
    00096
    00098
    00099                 virtual scene::ISceneManager* getSceneManager() = 0;
    00100
    00102
    00103                 virtual gui::ICursorControl* getCursorControl() = 0;
    00104
    00106
    00107                 virtual ILogger* getLogger() = 0;
    00108
    00110
    00118                 virtual video::IVideoModeList* getVideoModeList() = 0;
    00119
    00121
    00126                 virtual IOSOperator* getOSOperator() = 0;
    00127
    00129
    00132                 virtual ITimer* getTimer() = 0;
    00133
    00135
    00136                 virtual void setWindowCaption(const wchar_t* text) = 0;
    00137
    00139
    00154                 virtual bool isWindowActive() const = 0;
    00155
    00157
    00158                 virtual bool isWindowFocused() const = 0;
    00159
    00161
    00162                 virtual bool isWindowMinimized() const = 0;
    00163
    00165
    00166                 virtual bool isFullscreen() const = 0;
    00167
    00169
    00170                 virtual video::ECOLOR_FORMAT getColorFormat() const = 0;
    00171
    00173
    00174                 virtual void closeDevice() = 0;
    00175
    00177
    00180                 virtual const c8* getVersion() const = 0;
    00181
    00183
    00187                 virtual void setEventReceiver(IEventReceiver* receiver) = 0;
    00188
    00190
    00191                 virtual IEventReceiver* getEventReceiver() = 0;
    00192
    00194
    00199                 virtual bool postEventFromUser(const SEvent& event) = 0;
    00200
    00202
    00205                 virtual void setInputReceivingSceneManager(scene::ISceneManager* sceneManager) = 0;
    00206
    00208
    00211                 virtual void setResizable(bool resize=false) = 0;
    00212
    00214                 virtual void minimizeWindow() =0;
    00215
    00217                 virtual void maximizeWindow() =0;
    00218
    00220                 virtual void restoreWindow() =0;
    00221
    00223
    00230                 virtual bool activateJoysticks(core::array<SJoystickInfo>& joystickInfo) =0;
    00231
    00233                 virtual bool setGammaRamp(f32 red, f32 green, f32 blue,
    00234                                         f32 relativebrightness, f32 relativecontrast) =0;
    00235
    00237                 virtual bool getGammaRamp(f32 &red, f32 &green, f32 &blue,
    00238                                         f32 &brightness, f32 &contrast) =0;
    00239
    00241
    00243                 virtual E_DEVICE_TYPE getType() const = 0;
    00244
    00246
    00248                 static bool isDriverSupported(video::E_DRIVER_TYPE driver)
    00249                 {
    00250                         switch (driver)
    00251                         {
    00252                                 case video::EDT_NULL:
    00253                                         return true;
    00254                                 case video::EDT_SOFTWARE:
    00255 #ifdef _IRR_COMPILE_WITH_SOFTWARE_
    00256                                         return true;
    00257 #else
    00258                                         return false;
    00259 #endif
    00260                                 case video::EDT_BURNINGSVIDEO:
    00261 #ifdef _IRR_COMPILE_WITH_BURNINGSVIDEO_
    00262                                         return true;
    00263 #else
    00264                                         return false;
    00265 #endif
    00266                                 case video::EDT_DIRECT3D8:
    00267 #ifdef _IRR_COMPILE_WITH_DIRECT3D_8_
    00268                                         return true;
    00269 #else
    00270                                         return false;
    00271 #endif
    00272                                 case video::EDT_DIRECT3D9:
    00273 #ifdef _IRR_COMPILE_WITH_DIRECT3D_9_
    00274                                         return true;
    00275 #else
    00276                                         return false;
    00277 #endif
    00278                                 case video::EDT_OPENGL:
    00279 #ifdef _IRR_COMPILE_WITH_OPENGL_
    00280                                         return true;
    00281 #else
    00282                                         return false;
    00283 #endif
    00284                                 default:
    00285                                         return false;
    00286                         }
    00287                 }
    00288         };
    00289
    00290 } // end namespace irr
    00291
    00292 #endif
    00293

| The Irrlicht Engine Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:04 2010 by Doxygen (1.5.6)