summaryrefslogtreecommitdiff
path: root/src/client/inputhandler.h
diff options
context:
space:
mode:
authorLoïc Blot <nerzhul@users.noreply.github.com>2017-06-26 20:11:17 +0200
committerGitHub <noreply@github.com>2017-06-26 20:11:17 +0200
commitb3a36f7378ea0f299cfa36c81de42e00adb7292d (patch)
tree23d056b575ff0dba8cc759cc00f732099a1f3bce /src/client/inputhandler.h
parenta8650e785df3f12efa5f8cd3c6a695fb9e22a598 (diff)
downloadminetest-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.h17
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;
};