本文整理汇总了C++中WidgetPtr::reset方法的典型用法代码示例。如果您正苦于以下问题:C++ WidgetPtr::reset方法的具体用法?C++ WidgetPtr::reset怎么用?C++ WidgetPtr::reset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WidgetPtr
的用法示例。
在下文中一共展示了WidgetPtr::reset方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleMouseMoved
//.........这里部分代码省略.........
mouseInput.getY(),
true,
true);
mClickCount = 1;
mLastMousePressTimeStamp = 0;
mWidgetWithMouseQueue.erase(iter);
break;
}
}
iterations++;
}
widgetWithMouseQueueCheckDone = iterations == mWidgetWithMouseQueue.size();
}
// Check all widgets below the mouse to see if they are
// present in the "widget with mouse" queue. If a widget
// is not then it should be added and an entered event should
// be sent to it.
WidgetPtr parent = GetMouseEventSource(mouseInput.getX(), mouseInput.getY());
WidgetPtr widget = parent;
// If a widget has modal mouse input focus then it will
// always be returned from getMouseEventSource, but we only wan't to send
// mouse entered events if the mouse has actually entered the widget with
// modal mouse input focus, hence we need to check if that's the case. If
// it's not we should simply ignore to send any mouse entered events.
if (mFocusHandler->GetModalMouseInputFocused()
&& widget == mFocusHandler->GetModalMouseInputFocused()
&& Widget::widgetExists(widget))
{
int x, y;
widget->getAbsolutePosition(x, y);
if (x > mouseInput.getX()
|| y > mouseInput.getY()
|| x + widget->GetWidth() <= mouseInput.getX()
|| y + widget->GetHeight() <= mouseInput.getY())
{
parent.reset();
}
}
while (parent)
{
parent = widget->GetParent();
// Check if the widget is present in the "widget with mouse" queue.
bool widgetIsPresentInQueue = false;
std::deque<WidgetPtr>::iterator iter;
for (iter = mWidgetWithMouseQueue.begin();
iter != mWidgetWithMouseQueue.end();
iter++)
{
if (*iter == widget)
{
widgetIsPresentInQueue = true;
break;
}
}
// Widget is not present, send an entered event and add
// it to the "widget with mouse" queue.
if (!widgetIsPresentInQueue
&& Widget::widgetExists(widget))
{
distributeMouseEvent(widget,
MouseEvent::ENTERED,
mouseInput.getButton(),
mouseInput.getX(),
mouseInput.getY(),
true,
true);
mWidgetWithMouseQueue.push_front(widget);
}
WidgetPtr swap = widget;
widget = parent;
parent = (WidgetPtr)swap->GetParent();
}
if (mFocusHandler->GetDraggedWidget())
{
distributeMouseEvent(mFocusHandler->GetDraggedWidget(),
MouseEvent::DRAGGED,
mLastMouseDragButton,
mouseInput.getX(),
mouseInput.getY());
}
else
{
WidgetPtr sourceWidget = GetMouseEventSource(mouseInput.getX(), mouseInput.getY());
distributeMouseEvent(sourceWidget,
MouseEvent::MOVED,
mouseInput.getButton(),
mouseInput.getX(),
mouseInput.getY());
}
}