From b3a36f7378ea0f299cfa36c81de42e00adb7292d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Blot?= Date: Mon, 26 Jun 2017 20:11:17 +0200 Subject: 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 --- src/client/inputhandler.h | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/client/inputhandler.h') 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 #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; }; -- cgit v1.2.3