IrrIMGUI  0.3.1
Modules | Namespaces | Classes
IrrIMGUI

An Irrlicht IMGUI binding. More...

Collaboration diagram for IrrIMGUI:

Modules

 Private
 Private definitions for Irrlicht IMGUI bindings, do not use them outside, the interface may change a lot of times!
 
 Inject
 Definitions for dependency injection.
 
 Debug
 Contains classes for debug purpose.
 
 Tools
 Miscellaneous tools, that are not necessarily related to IMGUI or Irrlicht.
 
 UnitTest
 Unit test related definitions.
 

Namespaces

 IrrIMGUI
 Main namespace for Irrlicht IMGUI binding.
 
 IrrIMGUI::Const
 Contains constant values for IrrIMGUI:
 

Classes

class  IrrIMGUI::CCharFifo
 A Fifo Memory to store character inputs from the keyboard. More...
 
class  IrrIMGUI::CIMGUIEventReceiver
 
class  IrrIMGUI::CIMGUIEventStorage
 Stores the state of the Keyboard and Mouse input for IMGUI. More...
 
class  IrrIMGUI::IGUITexture
 
class  IrrIMGUI::IIMGUIHandle
 A interface to an IMGUI handle. Use this interface for mocking and dependency injection of the real IMGUI handle. More...
 
class  IrrIMGUI::IReferenceCounter
 A class to count references. More...
 
struct  IrrIMGUI::SIMGUISettings
 Stores the settings of the IMGUI. More...
 

Configuration defines

#define _IRRIMGUI_STATIC_LIB_
 If this is defined during compilation, it will prepare the source for a static library. More...
 
#define _IRRIMGUI_EXPORTS_
 If this is defined during compilation, it will prepare the headers to export the symbols to the DLL shared libary. More...
 
#define _IRRIMGUI_SUBDIR_IRRLICHT_INCLUDE_
 If this is defined during compilation, it will include irrlicht library from with <Irrlicht/irrlicht.h> instead of <irrlicht.h> More...
 
#define _IRRIMGUI_NATIVE_OPENGL_
 If this is defined during compilation, it will use the native OpenGL renderer for IMGUI instead of the Irrlicht renderer. More...
 
#define _IRRIMGUI_FAST_OPENGL_TEXTURE_HANDLE_
 If this define is during compilation the OpenGL driver will assume the memory location where the OpenGL texture ID is stored inside an ITexture object. This is very fast, but with new Irrlicht versions this method could fail. Disable it, when the Example 6 (RenderWindow) does not work correctly. More...
 

Automatically set defines

#define _IRRIMGUI_WINDOWS_
 Is automatically defined, if a windows target is detected at compile step. More...
 
#define IRRIMGUI_DLL_API
 Helper for shared windows libraries (DLL). More...
 
#define IRRIMGUI_DLL_API
 Helper for shared windows libraries (DLL). More...
 
#define IMGUI_API
 Helper for IMGUI shared windows libraries (DLL). More...
 
#define NOEXCEPT
 Not all modern compilers support the C++11 keyword noexcept. Thus this macro is empty for oder MSVC versions than 2015. For MingW, GCC, CLang or MSVC2015 (or higher versions) this macro contains the keyword noexcept. More...
 
#define NOEXCEPT   noexcept
 Not all modern compilers support the C++11 keyword noexcept. Thus this macro is empty for oder MSVC versions than 2015. For MingW, GCC, CLang or MSVC2015 (or higher versions) this macro contains the keyword noexcept. More...
 
#define IRRIMGUI_CONFIG_SIZEOF_FROM_CLASSMEMBER
 This is defined if the compiler supports a sizeof from non-static class members (C++11 feature) More...
 
#define IRRIMGUI_CONFIG_SIZEOF_FROM_CLASSMEMBER   1
 This is defined if the compiler supports a sizeof from non-static class members (C++11 feature) More...
 

Detailed Description

An Irrlicht IMGUI binding.

There are two main classes to use as an interface between Irrlicht and IMGUI:

If you need an own event receiver, you can simply inherit from IrrIMGUI::CIMGUIEventReceiver. In the OnEevent method you can trigger your own actions according to the events. When no actions fits to the event you received, simply pass it to the OnEvent method from IrrIMGUI::CIMGUIEventReceiver class.

