LeviLamina
Loading...
Searching...
No Matches
TouchControlSet.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/input/TouchMoveAndTurnControlState.h"
7#include "mc/deps/input/TouchPointResults.h"
8#include "mc/deps/input/TouchState.h"
9#include "mc/deps/input/TouchTurnControlState.h"
10#include "mc/deps/input/TouchTurnState.h"
11
12// auto generated forward declare list
13// clang-format off
14class BindingFactory;
15class InputEventQueue;
17class RectangleArea;
18class TouchControl;
25// clang-format on
26
27class TouchControlSet {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 24, ::TouchPointResults> mTouchPointResults;
32 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::TouchControl>>> mControls;
33 ::ll::TypedStorage<8, 8, ::TouchTurnInteractControl*> mTurnInteractControl;
34 ::ll::TypedStorage<8, 8, ::TouchMoveAndTurnInteractControl*> mTouchMoveAndTurnInteractControl;
35 ::ll::TypedStorage<4, 4, int> mScreenWidth;
36 ::ll::TypedStorage<4, 4, int> mScreenHeight;
37 ::ll::TypedStorage<8, 8, uint64> mControlOptionEditorId;
38 ::ll::TypedStorage<4, 4, ::TouchTurnState> mPrevState;
39 ::ll::TypedStorage<8, 32, ::TouchTurnControlState> mPrevTouchTurnControlState;
40 ::ll::TypedStorage<8, 152, ::TouchMoveAndTurnControlState> mPrevTouchMoveAndTurnControlState;
41 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<uint, int>>> mActivePointers;
42 // NOLINTEND
43
44public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI TouchControlSet();
48
49 MCAPI void addConditionalGuiPassthrough(
50 ::BindingFactory const& bindingFactory,
51 uint areaBindingName,
52 ::std::string const& buttonName,
53 uint conditionName,
54 bool consumeInput
55 );
56
57 MCAPI void addCustomZone(::BindingFactory const& bindingFactory, uint areaBindingName, uint conditionName);
58
59 MCAPI void addGlyphButton(::BindingFactory const& bindingFactory, ::TouchGlyphButtonBinding const& binding);
60
61 MCAPI void addMoveAndTurnInteract(
62 ::TouchControlConfig const& touchControlConfig,
63 ::std::function<::std::vector<::RectangleArea>()> inactiveAreas
64 );
65
66 MCAPI void addPointer(int id, ::TouchState state, float x, float y, bool captured, bool startedInactive);
67
68 MCAPI void
69 addTapOrHoldGlyphButton(::BindingFactory const& bindingFactory, ::TouchTapOrHoldGlyphButtonBinding const& binding);
70
71 MCAPI void addTextButton(::BindingFactory const& bindingFactory, ::TouchTextButtonBinding const& binding);
72
73 MCAPI void addTouchControlEditor(
74 ::BindingFactory const& bindingFactory,
75 uint areaBindingName,
76 uint mainPanelAreaBindingName,
77 uint subPanelAreaBindingName,
78 uint conditionBindingName
79 );
80
81 MCAPI void addTurnInteract(
82 ::TouchControlConfig const& touchControlConfig,
83 ::std::function<::std::vector<::RectangleArea>()> inactiveAreas
84 );
85
86 MCAPI void clearControls(::InputEventQueue& eventQueue);
87
88 MCAPI void clearPointers();
89
90 MCAPI void getTouchIdsWithFlags(::std::vector<::std::pair<int, int>>& touchIdsWithFlags);
91
92 MCAPI void render(::InputRenderContext& context) const;
93
94 MCAPI void setWindowSize(int width, int height);
95
96 MCAPI void tick(::InputEventQueue& eventQueue, int yAxisInversionFactor);
97
98 MCAPI ~TouchControlSet();
99 // NOLINTEND
100
101public:
102 // constructor thunks
103 // NOLINTBEGIN
104 MCAPI void* $ctor();
105 // NOLINTEND
106
107public:
108 // destructor thunk
109 // NOLINTBEGIN
110 MCAPI void $dtor();
111 // NOLINTEND
112};
Definition BindingFactory.h:5
Definition InputEventQueue.h:5
Definition InputRenderContext.h:5
Definition RectangleArea.h:5
Definition TouchControlSet.h:5
Definition TouchControl.h:5
Definition TouchMoveAndTurnInteractControl.h:5
Definition TouchTurnInteractControl.h:5
Definition TouchControlConfig.h:5
Definition TouchGlyphButtonBinding.h:5
Definition TouchTapOrHoldGlyphButtonBinding.h:5
Definition TouchTextButtonBinding.h:5