30 mIsShiftPressed(
false),
31 mIsControlPressed(
false),
33 mIsMetaPressed(
false),
36 mFirstPressKey(
false),
40 mSingletonHolder(
this)
50 mWidgetMouseFocus =
nullptr;
51 mWidgetKeyFocus =
nullptr;
52 mLayerMouseFocus =
nullptr;
55 mMouseCapture[
i] =
false;
57 mIsShiftPressed =
false;
58 mIsControlPressed =
false;
59 mIsAltPressed =
false;
60 mIsMetaPressed =
false;
64 mFirstPressKey =
true;
84 mIsInitialise =
false;
110 if (mLayerMouseFocus !=
nullptr)
115 if (mMouseCapture[
i])
130 if (mWidgetMouseFocus == item)
135 if (mLayerMouseFocus !=
nullptr)
151 if (!mVectorModalRootWidget.empty())
153 if (
root != mVectorModalRootWidget.back())
161 mLayerMouseFocus =
root->getLayer();
206 if (mLayerMouseFocus !=
nullptr)
213 mWidgetMouseFocus = item;
232 mMouseCapture[
_id.getValue()] =
true;
251 if (mLayerMouseFocus !=
nullptr)
254 mLastPressed[
_id.getValue()] = point;
259 Widget* item = mWidgetMouseFocus;
269 if (mLayerMouseFocus !=
nullptr)
274 if (mWidgetMouseFocus)
280 Widget* pick = mWidgetMouseFocus;
302 if (mMouseCapture[
_id.getValue()])
305 mMouseCapture[
_id.getValue()] =
false;
316 if (mLayerMouseFocus !=
nullptr)
321 if (
nullptr != mWidgetMouseFocus)
329 if (
nullptr != mWidgetMouseFocus)
336 if ( item == mWidgetMouseFocus)
340 mTimerDoubleClick = 0;
357 firstEncoding(
_key,
true);
376 firstEncoding(
_key,
false);
403 if (
_widget == mWidgetKeyFocus)
407 mWidgetKeyFocus =
nullptr;
422 rootFocus->_riseKeyChangeRootFocus(
true);
434 rootFocus->_riseKeyChangeRootFocus(
false);
448 _widget->_riseKeySetFocus(mWidgetKeyFocus);
457 mWidgetMouseFocus =
nullptr;
470 if (mMouseCapture[
i])
472 mMouseCapture[
i] =
false;
495 if (mWidgetMouseFocus ==
_widget)
498 if (
_widget == mWidgetKeyFocus)
502 for (VectorWidgetPtr::iterator
iter = mVectorModalRootWidget.begin();
iter != mVectorModalRootWidget.end(); ++
iter)
506 mVectorModalRootWidget.erase(
iter);
520 mVectorModalRootWidget.push_back(
_widget);
531 for (VectorWidgetPtr::iterator
iter = mVectorModalRootWidget.begin();
iter != mVectorModalRootWidget.end(); ++
iter)
535 mVectorModalRootWidget.erase(
iter);
540 if (!mVectorModalRootWidget.empty())
558 mFirstPressKey =
true;
564 void InputManager::resetKey()
570 void InputManager::frameEntered(
float _frame)
572 mTimerDoubleClick += _frame;
590 mFirstPressKey =
false;
611 if (mWidgetKeyFocus ==
_widget)
617 if (mLayerMouseFocus !=
nullptr)
619 return mMousePosition;
624 return mWidgetMouseFocus !=
nullptr;
629 return mWidgetKeyFocus !=
nullptr;
636 if (mMouseCapture[
i])
649 return mWidgetMouseFocus;
654 return mWidgetKeyFocus;
661 return mLastPressed[
_id.getValue()];
668 return mMousePosition;
673 return !mVectorModalRootWidget.empty();
678 return mIsControlPressed;
683 return mIsShiftPressed;
688 return mIsAltPressed;
693 return mIsMetaPressed;
700 mMouseCapture[
i] =
false;
#define MYGUI_ASSERT(exp, dest)
#define MYGUI_LOG(level, text)
#define MYGUI_SINGLETON_DEFINITION(ClassName)
static const IntPoint & getZeroIntPoint()
static Gui & getInstance()
virtual IntPoint getPosition(int _left, int _top) const =0
static LayerManager & getInstance()
const float INPUT_TIME_DOUBLE_CLICK
delegates::DelegateFunction< Args... > * newDelegate(void(*_func)(Args... args))
const float INPUT_INTERVAL_KEY
const float INPUT_DELAY_FIRST_KEY
void set(T const &_left, T const &_top)