bool OnEvent(const irr::SEvent & rEvent)
{
// do your own stuff with rEvent
// when rEvent has not been consumed by your game logic pass it to the CIMGUIEventReceiver class
return CIMGUIEventReceiver::OnEvent(rEvent);
}

If you need to be more flexible by programming the event receiver, you can create a completely own event receiver, that is inherited from IrrIMGUI::CIMGUIEventStorage Here you need to set the attributes of IrrIMGUI::CIMGUIEventStorage manually to pass input informations to the IMGUI system.

Macro Definition Documentation

#define _IRRIMGUI_EXPORTS_

If this is defined during compilation, it will prepare the headers to export the symbols to the DLL shared libary.

Note
Windows only!

Definition at line 49 of file IrrIMGUIConfig.h.

#define _IRRIMGUI_FAST_OPENGL_TEXTURE_HANDLE_

If this define is during compilation the OpenGL driver will assume the memory location where the OpenGL texture ID is stored inside an ITexture object. This is very fast, but with new Irrlicht versions this method could fail. Disable it, when the Example 6 (RenderWindow) does not work correctly.

Definition at line 61 of file IrrIMGUIConfig.h.

#define _IRRIMGUI_NATIVE_OPENGL_

If this is defined during compilation, it will use the native OpenGL renderer for IMGUI instead of the Irrlicht renderer.

Attention
This is only a fallback solution for testing. It is not officially supported by this lib!

Definition at line 56 of file IrrIMGUIConfig.h.

#define _IRRIMGUI_STATIC_LIB_

If this is defined during compilation, it will prepare the source for a static library.

Definition at line 45 of file IrrIMGUIConfig.h.

#define _IRRIMGUI_SUBDIR_IRRLICHT_INCLUDE_

If this is defined during compilation, it will include irrlicht library from with <Irrlicht/irrlicht.h> instead of <irrlicht.h>

Definition at line 52 of file IrrIMGUIConfig.h.

#define _IRRIMGUI_WINDOWS_

Is automatically defined, if a windows target is detected at compile step.

Definition at line 69 of file IrrIMGUIConfig.h.

#define IMGUI_API

Helper for IMGUI shared windows libraries (DLL).

  • It is set to export symbols during DLL compilation.
  • It is set to import symbols during application compilation (where the DLL is used for linking later).
  • It is empty during static library compilation

Definition at line 83 of file IrrIMGUIConfig.h.

#define IRRIMGUI_CONFIG_SIZEOF_FROM_CLASSMEMBER

This is defined if the compiler supports a sizeof from non-static class members (C++11 feature)

Definition at line 194 of file IrrIMGUIConfig.h.

#define IRRIMGUI_CONFIG_SIZEOF_FROM_CLASSMEMBER   1

This is defined if the compiler supports a sizeof from non-static class members (C++11 feature)

Definition at line 194 of file IrrIMGUIConfig.h.

#define IRRIMGUI_DLL_API

Helper for shared windows libraries (DLL).

  • It is set to export symbols during DLL compilation.
  • It is set to import symbols during application compilation (where the DLL is used for linking later).
  • It is empty during static library compilation

Definition at line 156 of file IrrIMGUIConfig.h.

#define IRRIMGUI_DLL_API

Helper for shared windows libraries (DLL).

  • It is set to export symbols during DLL compilation.
  • It is set to import symbols during application compilation (where the DLL is used for linking later).
  • It is empty during static library compilation

Definition at line 156 of file IrrIMGUIConfig.h.

#define NOEXCEPT

Not all modern compilers support the C++11 keyword noexcept. Thus this macro is empty for oder MSVC versions than 2015. For MingW, GCC, CLang or MSVC2015 (or higher versions) this macro contains the keyword noexcept.

Definition at line 180 of file IrrIMGUIConfig.h.

#define NOEXCEPT   noexcept

Not all modern compilers support the C++11 keyword noexcept. Thus this macro is empty for oder MSVC versions than 2015. For MingW, GCC, CLang or MSVC2015 (or higher versions) this macro contains the keyword noexcept.

Definition at line 180 of file IrrIMGUIConfig.h.