rodecomp/Source/Client/Input/Mouse.h
ragnarok-clanker 48e41cae16 Maintenance: Add mandatory field offset markers /* XXXX */ and assertions to Client headers (Browser, Input, Mode)
Batch #1059 by ragnarok-clanker: no function's compiled code changes; checked with 21 compiled unit(s), including every includer of Source/Client/Browser/WebBrowser.h, Source/Client/Browser/WebEventReceiver.h, Source/Client/Input/Mouse.h, Source/Client/Input/TraditionalKeyInput.h, Source/Client/Mode/ModeCursor.h.
2026-10-27 13:42:38 +00:00

39 lines
1 KiB
C++

#ifndef RAGNAROK_SOURCE_CLIENT_INPUT_MOUSE_H
#define RAGNAROK_SOURCE_CLIENT_INPUT_MOUSE_H
#include <cstdint>
#include <windows.h>
class CMouse {
public:
virtual ~CMouse();
void Update();
void Reset();
int Center();
void SetX(int value);
void SetY(int value);
void Message(CMouse& global, HWND mainWindow, HWND source, UINT message, WPARAM keys, LPARAM unused);
/* 0004 */ int x = 0;
/* 0008 */ int y = 0;
/* 000C */ int deltaX = 0;
/* 0010 */ int deltaY = 0;
/* 0014 */ int buttons[2] = {};
/* 001C */ int wheel = 0;
/* 0020 */ int pendingX = 0;
/* 0024 */ int pendingY = 0;
/* 0028 */ int pendingWheel = 0;
/* 002C */ std::uint8_t previousButtons[2] = {};
/* 002E */ std::uint8_t pendingButtons[2] = {};
/* 0030 */ std::uint32_t pressTicks[2] = {};
/* 0038 */ std::uint32_t doubleClickTime = 500;
/* 003C */ std::uint8_t active = 1;
/* 003D */ std::uint8_t unknown_003D[3] = {};
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(CMouse) == 64);
#endif
#endif