frameEntered -- Widget class

来源:互联网 发布:巫师2加强版优化补丁 编辑:程序博客网 时间:2024/04/29 16:48

有了代理C++的世界真美好!


下列是application 应用中的帧切换事件:

//frame enter event initializevoid Widget::frameEntered(float _frame){//ToolTip is set false default!if ( ! mEnableToolTip ) return;IntPoint point = InputManager::getInstance().getMousePositionByLayer();//Check the ToolTip is not at the same point if (mToolTipOldPoint != point){//Initialize the tool tip hating time to start countingmToolTipCurrentTime = 0;//check the bounding box!//if the cursor pointer is in the widget rangebool inside = getAbsoluteRect().inside(point);if (inside){inside = false;//??how the InputManager get the mouse focus widget?//by what meansWidget* widget = InputManager::getInstance().getMouseFocusWidget();while (widget != 0){if (widget/*->getName()*/ == this/*mName*/){inside = true;break;}// check the mNeedToolTip is true or falseif (widget->getNeedToolTip())widget = 0;//widget->getParent();elsewidget = widget->getParent();}if (inside){// just return the pointsize_t index = _getContainerIndex(point);if (mToolTipOldIndex != index){if (mToolTipVisible){mToolTipCurrentTime = 0;mToolTipVisible = false;eventToolTip(this, ToolTipInfo(ToolTipInfo::Hide));}mToolTipOldIndex = index;}}else{if (mToolTipVisible){mToolTipCurrentTime = 0;mToolTipVisible = false;eventToolTip(this, ToolTipInfo(ToolTipInfo::Hide));}}}else{if (mToolTipVisible){mToolTipCurrentTime = 0;mToolTipVisible = false;eventToolTip(this, ToolTipInfo(ToolTipInfo::Hide));}}mToolTipOldPoint = point;}else{bool inside = getAbsoluteRect().inside(point);if (inside){inside = false;// проверяем не перекрывают ли насWidget* widget = InputManager::getInstance().getMouseFocusWidget();while (widget != 0){if (widget/*->getName()*/ == this/*mName*/){inside = true;break;}// если виджет берет тултип, значит сбрасываемif (widget->getNeedToolTip())widget = 0;//widget->getParent();elsewidget = widget->getParent();}if (inside){if ( ! mToolTipVisible){mToolTipCurrentTime += _frame;if (mToolTipCurrentTime > WIDGET_TOOLTIP_TIMEOUT){mToolTipVisible = true;eventToolTip(this, ToolTipInfo(ToolTipInfo::Show, mToolTipOldIndex, point));}}}}}}

Widget 与LayerItem 与 Layer 之间的关系。













原创粉丝点击