#include "bakara/io/mouse.h" #include "bakara/core/application.h" #include namespace Bk { Vec2 Mouse::GetPosition() { auto* window = static_cast(Application::Get().GetWindow().GetNativeWindow()); double xpos, ypos; glfwGetCursorPos(window, &xpos, &ypos); return { (float)xpos, (float)ypos }; } bool Mouse::ButtonUp(Code button) { auto* window = static_cast(Application::Get().GetWindow().GetNativeWindow()); auto state = glfwGetMouseButton(window, static_cast(button)); return state == GLFW_RELEASE; } bool Mouse::ButtonDown(Code button) { auto* window = static_cast(Application::Get().GetWindow().GetNativeWindow()); auto state = glfwGetMouseButton(window, static_cast(button)); return state == GLFW_PRESS; } bool Mouse::ButtonRepeat(Code button) { auto* window = static_cast(Application::Get().GetWindow().GetNativeWindow()); auto state = glfwGetMouseButton(window, static_cast(button)); return state == GLFW_REPEAT; } }