Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials |
00001 // Copyright (C) 2002-2010 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 00250 virtual void clearSystemMessages() = 0; 00251 00253 00255 virtual E_DEVICE_TYPE getType() const = 0; 00256 00258 00260 static bool isDriverSupported(video::E_DRIVER_TYPE driver) 00261 { 00262 switch (driver) 00263 { 00264 case video::EDT_NULL: 00265 return true; 00266 case video::EDT_SOFTWARE: 00267 #ifdef _IRR_COMPILE_WITH_SOFTWARE_ 00268 return true; 00269 #else 00270 return false; 00271 #endif 00272 case video::EDT_BURNINGSVIDEO: 00273 #ifdef _IRR_COMPILE_WITH_BURNINGSVIDEO_ 00274 return true; 00275 #else 00276 return false; 00277 #endif 00278 case video::EDT_DIRECT3D8: 00279 #ifdef _IRR_COMPILE_WITH_DIRECT3D_8_ 00280 return true; 00281 #else 00282 return false; 00283 #endif 00284 case video::EDT_DIRECT3D9: 00285 #ifdef _IRR_COMPILE_WITH_DIRECT3D_9_ 00286 return true; 00287 #else 00288 return false; 00289 #endif 00290 case video::EDT_OPENGL: 00291 #ifdef _IRR_COMPILE_WITH_OPENGL_ 00292 return true; 00293 #else 00294 return false; 00295 #endif 00296 default: 00297 return false; 00298 } 00299 } 00300 }; 00301 00302 } // end namespace irr 00303 00304 #endif 00305
The Irrlicht
Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated
on Sun Oct 24 12:41:57 2010 by Doxygen
(1.6.2) |