39 bool injectMouseMove(
int _absx,
int _absy,
int _absz);
43 bool injectMousePress(
int _absx,
int _absy,
MouseButton _id);
47 bool injectMouseRelease(
int _absx,
int _absy,
MouseButton _id);
56 bool injectKeyRelease(
KeyCode _key);
59 bool isFocusMouse()
const;
61 bool isFocusKey()
const;
63 bool isCaptureMouse()
const;
66 void setKeyFocusWidget(
Widget* _widget);
68 void resetKeyFocusWidget(
Widget* _widget);
70 void resetKeyFocusWidget();
73 Widget* getMouseFocusWidget()
const;
75 Widget* getKeyFocusWidget()
const;
83 const IntPoint& getMousePosition()
const;
88 IntPoint getMousePositionByLayer()
const;
92 void addWidgetModal(
Widget* _widget);
94 void removeWidgetModal(
Widget* _widget);
97 bool isModalAny()
const;
100 bool isControlPressed()
const;
102 bool isShiftPressed()
const;
104 bool isAltPressed()
const;
106 bool isMetaPressed()
const;
112 void resetMouseCaptureWidget();
115 void unlinkWidget(
Widget* _widget);
130 void _resetMouseFocusWidget();
134 void _unlinkWidget(
Widget* _widget)
override;
136 void frameEntered(
float _frame);
138 void firstEncoding(
KeyCode _key,
bool bIsKeyPressed);
148 Widget* mWidgetMouseFocus{
nullptr};
149 Widget* mWidgetKeyFocus{
nullptr};
150 ILayer* mLayerMouseFocus{
nullptr};
153 float mTimerDoubleClick;
156 bool mIsShiftPressed{
false};
158 bool mIsControlPressed{
false};
159 bool mIsAltPressed{
false};
160 bool mIsMetaPressed{
false};
165 IntPoint mLastPressed[MouseButton::MAX];
168 bool mMouseCapture[MouseButton::MAX];
171 KeyCode mHoldKey{KeyCode::None};
173 bool mFirstPressKey{
false};
174 float mTimerKey{0.0f};
180 bool mIsInitialise{
false};