9#ifndef AVARA3D_INPUT_GLFWINPUTCONTEXT_H
10#define AVARA3D_INPUT_GLFWINPUTCONTEXT_H
15#include "a3d/input/DesktopInputContext.h"
23 class GLFWInputContext :
public DesktopInputContext {
29 ~GLFWInputContext()
override;
31 GLFWInputContext(
const InputContext& other) =
delete;
32 GLFWInputContext& operator=(
const InputContext& other) =
delete;
36 void attachedToScene(Scene& scene)
override;
37 void visualWorldAttachedToScene(Scene& scene)
override;
41 void rebaseMouseMotion()
override;
45 void glfwCursorPositionEvent(
double xPos,
double yPos);
46 void glfwMouseButtonEvent(
int button,
int action,
int mods);
47 void glfwScrollEvent(
double xOffset,
double yOffset);
48 void glfwKeyEvent(
int key,
int scanCode,
int action,
int mods);
50 void detachedFromWindow(Window& window);
55 void window(Window* window);
56 Window* window()
const;
58 void initMouseInput();
63 bool _hasMousePosition;