clutter: Port ClutterInputMethod generated events to new constructors

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153>
This commit is contained in:
Carlos Garnacho 2023-07-21 19:01:12 +02:00
parent a4639db847
commit 6aa42d6dad

View File

@ -21,6 +21,7 @@
#include "clutter/clutter-build-config.h" #include "clutter/clutter-build-config.h"
#include "clutter/clutter-event-private.h"
#include "clutter/clutter-private.h" #include "clutter/clutter-private.h"
#include "clutter/clutter-input-device-private.h" #include "clutter/clutter-input-device-private.h"
#include "clutter/clutter-input-method.h" #include "clutter/clutter-input-method.h"
@ -280,28 +281,16 @@ clutter_input_method_put_im_event (ClutterInputMethod *im,
uint32_t len, uint32_t len,
ClutterPreeditResetMode mode) ClutterPreeditResetMode mode)
{ {
ClutterInputDevice *keyboard;
ClutterSeat *seat;
ClutterStageManager *stage_manager;
ClutterStage *stage;
ClutterEvent *event; ClutterEvent *event;
seat = clutter_backend_get_default_seat (clutter_get_default_backend ()); event = clutter_event_im_new (event_type,
keyboard = clutter_seat_get_keyboard (seat); CLUTTER_EVENT_FLAG_INPUT_METHOD,
stage_manager = clutter_stage_manager_get_default (); CLUTTER_CURRENT_TIME,
stage = clutter_stage_manager_get_default_stage (stage_manager); text,
offset,
event = clutter_event_new (event_type); anchor,
event->im.text = g_strdup (text); len,
event->im.offset = offset; mode);
event->im.anchor = anchor;
event->im.len = len;
event->im.mode = mode;
clutter_event_set_device (event, keyboard);
clutter_event_set_source_device (event, keyboard);
clutter_event_set_flags (event, CLUTTER_EVENT_FLAG_INPUT_METHOD);
clutter_event_set_stage (event, stage);
clutter_event_put (event); clutter_event_put (event);
clutter_event_free (event); clutter_event_free (event);
@ -478,8 +467,6 @@ clutter_input_method_forward_key (ClutterInputMethod *im,
ClutterInputMethodPrivate *priv; ClutterInputMethodPrivate *priv;
ClutterInputDevice *keyboard; ClutterInputDevice *keyboard;
ClutterSeat *seat; ClutterSeat *seat;
ClutterStageManager *stage_manager;
ClutterStage *stage;
ClutterEvent *event; ClutterEvent *event;
g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im)); g_return_if_fail (CLUTTER_IS_INPUT_METHOD (im));
@ -489,22 +476,17 @@ clutter_input_method_forward_key (ClutterInputMethod *im,
return; return;
seat = clutter_backend_get_default_seat (clutter_get_default_backend ()); seat = clutter_backend_get_default_seat (clutter_get_default_backend ());
stage_manager = clutter_stage_manager_get_default ();
stage = clutter_stage_manager_get_default_stage (stage_manager);
keyboard = clutter_seat_get_keyboard (seat); keyboard = clutter_seat_get_keyboard (seat);
event = clutter_event_new (press ? CLUTTER_KEY_PRESS : CLUTTER_KEY_RELEASE); event = clutter_event_key_new (press ? CLUTTER_KEY_PRESS : CLUTTER_KEY_RELEASE,
event->key.time = time_; CLUTTER_EVENT_FLAG_INPUT_METHOD,
event->key.flags = CLUTTER_EVENT_FLAG_INPUT_METHOD; time_,
event->key.modifier_state = state; keyboard,
event->key.keyval = keyval; state,
event->key.hardware_keycode = keycode; keyval,
event->key.evdev_code = keycode - 8; keycode - 8,
event->key.unicode_value = clutter_keysym_to_unicode (keyval); keycode,
clutter_keysym_to_unicode (keyval));
clutter_event_set_device (event, keyboard);
clutter_event_set_source_device (event, keyboard);
clutter_event_set_stage (event, stage);
clutter_event_put (event); clutter_event_put (event);
clutter_event_free (event); clutter_event_free (event);