Explorar el Código

WebContent: Pass mouse events through to the WebContent process

Just send the incoming mouse events across to the other side and let
LibWeb deal with them. :^)
Andreas Kling hace 5 años
padre
commit
e58a13e3f6
Se han modificado 2 ficheros con 18 adiciones y 0 borrados
  1. 15 0
      Demos/WebView/WebContentView.cpp
  2. 3 0
      Demos/WebView/WebContentView.h

+ 15 - 0
Demos/WebView/WebContentView.cpp

@@ -63,6 +63,21 @@ void WebContentView::resize_event(GUI::ResizeEvent& event)
     client().post_message(Messages::WebContentServer::Paint(m_bitmap->rect(), m_bitmap->shbuf_id()));
 }
 
+void WebContentView::mousedown_event(GUI::MouseEvent& event)
+{
+    client().post_message(Messages::WebContentServer::MouseDown(event.position(), event.button(), event.buttons(), event.modifiers()));
+}
+
+void WebContentView::mouseup_event(GUI::MouseEvent& event)
+{
+    client().post_message(Messages::WebContentServer::MouseUp(event.position(), event.button(), event.buttons(), event.modifiers()));
+}
+
+void WebContentView::mousemove_event(GUI::MouseEvent& event)
+{
+    client().post_message(Messages::WebContentServer::MouseMove(event.position(), event.button(), event.buttons(), event.modifiers()));
+}
+
 void WebContentView::notify_server_did_paint(Badge<WebContentClient>, i32 shbuf_id)
 {
     if (m_bitmap->shbuf_id() == shbuf_id)

+ 3 - 0
Demos/WebView/WebContentView.h

@@ -46,6 +46,9 @@ private:
 
     virtual void paint_event(GUI::PaintEvent&) override;
     virtual void resize_event(GUI::ResizeEvent&) override;
+    virtual void mousedown_event(GUI::MouseEvent&) override;
+    virtual void mouseup_event(GUI::MouseEvent&) override;
+    virtual void mousemove_event(GUI::MouseEvent&) override;
 
     WebContentClient& client();