Rick van Vonderen
5 years ago
2 changed files with 60 additions and 0 deletions
@ -0,0 +1,40 @@ |
|||||||
|
#include <GLFW/glfw3.h> |
||||||
|
|
||||||
|
#include "inferno/application.h" |
||||||
|
#include "inferno/input.h" |
||||||
|
#include "inferno/window.h" |
||||||
|
|
||||||
|
namespace Inferno { |
||||||
|
|
||||||
|
bool Input::isKeyPressed(int key) |
||||||
|
{ |
||||||
|
GLFWwindow* w = Application::get().getWindow().getWindow(); |
||||||
|
return glfwGetKey(w, key) == GLFW_PRESS; |
||||||
|
} |
||||||
|
|
||||||
|
bool Input::isMouseButtonPressed(int button) |
||||||
|
{ |
||||||
|
GLFWwindow* w = Application::get().getWindow().getWindow(); |
||||||
|
return glfwGetMouseButton(w, button) == GLFW_PRESS; |
||||||
|
} |
||||||
|
|
||||||
|
std::pair<float, float> Input::getMousePosition() |
||||||
|
{ |
||||||
|
GLFWwindow* w = Application::get().getWindow().getWindow(); |
||||||
|
double xPos; |
||||||
|
double yPos; |
||||||
|
glfwGetCursorPos(w, &xPos, &yPos); |
||||||
|
return { (float)xPos, (float)yPos }; |
||||||
|
} |
||||||
|
|
||||||
|
float Input::getMouseX() |
||||||
|
{ |
||||||
|
return getMousePosition().first; |
||||||
|
} |
||||||
|
|
||||||
|
float Input::getMouseY() |
||||||
|
{ |
||||||
|
return getMousePosition().second; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
#ifndef INPUT_H |
||||||
|
#define INPUT_H |
||||||
|
|
||||||
|
#include <utility> |
||||||
|
|
||||||
|
namespace Inferno { |
||||||
|
|
||||||
|
class Input { |
||||||
|
public: |
||||||
|
static bool isKeyPressed(int key); |
||||||
|
static bool isMouseButtonPressed(int button); |
||||||
|
static std::pair<float, float> getMousePosition(); |
||||||
|
static float getMouseX(); |
||||||
|
static float getMouseY(); |
||||||
|
}; |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
#endif // INPUT_H
|
Loading…
Reference in new issue