mirror of
https://github.com/brl/mutter.git
synced 2025-02-23 00:14:09 +00:00
clutter: Use ClutterEvent getter methods
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153>
This commit is contained in:
parent
1708becaea
commit
440c249031
@ -11667,13 +11667,16 @@ clutter_actor_event (ClutterActor *actor,
|
||||
gboolean retval = FALSE;
|
||||
gint signal_num = -1;
|
||||
GQuark detail = 0;
|
||||
ClutterEventType event_type;
|
||||
|
||||
g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), FALSE);
|
||||
g_return_val_if_fail (event != NULL, FALSE);
|
||||
|
||||
g_object_ref (actor);
|
||||
|
||||
switch (event->type)
|
||||
event_type = clutter_event_type (event);
|
||||
|
||||
switch (event_type)
|
||||
{
|
||||
case CLUTTER_NOTHING:
|
||||
break;
|
||||
@ -11758,7 +11761,7 @@ clutter_actor_event (ClutterActor *actor,
|
||||
|
||||
g_object_unref (actor);
|
||||
|
||||
if (event->type == CLUTTER_ENTER || event->type == CLUTTER_LEAVE)
|
||||
if (event_type == CLUTTER_ENTER || event_type == CLUTTER_LEAVE)
|
||||
{
|
||||
g_warn_if_fail (retval == CLUTTER_EVENT_PROPAGATE);
|
||||
return CLUTTER_EVENT_PROPAGATE;
|
||||
|
@ -179,16 +179,19 @@ clutter_input_focus_filter_event (ClutterInputFocus *focus,
|
||||
const ClutterEvent *event)
|
||||
{
|
||||
ClutterInputFocusPrivate *priv;
|
||||
ClutterEventType event_type;
|
||||
|
||||
g_return_val_if_fail (CLUTTER_IS_INPUT_FOCUS (focus), FALSE);
|
||||
g_return_val_if_fail (clutter_input_focus_is_focused (focus), FALSE);
|
||||
|
||||
priv = clutter_input_focus_get_instance_private (focus);
|
||||
|
||||
if (event->type == CLUTTER_KEY_PRESS ||
|
||||
event->type == CLUTTER_KEY_RELEASE)
|
||||
event_type = clutter_event_type (event);
|
||||
|
||||
if (event_type == CLUTTER_KEY_PRESS ||
|
||||
event_type == CLUTTER_KEY_RELEASE)
|
||||
{
|
||||
return clutter_input_method_filter_key_event (priv->im, &event->key);
|
||||
return clutter_input_method_filter_key_event (priv->im, (ClutterKeyEvent *) event);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
@ -199,31 +202,42 @@ clutter_input_focus_process_event (ClutterInputFocus *focus,
|
||||
const ClutterEvent *event)
|
||||
{
|
||||
ClutterInputFocusPrivate *priv;
|
||||
ClutterEventType event_type;
|
||||
|
||||
g_return_val_if_fail (CLUTTER_IS_INPUT_FOCUS (focus), FALSE);
|
||||
g_return_val_if_fail (clutter_input_focus_is_focused (focus), FALSE);
|
||||
|
||||
priv = clutter_input_focus_get_instance_private (focus);
|
||||
|
||||
if (event->type == CLUTTER_IM_COMMIT)
|
||||
event_type = clutter_event_type (event);
|
||||
|
||||
if (event_type == CLUTTER_IM_COMMIT)
|
||||
{
|
||||
clutter_input_focus_commit (focus, event->im.text);
|
||||
clutter_input_focus_commit (focus,
|
||||
clutter_event_get_im_text (event));
|
||||
return TRUE;
|
||||
}
|
||||
else if (event->type == CLUTTER_IM_DELETE)
|
||||
else if (event_type == CLUTTER_IM_DELETE)
|
||||
{
|
||||
clutter_input_focus_delete_surrounding (focus, event->im.offset,
|
||||
event->im.len);
|
||||
int32_t offset;
|
||||
uint32_t len;
|
||||
|
||||
clutter_event_get_im_location (event, &offset, NULL);
|
||||
len = clutter_event_get_im_delete_length (event);
|
||||
clutter_input_focus_delete_surrounding (focus, offset, len);
|
||||
return TRUE;
|
||||
}
|
||||
else if (event->type == CLUTTER_IM_PREEDIT)
|
||||
else if (event_type == CLUTTER_IM_PREEDIT)
|
||||
{
|
||||
int32_t offset, anchor;
|
||||
|
||||
g_clear_pointer (&priv->preedit, g_free);
|
||||
priv->preedit = g_strdup (event->im.text);
|
||||
priv->mode = event->im.mode;
|
||||
clutter_input_focus_set_preedit_text (focus, event->im.text,
|
||||
event->im.offset,
|
||||
event->im.anchor);
|
||||
priv->preedit = g_strdup (clutter_event_get_im_text (event));
|
||||
priv->mode = clutter_event_get_im_preedit_reset_mode (event);
|
||||
clutter_event_get_im_location (event, &offset, &anchor);
|
||||
clutter_input_focus_set_preedit_text (focus,
|
||||
priv->preedit,
|
||||
offset, anchor);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -736,13 +736,14 @@ clutter_input_pointer_a11y_update (ClutterInputDevice *device,
|
||||
|
||||
ClutterMainContext *clutter_context;
|
||||
ClutterBackend *backend;
|
||||
ClutterEventType event_type;
|
||||
|
||||
g_return_if_fail (clutter_event_get_device (event) == device);
|
||||
|
||||
if (!_clutter_is_input_pointer_a11y_enabled (device))
|
||||
return;
|
||||
|
||||
if ((event->any.flags & CLUTTER_EVENT_FLAG_SYNTHETIC) != 0)
|
||||
if ((clutter_event_get_flags (event) & CLUTTER_EVENT_FLAG_SYNTHETIC) != 0)
|
||||
return;
|
||||
|
||||
clutter_context = _clutter_context_get_default ();
|
||||
@ -751,18 +752,20 @@ clutter_input_pointer_a11y_update (ClutterInputDevice *device,
|
||||
if (!clutter_backend_is_display_server (backend))
|
||||
return;
|
||||
|
||||
if (event->type == CLUTTER_MOTION)
|
||||
event_type = clutter_event_type (event);
|
||||
|
||||
if (event_type == CLUTTER_MOTION)
|
||||
{
|
||||
float x, y;
|
||||
|
||||
clutter_event_get_coords (event, &x, &y);
|
||||
_clutter_input_pointer_a11y_on_motion_event (device, x, y);
|
||||
}
|
||||
else if (event->type == CLUTTER_BUTTON_PRESS ||
|
||||
event->type == CLUTTER_BUTTON_RELEASE)
|
||||
else if (event_type == CLUTTER_BUTTON_PRESS ||
|
||||
event_type == CLUTTER_BUTTON_RELEASE)
|
||||
{
|
||||
_clutter_input_pointer_a11y_on_button_event (device,
|
||||
event->button.button,
|
||||
event->type == CLUTTER_BUTTON_PRESS);
|
||||
clutter_event_get_button (event),
|
||||
event_type == CLUTTER_BUTTON_PRESS);
|
||||
}
|
||||
}
|
||||
|
@ -685,8 +685,12 @@ static inline void
|
||||
emit_event (ClutterStage *stage,
|
||||
ClutterEvent *event)
|
||||
{
|
||||
if (event->type == CLUTTER_KEY_PRESS ||
|
||||
event->type == CLUTTER_KEY_RELEASE)
|
||||
ClutterEventType event_type;
|
||||
|
||||
event_type = clutter_event_type (event);
|
||||
|
||||
if (event_type == CLUTTER_KEY_PRESS ||
|
||||
event_type == CLUTTER_KEY_RELEASE)
|
||||
cally_snoop_key_event (stage, (ClutterKeyEvent *) event);
|
||||
|
||||
clutter_stage_emit_event (stage, event);
|
||||
@ -729,7 +733,7 @@ maybe_remove_device_for_event (ClutterStage *stage,
|
||||
graphene_point_t point;
|
||||
uint32_t time;
|
||||
|
||||
if (event->type == CLUTTER_DEVICE_REMOVED)
|
||||
if (clutter_event_type (event) == CLUTTER_DEVICE_REMOVED)
|
||||
{
|
||||
ClutterInputDeviceType device_type =
|
||||
clutter_input_device_get_device_type (device);
|
||||
@ -776,6 +780,7 @@ clutter_stage_handle_event (ClutterStage *stage,
|
||||
{
|
||||
ClutterContext *context = _clutter_context_get_default();
|
||||
ClutterActor *event_actor = NULL;
|
||||
ClutterEventType event_type;
|
||||
gboolean filtered;
|
||||
|
||||
g_return_if_fail (CLUTTER_IS_STAGE (stage));
|
||||
@ -785,7 +790,9 @@ clutter_stage_handle_event (ClutterStage *stage,
|
||||
if (CLUTTER_ACTOR_IN_DESTRUCTION (stage))
|
||||
return;
|
||||
|
||||
switch (event->any.type)
|
||||
event_type = clutter_event_type (event);
|
||||
|
||||
switch (event_type)
|
||||
{
|
||||
case CLUTTER_ENTER:
|
||||
case CLUTTER_MOTION:
|
||||
@ -798,10 +805,10 @@ clutter_stage_handle_event (ClutterStage *stage,
|
||||
break;
|
||||
}
|
||||
|
||||
if (event->any.type != CLUTTER_DEVICE_ADDED &&
|
||||
event->any.type != CLUTTER_DEVICE_REMOVED &&
|
||||
event->any.type != CLUTTER_NOTHING &&
|
||||
event->any.type != CLUTTER_EVENT_LAST)
|
||||
if (event_type != CLUTTER_DEVICE_ADDED &&
|
||||
event_type != CLUTTER_DEVICE_REMOVED &&
|
||||
event_type != CLUTTER_NOTHING &&
|
||||
event_type != CLUTTER_EVENT_LAST)
|
||||
{
|
||||
event_actor = clutter_stage_get_event_actor (stage, event);
|
||||
}
|
||||
@ -815,11 +822,11 @@ clutter_stage_handle_event (ClutterStage *stage,
|
||||
|
||||
if (filtered)
|
||||
{
|
||||
if (event->type == CLUTTER_MOTION ||
|
||||
event->type == CLUTTER_BUTTON_RELEASE ||
|
||||
event->type == CLUTTER_TOUCH_UPDATE ||
|
||||
event->type == CLUTTER_TOUCH_END ||
|
||||
event->type == CLUTTER_TOUCH_CANCEL)
|
||||
if (event_type == CLUTTER_MOTION ||
|
||||
event_type == CLUTTER_BUTTON_RELEASE ||
|
||||
event_type == CLUTTER_TOUCH_UPDATE ||
|
||||
event_type == CLUTTER_TOUCH_END ||
|
||||
event_type == CLUTTER_TOUCH_CANCEL)
|
||||
{
|
||||
ClutterInputDevice *device = clutter_event_get_device (event);
|
||||
ClutterEventSequence *sequence = clutter_event_get_event_sequence (event);
|
||||
@ -832,9 +839,9 @@ clutter_stage_handle_event (ClutterStage *stage,
|
||||
_clutter_stage_queue_event (stage, event, TRUE);
|
||||
}
|
||||
|
||||
if (event->type == CLUTTER_TOUCH_END ||
|
||||
event->type == CLUTTER_TOUCH_CANCEL ||
|
||||
event->type == CLUTTER_DEVICE_REMOVED)
|
||||
if (event_type == CLUTTER_TOUCH_END ||
|
||||
event_type == CLUTTER_TOUCH_CANCEL ||
|
||||
event_type == CLUTTER_DEVICE_REMOVED)
|
||||
{
|
||||
_clutter_stage_process_queued_events (stage);
|
||||
maybe_remove_device_for_event (stage, event, TRUE);
|
||||
@ -846,7 +853,7 @@ _clutter_process_event_details (ClutterActor *stage,
|
||||
ClutterMainContext *context,
|
||||
ClutterEvent *event)
|
||||
{
|
||||
switch (event->type)
|
||||
switch (clutter_event_type (event))
|
||||
{
|
||||
case CLUTTER_NOTHING:
|
||||
break;
|
||||
|
@ -641,7 +641,7 @@ clutter_seat_handle_event_post (ClutterSeat *seat,
|
||||
device = clutter_event_get_source_device (event);
|
||||
g_assert_true (CLUTTER_IS_INPUT_DEVICE (device));
|
||||
|
||||
switch (event->type)
|
||||
switch (clutter_event_type (event))
|
||||
{
|
||||
case CLUTTER_DEVICE_ADDED:
|
||||
g_signal_emit (seat, signals[DEVICE_ADDED], 0, device);
|
||||
|
@ -755,17 +755,21 @@ _clutter_stage_process_queued_events (ClutterStage *stage)
|
||||
/* Skip consecutive motion events coming from the same device. */
|
||||
if (next_event != NULL)
|
||||
{
|
||||
if (event->type == CLUTTER_MOTION &&
|
||||
(next_event->type == CLUTTER_MOTION ||
|
||||
next_event->type == CLUTTER_LEAVE) &&
|
||||
float x, y;
|
||||
|
||||
clutter_event_get_coords (event, &x, &y);
|
||||
|
||||
if (clutter_event_type (event) == CLUTTER_MOTION &&
|
||||
(clutter_event_type (next_event) == CLUTTER_MOTION ||
|
||||
clutter_event_type (next_event) == CLUTTER_LEAVE) &&
|
||||
(!check_device || (device == next_device)))
|
||||
{
|
||||
CLUTTER_NOTE (EVENT,
|
||||
"Omitting motion event at %d, %d",
|
||||
(int) event->motion.x,
|
||||
(int) event->motion.y);
|
||||
(int) x,
|
||||
(int) y);
|
||||
|
||||
if (next_event->type == CLUTTER_MOTION)
|
||||
if (clutter_event_type (next_event) == CLUTTER_MOTION)
|
||||
{
|
||||
ClutterEvent *new_event;
|
||||
|
||||
@ -781,15 +785,16 @@ _clutter_stage_process_queued_events (ClutterStage *stage)
|
||||
|
||||
goto next_event;
|
||||
}
|
||||
else if (event->type == CLUTTER_TOUCH_UPDATE &&
|
||||
next_event->type == CLUTTER_TOUCH_UPDATE &&
|
||||
event->touch.sequence == next_event->touch.sequence &&
|
||||
else if (clutter_event_type (event) == CLUTTER_TOUCH_UPDATE &&
|
||||
clutter_event_type (next_event) == CLUTTER_TOUCH_UPDATE &&
|
||||
clutter_event_get_event_sequence (event) ==
|
||||
clutter_event_get_event_sequence (next_event) &&
|
||||
(!check_device || (device == next_device)))
|
||||
{
|
||||
CLUTTER_NOTE (EVENT,
|
||||
"Omitting touch update event at %d, %d",
|
||||
(int) event->touch.x,
|
||||
(int) event->touch.y);
|
||||
(int) x,
|
||||
(int) y);
|
||||
goto next_event;
|
||||
}
|
||||
}
|
||||
@ -4113,7 +4118,7 @@ clutter_stage_get_event_actor (ClutterStage *stage,
|
||||
g_return_val_if_fail (CLUTTER_IS_STAGE (stage), NULL);
|
||||
g_return_val_if_fail (event != NULL, NULL);
|
||||
|
||||
switch (event->type)
|
||||
switch (clutter_event_type (event))
|
||||
{
|
||||
case CLUTTER_KEY_PRESS:
|
||||
case CLUTTER_KEY_RELEASE:
|
||||
@ -4290,13 +4295,16 @@ clutter_stage_emit_event (ClutterStage *self,
|
||||
PointerDeviceEntry *entry;
|
||||
ClutterActor *target_actor = NULL, *seat_grab_actor = NULL;
|
||||
gboolean is_sequence_begin, is_sequence_end;
|
||||
ClutterEventType event_type;
|
||||
|
||||
if (sequence != NULL)
|
||||
entry = g_hash_table_lookup (priv->touch_sequences, sequence);
|
||||
else
|
||||
entry = g_hash_table_lookup (priv->pointer_devices, device);
|
||||
|
||||
switch (event->type)
|
||||
event_type = clutter_event_type (event);
|
||||
|
||||
switch (event_type)
|
||||
{
|
||||
case CLUTTER_NOTHING:
|
||||
case CLUTTER_DEVICE_REMOVED:
|
||||
@ -4358,10 +4366,10 @@ clutter_stage_emit_event (ClutterStage *self,
|
||||
seat_grab_actor = priv->topmost_grab ? priv->topmost_grab->actor : CLUTTER_ACTOR (self);
|
||||
|
||||
is_sequence_begin =
|
||||
event->type == CLUTTER_BUTTON_PRESS || event->type == CLUTTER_TOUCH_BEGIN;
|
||||
event_type == CLUTTER_BUTTON_PRESS || event_type == CLUTTER_TOUCH_BEGIN;
|
||||
is_sequence_end =
|
||||
event->type == CLUTTER_BUTTON_RELEASE || event->type == CLUTTER_TOUCH_END ||
|
||||
event->type == CLUTTER_TOUCH_CANCEL;
|
||||
event_type == CLUTTER_BUTTON_RELEASE || event_type == CLUTTER_TOUCH_END ||
|
||||
event_type == CLUTTER_TOUCH_CANCEL;
|
||||
|
||||
if (is_sequence_begin && setup_implicit_grab (entry))
|
||||
{
|
||||
@ -4393,7 +4401,7 @@ clutter_stage_emit_event (ClutterStage *self,
|
||||
if (is_sequence_end && release_implicit_grab (entry))
|
||||
{
|
||||
/* Sync crossings after the implicit grab for mice */
|
||||
if (event->type == CLUTTER_BUTTON_RELEASE)
|
||||
if (event_type == CLUTTER_BUTTON_RELEASE)
|
||||
sync_crossings_on_implicit_grab_end (self, entry);
|
||||
|
||||
cleanup_implicit_grab (entry);
|
||||
|
@ -2389,7 +2389,7 @@ static gboolean
|
||||
clutter_text_touch_event (ClutterActor *actor,
|
||||
ClutterTouchEvent *event)
|
||||
{
|
||||
switch (event->type)
|
||||
switch (clutter_event_type ((ClutterEvent *) event))
|
||||
{
|
||||
case CLUTTER_TOUCH_BEGIN:
|
||||
return clutter_text_press (actor, (ClutterEvent *) event);
|
||||
@ -2430,6 +2430,9 @@ clutter_text_key_press (ClutterActor *actor,
|
||||
ClutterText *self = CLUTTER_TEXT (actor);
|
||||
ClutterTextPrivate *priv = self->priv;
|
||||
ClutterBindingPool *pool;
|
||||
ClutterEventFlags flags;
|
||||
ClutterModifierType modifiers;
|
||||
uint32_t keyval;
|
||||
gboolean res;
|
||||
|
||||
if (!priv->editable)
|
||||
@ -2442,7 +2445,11 @@ clutter_text_key_press (ClutterActor *actor,
|
||||
pool = clutter_binding_pool_find (g_type_name (CLUTTER_TYPE_TEXT));
|
||||
g_assert (pool != NULL);
|
||||
|
||||
if (!(event->flags & CLUTTER_EVENT_FLAG_INPUT_METHOD) &&
|
||||
flags = clutter_event_get_flags ((ClutterEvent *) event);
|
||||
keyval = clutter_event_get_key_symbol ((ClutterEvent *) event);
|
||||
modifiers = clutter_event_get_state ((ClutterEvent *) event);
|
||||
|
||||
if (!(flags & CLUTTER_EVENT_FLAG_INPUT_METHOD) &&
|
||||
clutter_input_focus_is_focused (priv->input_focus) &&
|
||||
clutter_input_focus_filter_event (priv->input_focus,
|
||||
(ClutterEvent *) event))
|
||||
@ -2452,12 +2459,12 @@ clutter_text_key_press (ClutterActor *actor,
|
||||
* the Unicode value and not the key symbol, unless they
|
||||
* contain the input method flag.
|
||||
*/
|
||||
if (event->keyval == 0 && (event->flags & CLUTTER_EVENT_FLAG_SYNTHETIC) &&
|
||||
!(event->flags & CLUTTER_EVENT_FLAG_INPUT_METHOD))
|
||||
if (keyval == 0 && (flags & CLUTTER_EVENT_FLAG_SYNTHETIC) &&
|
||||
!(flags & CLUTTER_EVENT_FLAG_INPUT_METHOD))
|
||||
res = FALSE;
|
||||
else
|
||||
res = clutter_binding_pool_activate (pool, event->keyval,
|
||||
event->modifier_state,
|
||||
res = clutter_binding_pool_activate (pool, keyval,
|
||||
modifiers,
|
||||
G_OBJECT (actor));
|
||||
|
||||
/* if the key binding has handled the event we bail out
|
||||
@ -2467,7 +2474,7 @@ clutter_text_key_press (ClutterActor *actor,
|
||||
*/
|
||||
if (res)
|
||||
return CLUTTER_EVENT_STOP;
|
||||
else if ((event->modifier_state & CLUTTER_CONTROL_MASK) == 0)
|
||||
else if ((modifiers & CLUTTER_CONTROL_MASK) == 0)
|
||||
{
|
||||
gunichar key_unichar;
|
||||
|
||||
@ -3074,11 +3081,14 @@ clutter_text_event (ClutterActor *self,
|
||||
{
|
||||
ClutterText *text = CLUTTER_TEXT (self);
|
||||
ClutterTextPrivate *priv = text->priv;
|
||||
ClutterEventType event_type;
|
||||
|
||||
event_type = clutter_event_type (event);
|
||||
|
||||
if (clutter_input_focus_is_focused (priv->input_focus) &&
|
||||
(event->type == CLUTTER_IM_COMMIT ||
|
||||
event->type == CLUTTER_IM_DELETE ||
|
||||
event->type == CLUTTER_IM_PREEDIT))
|
||||
(event_type == CLUTTER_IM_COMMIT ||
|
||||
event_type == CLUTTER_IM_DELETE ||
|
||||
event_type == CLUTTER_IM_PREEDIT))
|
||||
{
|
||||
return clutter_input_focus_process_event (priv->input_focus, event);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user