Browse Source

Set initial cursor position

master
Riyyi 4 years ago
parent
commit
286f54204e
  1. 3
      inferno/src/inferno/application.cpp
  2. 11
      inferno/src/inferno/input.cpp
  3. 1
      inferno/src/inferno/input.h

3
inferno/src/inferno/application.cpp

@ -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
inferno/src/inferno/input.cpp

@ -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
inferno/src/inferno/input.h

@ -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);

Loading…
Cancel
Save