LeviLamina
Loading...
Searching...
No Matches
ControlOptionEditorControl.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/input/TouchControl.h"
7#include "mc/deps/input/TouchControlEditorState.h"
8
9// auto generated forward declare list
10// clang-format off
12class InputEventQueue;
14class RectangleArea;
16// clang-format on
17
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 64, ::std::function<float()>> mWYSIWYGHUDState;
23 ::ll::TypedStorage<8, 64, ::std::function<bool()>> mCondition;
24 ::ll::TypedStorage<8, 64, ::std::function<::RectangleArea()>> mMainPanelArea;
25 ::ll::TypedStorage<8, 64, ::std::function<::RectangleArea()>> mSubPanelArea;
26 ::ll::TypedStorage<8, 24, ::std::vector<::std::function<::RectangleArea()>>> mReservedAreas;
27 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ControlConfiguration>>> mConfigurations;
28 ::ll::TypedStorage<4, 4, ::TouchControlEditorState> mEditorState;
29 ::ll::TypedStorage<4, 4, int> mActivePointer;
30 ::ll::TypedStorage<8, 8, double> mStartMoveTime;
31 ::ll::TypedStorage<4, 4, float> mStartX;
32 ::ll::TypedStorage<4, 4, float> mStartY;
33 ::ll::TypedStorage<4, 4, uint> mSelectedConfigId;
34 ::ll::TypedStorage<4, 4, int> mSelectAllPointer;
35 ::ll::TypedStorage<4, 4, int> mActiveInteractingWithScaleSliderPointer;
36 ::ll::TypedStorage<8, 8, double> mLastBumpSoundTime;
37 ::ll::TypedStorage<1, 1, bool> mHasDoneInitialCollisionCheck;
38 // NOLINTEND
39
40public:
41 // prevent constructor by default
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual void
48 tick(::InputEventQueue& eventQueue, ::TouchPointResults& touchPointResults, int yAxisInversionFactor) /*override*/;
49
50 virtual void render(::InputRenderContext& context) const /*override*/;
51
52 virtual ~ControlOptionEditorControl() /*override*/;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
59 ::std::function<float()> wysiwygState,
60 ::std::function<::RectangleArea()> area,
61 ::std::function<::RectangleArea()> mainPanelArea,
62 ::std::function<::RectangleArea()> subPanelArea,
63 ::std::function<bool()> condition,
64 ::std::vector<::std::unique_ptr<::ControlConfiguration>> controlConfigurations,
65 ::std::vector<::std::function<::RectangleArea()>> const& reservedAreas
66 );
67
68 MCAPI bool _checkCollisionForPotentialUpdates(
69 ::std::unordered_map<::ControlConfiguration*, float> const& potentialUpdates
70 ) const;
71
72 MCAPI int _getNumberOfActiveControlConfigurations() const;
73
74 MCAPI ::RectangleArea _getRectangleAreaOfConfiguration(::ControlConfiguration* cc) const;
75
76 MCAPI bool _isColliding(::RectangleArea const& rect, uint excludedId) const;
77
78 MCAPI bool _otherConfigsExistWithSameCategory(uint configId) const;
79
80 MCAPI void _playBumpingSound(::InputEventQueue& eventQueue);
81
82 MCAPI void _pushControlsInsideSafeArea();
83
84 MCAPI void _setControlConfigurationActive(::InputEventQueue& eventQueue, ::ControlConfiguration* cc, bool active);
85
86 MCAPI bool areThereOverlappingControls() const;
87
88 MCAPI void checkForOverlaps();
89 // NOLINTEND
90
91public:
92 // constructor thunks
93 // NOLINTBEGIN
94 MCAPI void* $ctor(
95 ::std::function<float()> wysiwygState,
96 ::std::function<::RectangleArea()> area,
97 ::std::function<::RectangleArea()> mainPanelArea,
98 ::std::function<::RectangleArea()> subPanelArea,
99 ::std::function<bool()> condition,
100 ::std::vector<::std::unique_ptr<::ControlConfiguration>> controlConfigurations,
101 ::std::vector<::std::function<::RectangleArea()>> const& reservedAreas
102 );
103 // NOLINTEND
104
105public:
106 // destructor thunk
107 // NOLINTBEGIN
108 MCAPI void $dtor();
109 // NOLINTEND
110
111public:
112 // virtual function thunks
113 // NOLINTBEGIN
114 MCAPI void $tick(::InputEventQueue& eventQueue, ::TouchPointResults& touchPointResults, int yAxisInversionFactor);
115
116 MCAPI void $render(::InputRenderContext& context) const;
117 // NOLINTEND
118
119public:
120 // vftables
121 // NOLINTBEGIN
122 MCNAPI static void** $vftable();
123 // NOLINTEND
124};
Definition ControlConfiguration.h:5
Definition ControlOptionEditorControl.h:5
static MCAPI void ** $vftable()
Definition InputEventQueue.h:5
Definition InputRenderContext.h:5
Definition TouchControl.h:5
Definition TouchPointResults.h:5