本文整理汇总了C++中WidgetContainer::OnInputPointerRelease方法的典型用法代码示例。如果您正苦于以下问题:C++ WidgetContainer::OnInputPointerRelease方法的具体用法?C++ WidgetContainer::OnInputPointerRelease怎么用?C++ WidgetContainer::OnInputPointerRelease使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WidgetContainer
的用法示例。
在下文中一共展示了WidgetContainer::OnInputPointerRelease方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnInputPointerRelease
void WidgetContainer::OnInputPointerRelease(const EventInputPointer *ev)
{
ASSERT_NULL(ev);
WidgetIterator it = vWidget.begin();
WidgetIterator end = vWidget.end();
for (; it != end; ++it)
{
IWidget *w = (*it);
//BOOL consumed = FALSE;
bEventConsumed = FALSE;
ASSERT_NULL(w);
if (w->IsDisabled())
continue;
if (w->GetObjectType() == Seed::ObjectGuiWidgetContainer)
{
WidgetContainer *wc = reinterpret_cast<WidgetContainer *>(w);
wc->OnInputPointerRelease(ev);
bEventConsumed = wc->IsEventConsumed();
if (bEventConsumed)
break;
}
//f32 cX = ev->GetX();
//f32 cY = ev->GetY();
u32 j = ev->GetJoystick();
if (!(w->GetTrigger() & ev->GetReleased()))
continue;
if (w->GetState() == Seed::WidgetStateDrag)
{
//LOG("> STOP DRAG [%d, %f, %f]", j, cX, cY);
bEventConsumed = this->DoDrop(ev, w);
}
else
{
if (w->GetPlayerState(j) == Seed::WidgetStatePressedOver)
{
//LOG("> RELEASE [%d, %f, %f]", j, cX, cY);
//consumed = this->DoRelease(ev, w);
bEventConsumed = this->DoRelease(ev, w);
}
else if (w->GetPlayerState(j) == Seed::WidgetStatePressedOut)
{
//LOG("> RELEASE OUT [%d, %f, %f]", j, cX, cY);
//consumed = this->DoReleaseOut(ev, w);
bEventConsumed = this->DoReleaseOut(ev, w);
}
}
//if (consumed)
if (bEventConsumed)
break;
}
}