Set initial cursor position

This commit is contained in:
Riyyi
2021-01-02 23:05:28 +01:00
parent 966c3c5e59
commit 286f54204e
3 changed files with 14 additions and 1 deletions
+2 -1
View File
@@ -24,8 +24,9 @@ namespace Inferno {
ASSERT(!s_instance, "Application already exists!"); ASSERT(!s_instance, "Application already exists!");
s_instance = this; s_instance = this;
// Initialize Settings // Initialize
Settings::initialize(); Settings::initialize();
Input::initialize();
m_window = std::make_unique<Window>(); m_window = std::make_unique<Window>();
m_window->setEventCallback(NF_BIND_EVENT(Application::onEvent)); m_window->setEventCallback(NF_BIND_EVENT(Application::onEvent));
+11
View File
@@ -3,6 +3,7 @@
#include "inferno/application.h" #include "inferno/application.h"
#include "inferno/event/mouseevent.h" #include "inferno/event/mouseevent.h"
#include "inferno/input.h" #include "inferno/input.h"
#include "inferno/log.h"
#include "inferno/window.h" #include "inferno/window.h"
namespace Inferno { namespace Inferno {
@@ -13,8 +14,18 @@ namespace Inferno {
float Input::m_xOffset = 0.0f; float Input::m_xOffset = 0.0f;
float Input::m_yOffset = 0.0f; float Input::m_yOffset = 0.0f;
void Input::initialize()
{
// Set cursor in the middle of the screen
m_xPosLast = Application::get().getWindow().getWidth() / 2.0f;
m_yPosLast = Application::get().getWindow().getHeight() / 2.0f;
dbg(Log::Info) << "Input initialized";
}
void Input::update() void Input::update()
{ {
// Stop infinite mouse movement
m_xOffset = 0.0f; m_xOffset = 0.0f;
m_yOffset = 0.0f; m_yOffset = 0.0f;
} }
+1
View File
@@ -9,6 +9,7 @@ namespace Inferno {
class Input { class Input {
public: public:
static void initialize();
static void update(); static void update();
static bool onMousePosition(MousePositionEvent& e); static bool onMousePosition(MousePositionEvent& e);