[mutter/wip/carlosg/grabs-pt1: 13/13] clutter: Add specific event flag to tag "grab notify" crossing events
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/carlosg/grabs-pt1: 13/13] clutter: Add specific event flag to tag "grab notify" crossing events
- Date: Tue, 23 Nov 2021 11:29:00 +0000 (UTC)
commit 7eea71e25630035abf740852ad9cdaf212385521
Author: Carlos Garnacho <carlosg gnome org>
Date: Fri Oct 29 12:29:51 2021 +0200
clutter: Add specific event flag to tag "grab notify" crossing events
These events may need some differentiation or special handling, so add
this event flag and set it in the relevant events.
clutter/clutter/clutter-enums.h | 1 +
clutter/clutter/clutter-stage.c | 8 +++++---
2 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/clutter/clutter/clutter-enums.h b/clutter/clutter/clutter-enums.h
index 0c889d1482..e8c10a819c 100644
--- a/clutter/clutter/clutter-enums.h
+++ b/clutter/clutter/clutter-enums.h
@@ -804,6 +804,7 @@ typedef enum /*< flags prefix=CLUTTER_EVENT >*/
CLUTTER_EVENT_FLAG_INPUT_METHOD = 1 << 1,
CLUTTER_EVENT_FLAG_REPEATED = 1 << 2,
CLUTTER_EVENT_FLAG_RELATIVE_MOTION = 1 << 3,
+ CLUTTER_EVENT_FLAG_GRAB_NOTIFY = 1 << 4,
} ClutterEventFlags;
/**
diff --git a/clutter/clutter/clutter-stage.c b/clutter/clutter/clutter-stage.c
index 85ebec59d9..0370646315 100644
--- a/clutter/clutter/clutter-stage.c
+++ b/clutter/clutter/clutter-stage.c
@@ -3461,6 +3461,7 @@ create_crossing_event (ClutterStage *stage,
ClutterInputDevice *device,
ClutterEventSequence *sequence,
ClutterEventType event_type,
+ ClutterEventFlags flags,
ClutterActor *source,
ClutterActor *related,
graphene_point_t coords,
@@ -3470,7 +3471,7 @@ create_crossing_event (ClutterStage *stage,
event = clutter_event_new (event_type);
event->crossing.time = time;
- event->crossing.flags = 0;
+ event->crossing.flags = flags;
event->crossing.stage = stage;
event->crossing.source = source;
event->crossing.x = coords.x;
@@ -3539,7 +3540,7 @@ clutter_stage_update_device (ClutterStage *stage,
{
event = create_crossing_event (stage,
device, sequence,
- CLUTTER_LEAVE,
+ CLUTTER_LEAVE, 0,
old_actor, new_actor,
point, time);
_clutter_actor_handle_event (old_actor, root, event);
@@ -3551,7 +3552,7 @@ clutter_stage_update_device (ClutterStage *stage,
{
event = create_crossing_event (stage,
device, sequence,
- CLUTTER_ENTER,
+ CLUTTER_ENTER, 0,
new_actor, old_actor,
point, time);
_clutter_actor_handle_event (new_actor, root, event);
@@ -3669,6 +3670,7 @@ clutter_stage_notify_grab_on_entry (ClutterStage *stage,
entry->device,
entry->sequence,
event_type,
+ CLUTTER_EVENT_FLAG_GRAB_NOTIFY,
entry->current_actor,
event_type == CLUTTER_LEAVE ?
grab_actor : old_grab_actor,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]