5#ifndef __I_IRRLICHT_DEVICE_H_INCLUDED__
6#define __I_IRRLICHT_DEVICE_H_INCLUDED__
30 class IGUIEnvironment;
72 virtual bool run() = 0;
84 virtual void sleep(
u32 timeMs,
bool pauseTimer=
false) = 0;
251 f32 relativebrightness,
f32 relativecontrast) =0;
255 f32 &brightness,
f32 &contrast) =0;
284#ifdef _IRR_COMPILE_WITH_SOFTWARE_
290#ifdef _IRR_COMPILE_WITH_BURNINGSVIDEO_
296#ifdef _IRR_COMPILE_WITH_DIRECT3D_8_
302#ifdef _IRR_COMPILE_WITH_DIRECT3D_9_
308#ifdef _IRR_COMPILE_WITH_OPENGL_
Interface of an object which can receive events.
Interface for logging messages, warnings and errors.
The Operating system operator provides operation system specific methods and informations.
Interface for generating random numbers.
Base class of most objects of the Irrlicht Engine.
Interface for getting and manipulating the virtual time.
The Irrlicht device. You can create it with createDevice() or createDeviceEx().
virtual bool run()=0
Runs the device.
virtual void closeDevice()=0
Notifies the device that it should close itself.
virtual IEventReceiver * getEventReceiver()=0
Provides access to the current event receiver.
virtual void setInputReceivingSceneManager(scene::ISceneManager *sceneManager)=0
Sets the input receiving scene manager.
virtual void minimizeWindow()=0
Minimizes the window if possible.
virtual void maximizeWindow()=0
Maximizes the window if possible.
virtual E_DEVICE_TYPE getType() const =0
Get the type of the device.
virtual ILogger * getLogger()=0
Provides access to the message logger.
virtual bool getGammaRamp(f32 &red, f32 &green, f32 &blue, f32 &brightness, f32 &contrast)=0
Get the current Gamma Value for the Display.
virtual IRandomizer * getRandomizer() const =0
Provides access to the engine's currently set randomizer.
virtual void setWindowCaption(const wchar_t *text)=0
Sets the caption of the window.
virtual gui::ICursorControl * getCursorControl()=0
Provides access to the cursor control.
virtual bool isFullscreen() const =0
Checks if the Irrlicht window is running in fullscreen mode.
virtual void setResizable(bool resize=false)=0
Sets if the window should be resizable in windowed mode.
virtual void restoreWindow()=0
Restore the window to normal size if possible.
static bool isDriverSupported(video::E_DRIVER_TYPE driver)
Check if a driver type is supported by the engine.
virtual bool isWindowMinimized() const =0
Checks if the Irrlicht window is minimized.
virtual void yield()=0
Cause the device to temporarily pause execution and let other processes run.
virtual scene::ISceneManager * getSceneManager()=0
Provides access to the scene manager.
virtual void sleep(u32 timeMs, bool pauseTimer=false)=0
Pause execution and let other processes to run for a specified amount of time.
virtual ITimer * getTimer()=0
Provides access to the engine's timer.
virtual bool isWindowFocused() const =0
Checks if the Irrlicht window has the input focus.
virtual video::ECOLOR_FORMAT getColorFormat() const =0
Get the current color format of the window.
virtual void clearSystemMessages()=0
Remove messages pending in the system message loop.
virtual bool setGammaRamp(f32 red, f32 green, f32 blue, f32 relativebrightness, f32 relativecontrast)=0
Set the current Gamma Value for the Display.
virtual IOSOperator * getOSOperator()=0
Provides access to the operation system operator object.
virtual IRandomizer * createDefaultRandomizer() const =0
Creates a new default randomizer.
virtual video::IVideoModeList * getVideoModeList()=0
Gets a list with all video modes available.
virtual bool isWindowActive() const =0
Returns if the window is active.
virtual void setEventReceiver(IEventReceiver *receiver)=0
Sets a new user event receiver which will receive events from the engine.
virtual bool postEventFromUser(const SEvent &event)=0
Sends a user created event to the engine.
virtual video::IVideoDriver * getVideoDriver()=0
Provides access to the video driver for drawing 3d and 2d geometry.
virtual gui::IGUIEnvironment * getGUIEnvironment()=0
Provides access to the 2d user interface environment.
virtual io::IFileSystem * getFileSystem()=0
Provides access to the virtual file system.
virtual bool activateJoysticks(core::array< SJoystickInfo > &joystickInfo)=0
Activate any joysticks, and generate events for them.
virtual const c8 * getVersion() const =0
Get the version of the engine.
virtual void setRandomizer(IRandomizer *r)=0
Sets a new randomizer.
Axis aligned bounding box in 3d dimensional space.
Interface to manipulate the mouse cursor.
GUI Environment. Used as factory and manager of all other GUI elements.
The FileSystem manages files and archives and provides access to them.
The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.
Interface to driver which is able to perform 2d and 3d graphics functions.
A list of all available video modes.
ECOLOR_FORMAT
An enum for the color format of textures used by the Irrlicht Engine.
E_DRIVER_TYPE
An enum for all types of drivers the Irrlicht Engine supports.
@ EDT_SOFTWARE
The Irrlicht Engine Software renderer.
@ EDT_OPENGL
OpenGL device, available on most platforms.
@ EDT_DIRECT3D9
Direct3D 9 device, only available on Win32 platforms.
@ EDT_DIRECT3D8
Direct3D8 device, only available on Win32 platforms.
@ EDT_NULL
Null driver, useful for applications to run the engine without visualisation.
@ EDT_BURNINGSVIDEO
The Burning's Software Renderer, an alternative software renderer.
Everything in the Irrlicht Engine can be found in this namespace.
float f32
32 bit floating point variable.
unsigned int u32
32 bit unsigned variable.
char c8
8 bit character variable.
E_DEVICE_TYPE
An enum for the different device types supported by the Irrlicht Engine.
SEvents hold information about an event. See irr::IEventReceiver for details on event handling.