[vte] widget: Move GdkEvent from EventBase to KeyEvent
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vte] widget: Move GdkEvent from EventBase to KeyEvent
- Date: Mon, 2 Nov 2020 21:23:34 +0000 (UTC)
commit 87f70c44341879226443df403ab50b65f89c84ce
Author: Christian Persch <chpe src gnome org>
Date: Mon Nov 2 22:23:25 2020 +0100
widget: Move GdkEvent from EventBase to KeyEvent
Only the key events handling needs to access the native event anymore.
[gtk4 preparation]
src/widget.cc | 6 ++----
src/widget.hh | 28 +++++++++++-----------------
2 files changed, 13 insertions(+), 21 deletions(-)
---
diff --git a/src/widget.cc b/src/widget.cc
index 21cfff54..b5b741c9 100644
--- a/src/widget.cc
+++ b/src/widget.cc
@@ -481,8 +481,7 @@ Widget::mouse_event_from_gdk(GdkEvent* event) const /* throws */
auto button = unsigned{0};
(void)gdk_event_get_button(event, &button);
- return {event,
- type,
+ return {type,
press_count,
read_modifiers_from_gdk(event),
MouseEvent::Button(button),
@@ -517,8 +516,7 @@ Widget::scroll_event_from_gdk(GdkEvent* event) const /* throws */
}
}
- return {event,
- read_modifiers_from_gdk(event),
+ return {read_modifiers_from_gdk(event),
ScrollEvent::Button(button),
x, y,
dx, dy};
diff --git a/src/widget.hh b/src/widget.hh
index e0f5cd15..5cdc382a 100644
--- a/src/widget.hh
+++ b/src/widget.hh
@@ -63,15 +63,11 @@ protected:
EventBase() noexcept = default;
- constexpr EventBase(GdkEvent* gdk_event,
- Type type) noexcept
- : m_platform_event{gdk_event},
- m_type{type}
+ constexpr EventBase(Type type) noexcept
+ : m_type{type}
{
}
- constexpr auto platform_event() const noexcept { return m_platform_event; }
-
public:
~EventBase() noexcept = default;
@@ -83,7 +79,6 @@ public:
constexpr auto type() const noexcept { return m_type; }
private:
- GdkEvent* m_platform_event;
Type m_type;
}; // class EventBase
@@ -102,8 +97,8 @@ protected:
unsigned keycode,
uint8_t group,
bool is_modifier) noexcept
- : EventBase{gdk_event,
- type},
+ : EventBase{type},
+ m_platform_event{gdk_event},
m_modifiers{modifiers},
m_keyval{keyval},
m_keycode{keycode},
@@ -112,6 +107,8 @@ protected:
{
}
+ constexpr auto platform_event() const noexcept { return m_platform_event; }
+
public:
~KeyEvent() noexcept = default;
@@ -130,6 +127,7 @@ public:
constexpr auto is_key_release() const noexcept { return type() == Type::eKEY_RELEASE; }
private:
+ GdkEvent* m_platform_event;
unsigned m_modifiers;
unsigned m_keyval;
unsigned m_keycode;
@@ -155,15 +153,13 @@ protected:
MouseEvent() noexcept = default;
- constexpr MouseEvent(GdkEvent* gdk_event,
- Type type,
+ constexpr MouseEvent(Type type,
unsigned press_count,
unsigned modifiers,
Button button,
double x,
double y) noexcept
- : EventBase{gdk_event,
- type},
+ : EventBase{type},
m_press_count{press_count},
m_modifiers{modifiers},
m_button{button},
@@ -209,15 +205,13 @@ protected:
ScrollEvent() noexcept = default;
- constexpr ScrollEvent(GdkEvent* gdk_event,
- unsigned modifiers,
+ constexpr ScrollEvent(unsigned modifiers,
Button button,
double x,
double y,
double dx,
double dy) noexcept
- : MouseEvent{gdk_event,
- EventBase::Type::eMOUSE_SCROLL,
+ : MouseEvent{EventBase::Type::eMOUSE_SCROLL,
1, // press count
modifiers,
button,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]