本文整理汇总了C++中PointerEvent::type方法的典型用法代码示例。如果您正苦于以下问题:C++ PointerEvent::type方法的具体用法?C++ PointerEvent::type怎么用?C++ PointerEvent::type使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PointerEvent
的用法示例。
在下文中一共展示了PointerEvent::type方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
std::shared_ptr<View> WindowView_Impl::get_capture_view(PointerEvent &e, std::shared_ptr<View> &view_above_cursor)
{
if (e.type() == PointerEventType::press || e.type() == PointerEventType::double_click)
{
capture_down_counter++;
if (capture_down_counter == 1)
{
captured_view = view_above_cursor;
if (captured_view)
window.capture_mouse(true);
}
}
std::shared_ptr<View> view = captured_view;
if (e.type() == PointerEventType::release)
{
if (capture_down_counter > 0)
{
capture_down_counter--;
if (capture_down_counter == 0)
{
if (captured_view)
release_capture();
}
}
}
return view;
}
示例2: window_pointer_event
void WindowView_Impl::window_pointer_event(PointerEvent &e)
{
std::shared_ptr<View> view_above_cursor = window_view->find_view_at(e.pos(window_view));
auto view = get_capture_view(e, view_above_cursor);
if (!view)
view = view_above_cursor;
dispatch_hot_event(view, e);
if (e.type() == PointerEventType::enter || e.type() == PointerEventType::leave) // Ignore window enter/leave events
return;
if (view)
view->dispatch_event(&e);
else
window_view->dispatch_event(&e);
}
示例3: createAndCheckPointerTransitionEvent
void PointerEventFactoryTest::createAndCheckPointerTransitionEvent(
PointerEvent* pointerEvent,
const AtomicString& type)
{
PointerEvent* clonePointerEvent = m_pointerEventFactory.
createPointerTransitionEvent(pointerEvent, type, nullptr);
EXPECT_EQ(clonePointerEvent->pointerType(), pointerEvent->pointerType());
EXPECT_EQ(clonePointerEvent->pointerId(), pointerEvent->pointerId());
EXPECT_EQ(clonePointerEvent->isPrimary(), pointerEvent->isPrimary());
EXPECT_EQ(clonePointerEvent->type(), type);
}