diff options
author | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-06-26 20:11:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-26 20:11:17 +0200 |
commit | b3a36f7378ea0f299cfa36c81de42e00adb7292d (patch) | |
tree | 23d056b575ff0dba8cc759cc00f732099a1f3bce /src/client/inputhandler.h | |
parent | a8650e785df3f12efa5f8cd3c6a695fb9e22a598 (diff) | |
download | minetest-b3a36f7378ea0f299cfa36c81de42e00adb7292d.tar.gz minetest-b3a36f7378ea0f299cfa36c81de42e00adb7292d.tar.bz2 minetest-b3a36f7378ea0f299cfa36c81de42e00adb7292d.zip |
Isolate irrlicht references and use a singleton (#6041)
* Add Device3D class which will contain IrrlichtDevice interface
move getSupportedVideoDrivers to Device3D
Add Device3D singleton & use it in various places
Rename Device3D to Rendering engine & add helper functions to various device pointers
More singleton work
RenderingEngine owns draw_load_screen
move draw functions to RenderingEngine
Reduce IrrlichtDevice exposure and guienvironment
RenderingEngine: Expose get_timer_time() to remove device from guiEngine
Make irrlichtdevice & scene manager less exposed
* Code style fixes
* Move porting::getVideoDriverName, getVideoDriverFriendlyName, getDisplayDensity, getDisplaySize to RenderingEngine
Fix XORG_USED macro -> RenderingEngine + create_engine_device from RenderingEngine constructor directly
* enum paralax => enum parallax
Diffstat (limited to 'src/client/inputhandler.h')
-rw-r--r-- | src/client/inputhandler.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/client/inputhandler.h b/src/client/inputhandler.h index 19733e3ec..822e27863 100644 --- a/src/client/inputhandler.h +++ b/src/client/inputhandler.h @@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "joystick_controller.h" #include <list> #include "keycode.h" +#include "renderingengine.h" #ifdef HAVE_TOUCHSCREENGUI #include "touchscreengui.h" @@ -219,8 +220,7 @@ public: class RealInputHandler : public InputHandler { public: - RealInputHandler(IrrlichtDevice *device, MyEventReceiver *receiver) - : m_device(device), m_receiver(receiver) + RealInputHandler(MyEventReceiver *receiver) : m_receiver(receiver) { m_receiver->joystick = &joystick; } @@ -239,16 +239,20 @@ public: virtual void dontListenForKeys() { m_receiver->dontListenForKeys(); } virtual v2s32 getMousePos() { - if (m_device->getCursorControl()) { - return m_device->getCursorControl()->getPosition(); + if (RenderingEngine::get_raw_device()->getCursorControl()) { + return RenderingEngine::get_raw_device() + ->getCursorControl() + ->getPosition(); } else { return m_mousepos; } } virtual void setMousePos(s32 x, s32 y) { - if (m_device->getCursorControl()) { - m_device->getCursorControl()->setPosition(x, y); + if (RenderingEngine::get_raw_device()->getCursorControl()) { + RenderingEngine::get_raw_device() + ->getCursorControl() + ->setPosition(x, y); } else { m_mousepos = v2s32(x, y); } @@ -276,7 +280,6 @@ public: } private: - IrrlichtDevice *m_device = nullptr; MyEventReceiver *m_receiver = nullptr; v2s32 m_mousepos; }; |