aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Windows64/KeyboardMouseInput.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/Windows64/KeyboardMouseInput.h')
-rw-r--r--Minecraft.Client/Windows64/KeyboardMouseInput.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/Minecraft.Client/Windows64/KeyboardMouseInput.h b/Minecraft.Client/Windows64/KeyboardMouseInput.h
index 4d272f91..a09843f9 100644
--- a/Minecraft.Client/Windows64/KeyboardMouseInput.h
+++ b/Minecraft.Client/Windows64/KeyboardMouseInput.h
@@ -42,9 +42,16 @@ public:
// Use these from code that runs at game tick rate (20Hz).
bool ConsumeKeyPress(int vk);
bool ConsumeMousePress(int btn);
+ bool ConsumeMouseRelease(int btn);
void ConsumeMouseDelta(float &dx, float &dy);
int ConsumeScrollDelta();
+ // Absolute cursor position (client-area coordinates, for GUI when not captured)
+ void OnMouseMove(int x, int y);
+ int GetMouseX() const;
+ int GetMouseY() const;
+ HWND GetHWnd() const;
+
// Mouse capture for FPS look
void SetCapture(bool capture);
bool IsCaptured() const;
@@ -61,6 +68,7 @@ private:
// Sticky press accumulators (persist until consumed by game tick)
bool m_keyPressedAccum[256];
bool m_mousePressedAccum[3];
+ bool m_mouseReleasedAccum[3];
// Mouse delta accumulators (persist until consumed by game tick)
float m_mouseDeltaXAccum;
@@ -72,6 +80,10 @@ private:
bool m_captured;
HWND m_hWnd;
bool m_initialized;
+
+ // Absolute cursor position in client coordinates
+ int m_mouseX;
+ int m_mouseY;
};
extern KeyboardMouseInput KMInput;