Parcourir la source

PaintBrush: Tools can receive KeyUp events

Zyper il y a 5 ans
Parent
commit
b185c7f58a

+ 7 - 0
Applications/PaintBrush/PaintableWidget.cpp

@@ -103,6 +103,13 @@ void PaintableWidget::keydown_event(GKeyEvent& event)
     GWidget::keydown_event(event);
 }
 
+void PaintableWidget::keyup_event(GKeyEvent& event)
+{
+    if (m_tool)
+        m_tool->on_keyup(event);
+    GWidget::keyup_event(event);
+}
+
 void PaintableWidget::set_primary_color(Color color)
 {
     if (m_primary_color == color)

+ 1 - 0
Applications/PaintBrush/PaintableWidget.h

@@ -39,6 +39,7 @@ private:
     virtual void mouseup_event(GMouseEvent&) override;
     virtual void mousemove_event(GMouseEvent&) override;
     virtual void keydown_event(GKeyEvent&) override;
+    virtual void keyup_event(GKeyEvent&) override;
 
     RefPtr<GraphicsBitmap> m_bitmap;
 

+ 1 - 0
Applications/PaintBrush/Tool.h

@@ -14,6 +14,7 @@ public:
     virtual void on_contextmenu(GContextMenuEvent&) {}
     virtual void on_second_paint(GPaintEvent&) {}
     virtual void on_keydown(GKeyEvent&) {}
+    virtual void on_keyup(GKeyEvent&) {}
 
     void clear() { m_widget = nullptr; }
     void setup(PaintableWidget& widget) { m_widget = widget.make_weak_ptr(); }