package com.javamarcher.input;
import static org.lwjgl.glfw.GLFW.glfwGetCursorPos;
import java.nio.DoubleBuffer;
import org.joml.Vector2f;
import org.lwjgl.BufferUtils;
import org.lwjgl.glfw.GLFW;
import org.lwjgl.glfw.GLFWCursorPosCallback;
import com.javamarcher.window.MainWindow;
public class MouseInput extends GLFWCursorPosCallback {
private final Vector2f mouseDelta = new Vector2f();
@Override
public void invoke(long window, double xpos, double ypos) {
DoubleBuffer x = BufferUtils.createDoubleBuffer(1);
DoubleBuffer y = BufferUtils.createDoubleBuffer(1);
glfwGetCursorPos(window, x, y);
x.rewind();
y.rewind();
mouseDelta.x = (float) (x.get() - MainWindow.WIDTH * 0.5);
mouseDelta.y = (float) (y.get() - MainWindow.HEIGHT * 0.5);
GLFW.glfwSetCursorPos(MainWindow.WINDOW, (float) (MainWindow.WIDTH * 0.5), (float) (MainWindow.HEIGHT * 0.5));
}
public Vector2f getMouseDelta() {
return mouseDelta;
}
}