LeviLamina
Loading...
Searching...
No Matches
MouseProcessorAndroid.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
6public:
7 // MouseProcessorAndroid inner types declare
8 // clang-format off
9 struct MouseInputEvent;
10 // clang-format on
11
12 // MouseProcessorAndroid inner types define
13 enum class MouseType : int {
14 Relative = 0,
15 Absolute = 1,
16 };
17
18 struct MouseInputEvent {
19 public:
20 // MouseInputEvent inner types define
21 enum class Action : uchar {
22 Invalid = 0,
23 Scroll = 1,
24 Move = 2,
25 HoverMove = 3,
26 Interact = 4,
27 };
28
29 public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<1, 1, ::MouseProcessorAndroid::MouseInputEvent::Action> mAction;
33 ::ll::TypedStorage<4, 4, int> mButtonState;
34 ::ll::TypedStorage<4, 8, ::glm::vec2> mCursorPosition;
35 ::ll::TypedStorage<4, 4, int> mExplicitScrollData;
36 // NOLINTEND
37 };
38
39public:
40 // member variables
41 // NOLINTBEGIN
42 ::ll::TypedStorage<4, 8, ::glm::vec2> mPointerPrevious;
43 ::ll::TypedStorage<4, 8, ::glm::vec2> mTwoFingerPrevious;
44 ::ll::TypedStorage<4, 8, ::glm::vec2> mPositionRounding;
45 ::ll::TypedStorage<4, 4, int> mPreviousButtonState;
46 // NOLINTEND
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 virtual ~MouseProcessorAndroid() = default;
52
53 virtual void absoluteMouseInput(::glm::vec<2, short> const&) const = 0;
54
55 virtual void relativeMouseInput(::glm::vec<2, short> const&) const = 0;
56
57 virtual int buttonFilter(char) const = 0;
58
59 virtual void buttonInput(char, bool, ::glm::vec<2, short> const&) const = 0;
60
61 virtual void scrollInput(char, ::glm::vec<2, short> const&) const = 0;
62 // NOLINTEND
63
64public:
65 // virtual function thunks
66 // NOLINTBEGIN
67
68 // NOLINTEND
69};
Definition MouseProcessorAndroid.h:5
Definition MouseProcessorAndroid.h:15