3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/math/Color.h"
7#include "mc/deps/input/TouchControl.h"
8#include "mc/deps/input/enums/ButtonState.h"
23 ::ll::TypedStorage<8, 64, ::std::function<bool()>> mCondition;
24 ::ll::TypedStorage<8, 64, ::std::function<float()>> mOpacity;
25 ::ll::TypedStorage<4, 4, uint> mButtonId;
26 ::ll::TypedStorage<1, 1, ::ButtonState> mButtonState;
27 ::ll::TypedStorage<4, 16, ::mce::Color> mPressedColor;
28 ::ll::TypedStorage<4, 16, ::mce::Color> mReleasedColor;
29 ::ll::TypedStorage<4, 4, int> mUx;
30 ::ll::TypedStorage<4, 4, int> mUv;
31 ::ll::TypedStorage<4, 4, int> mUvWidth;
32 ::ll::TypedStorage<4, 4, int> mUvHeight;
33 ::ll::TypedStorage<4, 4, float> mInnerPaddingX;
34 ::ll::TypedStorage<4, 4, float> mInnerPaddingY;
35 ::ll::TypedStorage<4, 4, int> mActivePointerId;
36 ::ll::TypedStorage<1, 1, bool> mPassThrough;
37 ::ll::TypedStorage<1, 1, bool> mPromiscuous;
38 ::ll::TypedStorage<4, 4, int> mTouchStateRequirement;
39 ::ll::TypedStorage<8, 8, int64> mTimeSinceFirstPress;
40 ::ll::TypedStorage<1, 1, bool> mWaitingForSecondPress;
41 ::ll::TypedStorage<1, 1, bool> mExtendButtonPressOutsideAreaUntilReleased;
42 ::ll::TypedStorage<8, 32, ::std::string> mIconPath;
43 ::ll::TypedStorage<8, 32, ::std::string> mPressedIconPath;
44 ::ll::TypedStorage<4, 4, float> mGlyphScale;
49 TouchGlyphButtonControl();
54 virtual ~TouchGlyphButtonControl() ;
56 virtual uint getHoldButtonId() const ;
58 virtual
int getActivePointerId() const ;
60 virtual
bool releaseOnClear() const ;
62 virtual
void render(::InputRenderContext& context) const ;
65 tick(::InputEventQueue& eventQueue, ::TouchPointResults& touchPointResults,
int yAxisInversionFactor) ;
67 virtual
void release(::InputEventQueue& eventQueue) ;
73 MCAPI TouchGlyphButtonControl(
74 ::std::function<::RectangleArea()> area,
75 ::std::function<
bool()> condition,
76 ::std::function<
float()> opacity,
78 ::ButtonColors const& buttonColors,
85 int touchStateRequirement,
88 bool extendButtonPressOutsideUntilReleased,
93 MCAPI TouchGlyphButtonControl(
94 ::std::function<::RectangleArea()> area,
95 ::std::function<
bool()> condition,
96 ::std::function<
float()> opacity,
98 ::std::
string const& iconPath,
99 ::std::
string const& pressedIconPath,
100 ::ButtonColors const& buttonColors,
105 int touchStateRequirement,
108 bool extendButtonPressOutsideUntilReleased,
118 ::std::function<::RectangleArea()> area,
119 ::std::function<
bool()> condition,
120 ::std::function<
float()> opacity,
122 ::ButtonColors const& buttonColors,
129 int touchStateRequirement,
132 bool extendButtonPressOutsideUntilReleased,
138 ::std::function<::RectangleArea()> area,
139 ::std::function<
bool()> condition,
140 ::std::function<
float()> opacity,
142 ::std::
string const& iconPath,
143 ::std::
string const& pressedIconPath,
144 ::ButtonColors const& buttonColors,
149 int touchStateRequirement,
152 bool extendButtonPressOutsideUntilReleased,
167 MCFOLD uint $getHoldButtonId() const;
169 MCAPI
int $getActivePointerId() const;
171 MCAPI
bool $releaseOnClear() const;
173 MCAPI
void $render(::InputRenderContext& context) const;
175 MCAPI
void $tick(::InputEventQueue& eventQueue, ::TouchPointResults& touchPointResults,
int yAxisInversionFactor);
177 MCAPI
void $release(::InputEventQueue& eventQueue);
Definition InputRenderContext.h:5
Definition RectangleArea.h:5
Definition TouchControl.h:5
Definition TouchPointResults.h:5