本文整理汇总了C++中WebMouseEvent类的典型用法代码示例。如果您正苦于以下问题:C++ WebMouseEvent类的具体用法?C++ WebMouseEvent怎么用?C++ WebMouseEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了WebMouseEvent类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: platformHandleMouseEvent
bool NetscapePlugin::platformHandleMouseEvent(const WebMouseEvent& event)
{
if (m_isWindowed || !m_impl)
return false;
if ((event.type() == WebEvent::MouseDown || event.type() == WebEvent::MouseUp)
&& event.button() == WebMouseEvent::RightButton
&& quirks().contains(PluginQuirks::IgnoreRightClickInWindowlessMode))
return false;
return m_impl->handleMouseEvent(event);
}
开发者ID:Comcast,项目名称:WebKitForWayland,代码行数:12,代码来源:NetscapePluginUnix.cpp
示例2: WebKit2PlatformMouseEvent
WebKit2PlatformMouseEvent(const WebMouseEvent& webEvent)
{
switch (webEvent.type()) {
case WebEvent::MouseDown:
m_eventType = WebCore::MouseEventPressed;
break;
case WebEvent::MouseUp:
m_eventType = WebCore::MouseEventReleased;
break;
case WebEvent::MouseMove:
m_eventType = WebCore::MouseEventMoved;
break;
default:
ASSERT_NOT_REACHED();
}
switch (webEvent.button()) {
case WebMouseEvent::NoButton:
m_button = WebCore::NoButton;
break;
case WebMouseEvent::LeftButton:
m_button = WebCore::LeftButton;
break;
case WebMouseEvent::MiddleButton:
m_button = WebCore::MiddleButton;
break;
case WebMouseEvent::RightButton:
m_button = WebCore::RightButton;
break;
default:
ASSERT_NOT_REACHED();
}
m_position = webEvent.position();
m_globalPosition = webEvent.globalPosition();
m_clickCount = webEvent.clickCount();
m_timestamp = webEvent.timestamp();
m_shiftKey = webEvent.shiftKey();
m_ctrlKey = webEvent.controlKey();
m_altKey = webEvent.altKey();
m_metaKey = webEvent.metaKey();
m_modifierFlags = 0;
if (m_shiftKey)
m_modifierFlags |= WebEvent::ShiftKey;
if (m_ctrlKey)
m_modifierFlags |= WebEvent::ControlKey;
if (m_altKey)
m_modifierFlags |= WebEvent::AltKey;
if (m_metaKey)
m_modifierFlags |= WebEvent::MetaKey;
}
开发者ID:achellies,项目名称:WinCEWebKit,代码行数:52,代码来源:WebEventConversion.cpp
示例3: mouseEvent
bool FindController::mouseEvent(PageOverlay*, const WebMouseEvent& mouseEvent)
{
if (mouseEvent.type() == WebEvent::MouseDown)
hideFindUI();
return false;
}
开发者ID:,项目名称:,代码行数:7,代码来源:
示例4: ASSERT
bool NetscapePluginX11::handleMouseEvent(const WebMouseEvent& event)
{
ASSERT(m_plugin.isWindowed());
XEvent xEvent;
initializeXEvent(xEvent);
switch (event.type()) {
case WebEvent::MouseDown:
case WebEvent::MouseUp:
setXButtonEventFields(xEvent, event, m_plugin.convertToRootView(IntPoint()));
break;
case WebEvent::MouseMove:
setXMotionEventFields(xEvent, event, m_plugin.convertToRootView(IntPoint()));
break;
case WebEvent::MouseForceChanged:
case WebEvent::MouseForceDown:
case WebEvent::MouseForceUp:
case WebEvent::NoType:
case WebEvent::Wheel:
case WebEvent::KeyDown:
case WebEvent::KeyUp:
case WebEvent::RawKeyDown:
case WebEvent::Char:
#if ENABLE(TOUCH_EVENTS)
case WebEvent::TouchStart:
case WebEvent::TouchMove:
case WebEvent::TouchEnd:
case WebEvent::TouchCancel:
#endif
return false;
}
return !m_plugin.NPP_HandleEvent(&xEvent);
}
开发者ID:aShinjiroUrata,项目名称:webkit,代码行数:35,代码来源:NetscapePluginX11.cpp
示例5: mouseEvent
bool PageOverlay::mouseEvent(const WebMouseEvent& mouseEvent)
{
// Ignore events outside the bounds.
if (!bounds().contains(mouseEvent.position()))
return false;
return m_client->mouseEvent(this, mouseEvent);
}
开发者ID:CannedFish,项目名称:deepin-webkit,代码行数:8,代码来源:PageOverlay.cpp
示例6: mouseEvent
void WebPageProxy::mouseEvent(const WebMouseEvent& event)
{
if (!isValid())
return;
// NOTE: This does not start the responsiveness timer because mouse move should not indicate interaction.
if (event.type() != WebEvent::MouseMove)
process()->responsivenessTimer()->start();
process()->connection()->send(WebPageMessage::MouseEvent, m_pageID, CoreIPC::In(event));
}
开发者ID:UIKit0,项目名称:WebkitAIR,代码行数:10,代码来源:WebPageProxy.cpp
示例7: platformHandleMouseEvent
bool NetscapePlugin::platformHandleMouseEvent(const WebMouseEvent& event)
{
if (m_isWindowed)
return false;
if ((event.type() == WebEvent::MouseDown || event.type() == WebEvent::MouseUp)
&& event.button() == WebMouseEvent::RightButton
&& quirks().contains(PluginQuirks::IgnoreRightClickInWindowlessMode))
return false;
XEvent xEvent;
initializeXEvent(xEvent);
switch (event.type()) {
case WebEvent::MouseDown:
case WebEvent::MouseUp:
setXButtonEventFields(xEvent, event, convertToRootView(IntPoint()));
break;
case WebEvent::MouseMove:
setXMotionEventFields(xEvent, event, convertToRootView(IntPoint()));
break;
case WebEvent::NoType:
case WebEvent::Wheel:
case WebEvent::KeyDown:
case WebEvent::KeyUp:
case WebEvent::RawKeyDown:
case WebEvent::Char:
#if ENABLE(GESTURE_EVENTS)
case WebEvent::GestureScrollBegin:
case WebEvent::GestureScrollEnd:
#endif
#if ENABLE(TOUCH_EVENTS)
case WebEvent::TouchStart:
case WebEvent::TouchMove:
case WebEvent::TouchEnd:
case WebEvent::TouchCancel:
#endif
return false;
}
return !NPP_HandleEvent(&xEvent);
}
开发者ID:,项目名称:,代码行数:42,代码来源:
示例8: setXButtonEventFields
static inline void setXButtonEventFields(XEvent& xEvent, const WebMouseEvent& webEvent, const WebCore::IntPoint& pluginLocation)
{
XButtonEvent& xButton = xEvent.xbutton;
setCommonMouseEventFields(xButton, webEvent, pluginLocation);
xButton.type = (webEvent.type() == WebEvent::MouseDown) ? ButtonPress : ButtonRelease;
switch (webEvent.button()) {
case WebMouseEvent::LeftButton:
xButton.button = Button1;
break;
case WebMouseEvent::MiddleButton:
xButton.button = Button2;
break;
case WebMouseEvent::RightButton:
xButton.button = Button3;
break;
default:
ASSERT_NOT_REACHED();
break;
}
}
开发者ID:,项目名称:,代码行数:21,代码来源:
示例9: mouseEvent
virtual bool mouseEvent(PageOverlay* pageOverlay, const WebMouseEvent& event)
{
switch (event.type()) {
case WebEvent::MouseDown: {
if (!m_client.mouseDown)
return false;
return m_client.mouseDown(toAPI(pageOverlay), toAPI(event.position()), toAPI(event.button()), m_client.clientInfo);
}
case WebEvent::MouseUp: {
if (!m_client.mouseUp)
return false;
return m_client.mouseUp(toAPI(pageOverlay), toAPI(event.position()), toAPI(event.button()), m_client.clientInfo);
}
case WebEvent::MouseMove: {
if (event.button() == WebMouseEvent::NoButton) {
if (!m_client.mouseMoved)
return false;
return m_client.mouseMoved(toAPI(pageOverlay), toAPI(event.position()), m_client.clientInfo);
}
// This is a MouseMove event with a mouse button pressed. Call mouseDragged.
if (!m_client.mouseDragged)
return false;
return m_client.mouseDragged(toAPI(pageOverlay), toAPI(event.position()), toAPI(event.button()), m_client.clientInfo);
}
default:
return false;
}
}
开发者ID:3163504123,项目名称:phantomjs,代码行数:34,代码来源:WKBundlePageOverlay.cpp
示例10: WebKit2PlatformMouseEvent
WebKit2PlatformMouseEvent(const WebMouseEvent& webEvent)
{
// PlatformEvent
switch (webEvent.type()) {
case WebEvent::MouseDown:
m_type = WebCore::PlatformEvent::MousePressed;
m_force = WebCore::ForceAtClick;
break;
case WebEvent::MouseUp:
m_type = WebCore::PlatformEvent::MouseReleased;
m_force = WebCore::ForceAtClick;
break;
case WebEvent::MouseMove:
m_type = WebCore::PlatformEvent::MouseMoved;
m_force = webEvent.force();
break;
case WebEvent::MouseForceChanged:
m_type = WebCore::PlatformEvent::MouseForceChanged;
m_force = webEvent.force();
break;
case WebEvent::MouseForceDown:
m_type = WebCore::PlatformEvent::MouseForceDown;
m_force = WebCore::ForceAtForceClick;
break;
case WebEvent::MouseForceUp:
m_type = WebCore::PlatformEvent::MouseForceUp;
m_force = WebCore::ForceAtForceClick;
break;
default:
ASSERT_NOT_REACHED();
}
m_modifiers = 0;
if (webEvent.shiftKey())
m_modifiers |= ShiftKey;
if (webEvent.controlKey())
m_modifiers |= CtrlKey;
if (webEvent.altKey())
m_modifiers |= AltKey;
if (webEvent.metaKey())
m_modifiers |= MetaKey;
m_timestamp = webEvent.timestamp();
// PlatformMouseEvent
switch (webEvent.button()) {
case WebMouseEvent::NoButton:
m_button = WebCore::NoButton;
break;
case WebMouseEvent::LeftButton:
m_button = WebCore::LeftButton;
break;
case WebMouseEvent::MiddleButton:
m_button = WebCore::MiddleButton;
break;
case WebMouseEvent::RightButton:
m_button = WebCore::RightButton;
break;
default:
ASSERT_NOT_REACHED();
}
m_position = webEvent.position();
m_globalPosition = webEvent.globalPosition();
m_clickCount = webEvent.clickCount();
#if PLATFORM(MAC)
m_eventNumber = webEvent.eventNumber();
m_menuTypeForEvent = webEvent.menuTypeForEvent();
#endif
m_modifierFlags = 0;
if (webEvent.shiftKey())
m_modifierFlags |= WebEvent::ShiftKey;
if (webEvent.controlKey())
m_modifierFlags |= WebEvent::ControlKey;
if (webEvent.altKey())
m_modifierFlags |= WebEvent::AltKey;
if (webEvent.metaKey())
m_modifierFlags |= WebEvent::MetaKey;
}
开发者ID:mu326668629,项目名称:webkit,代码行数:80,代码来源:WebEventConversion.cpp
示例11: ASSERT
void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder& arguments)
{
if (messageID.is<CoreIPC::MessageClassDrawingArea>()) {
ASSERT(m_drawingArea);
m_drawingArea->didReceiveMessage(connection, messageID, arguments);
return;
}
switch (messageID.get<WebPageMessage::Kind>()) {
case WebPageMessage::SetActive: {
bool active;
if (!arguments.decode(active))
return;
setActive(active);
break;
}
case WebPageMessage::SetFocused: {
bool focused;
if (!arguments.decode(focused))
return;
setFocused(focused);
break;
}
case WebPageMessage::MouseEvent: {
WebMouseEvent event;
if (!arguments.decode(event))
return;
connection->send(WebPageProxyMessage::DidReceiveEvent, m_pageID, CoreIPC::In((uint32_t)event.type()));
PlatformMouseEvent platformEvent = platform(event);
mouseEvent(platformEvent);
break;
}
case WebPageMessage::WheelEvent: {
WebWheelEvent event;
if (!arguments.decode(event))
return;
connection->send(WebPageProxyMessage::DidReceiveEvent, m_pageID, CoreIPC::In((uint32_t)event.type()));
PlatformWheelEvent platformEvent = platform(event);
wheelEvent(platformEvent);
break;
}
case WebPageMessage::KeyEvent: {
WebKeyboardEvent event;
if (!arguments.decode(event))
return;
connection->send(WebPageProxyMessage::DidReceiveEvent, m_pageID, CoreIPC::In((uint32_t)event.type()));
PlatformKeyboardEvent platformEvent = platform(event);
keyEvent(platformEvent);
break;
}
case WebPageMessage::LoadURL: {
String url;
if (!arguments.decode(url))
return;
loadURL(url);
break;
}
case WebPageMessage::StopLoading:
stopLoading();
break;
case WebPageMessage::Reload:
bool reloadFromOrigin;
if (!arguments.decode(CoreIPC::Out(reloadFromOrigin)))
return;
reload(reloadFromOrigin);
break;
case WebPageMessage::GoForward:
goForward();
break;
case WebPageMessage::GoBack:
goBack();
break;
case WebPageMessage::DidReceivePolicyDecision: {
uint64_t frameID;
uint64_t listenerID;
uint32_t policyAction;
if (!arguments.decode(CoreIPC::Out(frameID, listenerID, policyAction)))
return;
didReceivePolicyDecision(webFrame(frameID), listenerID, (WebCore::PolicyAction)policyAction);
break;
}
case WebPageMessage::RunJavaScriptInMainFrame: {
String script;
uint64_t callbackID;
if (!arguments.decode(CoreIPC::Out(script, callbackID)))
return;
runJavaScriptInMainFrame(script, callbackID);
break;
}
case WebPageMessage::GetRenderTreeExternalRepresentation: {
uint64_t callbackID;
if (!arguments.decode(callbackID))
return;
getRenderTreeExternalRepresentation(callbackID);
break;
}
//.........这里部分代码省略.........
开发者ID:,项目名称:,代码行数:101,代码来源:
示例12: WebKit2PlatformMouseEvent
WebKit2PlatformMouseEvent(const WebMouseEvent& webEvent)
{
// PlatformEvent
switch (webEvent.type()) {
case WebEvent::MouseDown:
m_type = WebCore::PlatformEvent::MousePressed;
break;
case WebEvent::MouseUp:
m_type = WebCore::PlatformEvent::MouseReleased;
break;
case WebEvent::MouseMove:
m_type = WebCore::PlatformEvent::MouseMoved;
break;
default:
ASSERT_NOT_REACHED();
}
m_modifiers = 0;
if (webEvent.shiftKey())
m_modifiers |= ShiftKey;
if (webEvent.controlKey())
m_modifiers |= CtrlKey;
if (webEvent.altKey())
m_modifiers |= AltKey;
if (webEvent.metaKey())
m_modifiers |= MetaKey;
m_timestamp = webEvent.timestamp();
// PlatformMouseEvent
switch (webEvent.button()) {
case WebMouseEvent::NoButton:
m_button = WebCore::NoButton;
break;
case WebMouseEvent::LeftButton:
m_button = WebCore::LeftButton;
break;
case WebMouseEvent::MiddleButton:
m_button = WebCore::MiddleButton;
break;
case WebMouseEvent::RightButton:
m_button = WebCore::RightButton;
break;
default:
ASSERT_NOT_REACHED();
}
m_position = webEvent.position();
m_globalPosition = webEvent.globalPosition();
m_clickCount = webEvent.clickCount();
m_modifierFlags = 0;
if (webEvent.shiftKey())
m_modifierFlags |= WebEvent::ShiftKey;
if (webEvent.controlKey())
m_modifierFlags |= WebEvent::ControlKey;
if (webEvent.altKey())
m_modifierFlags |= WebEvent::AltKey;
if (webEvent.metaKey())
m_modifierFlags |= WebEvent::MetaKey;
#if PLATFORM(WIN)
m_didActivateWebView = webEvent.didActivateWebView();
#endif
}
开发者ID:dzhshf,项目名称:WebKit,代码行数:65,代码来源:WebEventConversion.cpp
示例13: toNP
NPEvent toNP(const WebMouseEvent& event)
{
NPEvent npEvent;
npEvent.wParam = 0;
if (event.controlKey())
npEvent.wParam |= MK_CONTROL;
if (event.shiftKey())
npEvent.wParam |= MK_SHIFT;
npEvent.lParam = MAKELPARAM(event.position().x(), event.position().y());
switch (event.type()) {
case WebEvent::MouseMove:
npEvent.event = WM_MOUSEMOVE;
switch (event.button()) {
case WebMouseEvent::LeftButton:
npEvent.wParam |= MK_LBUTTON;
break;
case WebMouseEvent::MiddleButton:
npEvent.wParam |= MK_MBUTTON;
break;
case WebMouseEvent::RightButton:
npEvent.wParam |= MK_RBUTTON;
break;
case WebMouseEvent::NoButton:
break;
}
break;
case WebEvent::MouseDown:
switch (event.button()) {
case WebMouseEvent::LeftButton:
npEvent.event = WM_LBUTTONDOWN;
break;
case WebMouseEvent::MiddleButton:
npEvent.event = WM_MBUTTONDOWN;
break;
case WebMouseEvent::RightButton:
npEvent.event = WM_RBUTTONDOWN;
break;
case WebMouseEvent::NoButton:
ASSERT_NOT_REACHED();
break;
}
break;
case WebEvent::MouseUp:
switch (event.button()) {
case WebMouseEvent::LeftButton:
npEvent.event = WM_LBUTTONUP;
break;
case WebMouseEvent::MiddleButton:
npEvent.event = WM_MBUTTONUP;
break;
case WebMouseEvent::RightButton:
npEvent.event = WM_RBUTTONUP;
break;
case WebMouseEvent::NoButton:
ASSERT_NOT_REACHED();
break;
}
break;
default:
ASSERT_NOT_REACHED();
break;
}
return npEvent;
}
开发者ID:dzhshf,项目名称:WebKit,代码行数:68,代码来源:NetscapePluginWin.cpp
注:本文中的WebMouseEvent类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论