mirror of
https://github.com/brl/mutter.git
synced 2025-02-16 21:34:09 +00:00
clutter: Update ClutterActorClass event vmethods to use ClutterEvent
With the ClutterEvent subtype structs sealed, this remains the only useful struct type that is now usable on the Javascript side. Make all ClutterActorClass event vmethods use ClutterEvent, and update all users to this change. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3163>
This commit is contained in:
parent
f168866369
commit
1d6d8d45d0
@ -6963,7 +6963,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
|
||||
/**
|
||||
* ClutterActor::button-press-event:
|
||||
* @actor: the actor which received the event
|
||||
* @event: (type ClutterButtonEvent): a #ClutterButtonEvent
|
||||
* @event: (type ClutterEvent): a button [struct@Event]
|
||||
*
|
||||
* The signal is emitted each time a mouse button
|
||||
* is pressed on @actor.
|
||||
@ -6986,7 +6986,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
|
||||
/**
|
||||
* ClutterActor::button-release-event:
|
||||
* @actor: the actor which received the event
|
||||
* @event: (type ClutterButtonEvent): a #ClutterButtonEvent
|
||||
* @event: (type ClutterEvent): a button [struct@Event]
|
||||
*
|
||||
* The signal is emitted each time a mouse button
|
||||
* is released on @actor.
|
||||
@ -7009,7 +7009,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
|
||||
/**
|
||||
* ClutterActor::scroll-event:
|
||||
* @actor: the actor which received the event
|
||||
* @event: (type ClutterScrollEvent): a #ClutterScrollEvent
|
||||
* @event: (type ClutterEvent): a scroll [struct@Event]
|
||||
*
|
||||
* The signal is emitted each time the mouse is
|
||||
* scrolled on @actor
|
||||
@ -7032,7 +7032,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
|
||||
/**
|
||||
* ClutterActor::key-press-event:
|
||||
* @actor: the actor which received the event
|
||||
* @event: (type ClutterKeyEvent): a #ClutterKeyEvent
|
||||
* @event: (type ClutterEvent): a key [struct@Event]
|
||||
*
|
||||
* The signal is emitted each time a keyboard button
|
||||
* is pressed while @actor has key focus (see clutter_stage_set_key_focus()).
|
||||
@ -7055,7 +7055,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
|
||||
/**
|
||||
* ClutterActor::key-release-event:
|
||||
* @actor: the actor which received the event
|
||||
* @event: (type ClutterKeyEvent): a #ClutterKeyEvent
|
||||
* @event: (type ClutterEvent): a key [struct@Event]
|
||||
*
|
||||
* The signal is emitted each time a keyboard button
|
||||
* is released while @actor has key focus (see
|
||||
@ -7079,7 +7079,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
|
||||
/**
|
||||
* ClutterActor::motion-event:
|
||||
* @actor: the actor which received the event
|
||||
* @event: (type ClutterMotionEvent): a #ClutterMotionEvent
|
||||
* @event: (type ClutterEvent): a motion [struct@Event]
|
||||
*
|
||||
* The signal is emitted each time the mouse pointer is
|
||||
* moved over @actor.
|
||||
@ -7131,7 +7131,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
|
||||
/**
|
||||
* ClutterActor::enter-event:
|
||||
* @actor: the actor which the pointer has entered.
|
||||
* @event: (type ClutterCrossingEvent): a #ClutterCrossingEvent
|
||||
* @event: (type ClutterEvent): a crossing [struct@Event]
|
||||
*
|
||||
* The signal is emitted when the pointer enters the @actor
|
||||
*
|
||||
@ -7154,7 +7154,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
|
||||
/**
|
||||
* ClutterActor::leave-event:
|
||||
* @actor: the actor which the pointer has left
|
||||
* @event: (type ClutterCrossingEvent): a #ClutterCrossingEvent
|
||||
* @event: (type ClutterEvent): a crossing [struct@Event]
|
||||
*
|
||||
* The signal is emitted when the pointer leaves the @actor.
|
||||
*
|
||||
|
@ -236,21 +236,21 @@ struct _ClutterActorClass
|
||||
gboolean (* event) (ClutterActor *actor,
|
||||
ClutterEvent *event);
|
||||
gboolean (* button_press_event) (ClutterActor *actor,
|
||||
ClutterButtonEvent *event);
|
||||
ClutterEvent *event);
|
||||
gboolean (* button_release_event) (ClutterActor *actor,
|
||||
ClutterButtonEvent *event);
|
||||
ClutterEvent *event);
|
||||
gboolean (* scroll_event) (ClutterActor *actor,
|
||||
ClutterScrollEvent *event);
|
||||
ClutterEvent *event);
|
||||
gboolean (* key_press_event) (ClutterActor *actor,
|
||||
ClutterKeyEvent *event);
|
||||
ClutterEvent *event);
|
||||
gboolean (* key_release_event) (ClutterActor *actor,
|
||||
ClutterKeyEvent *event);
|
||||
ClutterEvent *event);
|
||||
gboolean (* motion_event) (ClutterActor *actor,
|
||||
ClutterMotionEvent *event);
|
||||
ClutterEvent *event);
|
||||
gboolean (* enter_event) (ClutterActor *actor,
|
||||
ClutterCrossingEvent *event);
|
||||
ClutterEvent *event);
|
||||
gboolean (* leave_event) (ClutterActor *actor,
|
||||
ClutterCrossingEvent *event);
|
||||
ClutterEvent *event);
|
||||
gboolean (* captured_event) (ClutterActor *actor,
|
||||
ClutterEvent *event);
|
||||
void (* key_focus_in) (ClutterActor *actor);
|
||||
@ -270,7 +270,7 @@ struct _ClutterActorClass
|
||||
ClutterPaintNode *root);
|
||||
|
||||
gboolean (* touch_event) (ClutterActor *self,
|
||||
ClutterTouchEvent *event);
|
||||
ClutterEvent *event);
|
||||
gboolean (* has_accessible) (ClutterActor *self);
|
||||
void (* resource_scale_changed) (ClutterActor *self);
|
||||
float (* calculate_resource_scale) (ClutterActor *self,
|
||||
|
@ -69,8 +69,8 @@
|
||||
* ```
|
||||
*
|
||||
* The actor should then override the [signal@Actor::key-press-event] and
|
||||
* use [method@BindingPool.activate] to match a [struct@KeyEvent] structure
|
||||
* to one of the actions:
|
||||
* use [method@BindingPool.activate] to match a [struct@Event] key event
|
||||
* structure to one of the actions:
|
||||
*
|
||||
* ```c
|
||||
* ClutterBindingPool *pool;
|
||||
|
@ -30,8 +30,8 @@
|
||||
* Action for gesture gestures
|
||||
*
|
||||
* #ClutterGestureAction is a sub-class of [class@Action] that implements
|
||||
* the logic for recognizing gesture gestures. It listens for low level events
|
||||
* such as [struct@ButtonEvent] and [struct@MotionEvent] on the stage to raise
|
||||
* the logic for recognizing gesture gestures. It listens for low level
|
||||
* [struct@Event] events on the stage to raise
|
||||
* the [signal@GestureAction::gesture-begin], [signal@GestureAction::gesture-progress],
|
||||
* and [signal@GestureAction::gesture-end] signals.
|
||||
*
|
||||
|
@ -2365,42 +2365,42 @@ clutter_text_release (ClutterActor *actor,
|
||||
}
|
||||
|
||||
static gboolean
|
||||
clutter_text_button_press (ClutterActor *actor,
|
||||
ClutterButtonEvent *event)
|
||||
clutter_text_button_press (ClutterActor *actor,
|
||||
ClutterEvent *event)
|
||||
{
|
||||
return clutter_text_press (actor, (ClutterEvent *) event);
|
||||
return clutter_text_press (actor, event);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
clutter_text_motion (ClutterActor *actor,
|
||||
ClutterMotionEvent *event)
|
||||
clutter_text_motion (ClutterActor *actor,
|
||||
ClutterEvent *event)
|
||||
{
|
||||
return clutter_text_move (actor, (ClutterEvent *) event);
|
||||
return clutter_text_move (actor, event);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
clutter_text_button_release (ClutterActor *actor,
|
||||
ClutterButtonEvent *event)
|
||||
clutter_text_button_release (ClutterActor *actor,
|
||||
ClutterEvent *event)
|
||||
{
|
||||
return clutter_text_release (actor, (ClutterEvent *) event);
|
||||
return clutter_text_release (actor, event);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
clutter_text_touch_event (ClutterActor *actor,
|
||||
ClutterTouchEvent *event)
|
||||
clutter_text_touch_event (ClutterActor *actor,
|
||||
ClutterEvent *event)
|
||||
{
|
||||
switch (clutter_event_type ((ClutterEvent *) event))
|
||||
switch (clutter_event_type (event))
|
||||
{
|
||||
case CLUTTER_TOUCH_BEGIN:
|
||||
return clutter_text_press (actor, (ClutterEvent *) event);
|
||||
return clutter_text_press (actor, event);
|
||||
|
||||
case CLUTTER_TOUCH_END:
|
||||
case CLUTTER_TOUCH_CANCEL:
|
||||
/* TODO: the cancel case probably need a special handler */
|
||||
return clutter_text_release (actor, (ClutterEvent *) event);
|
||||
return clutter_text_release (actor, event);
|
||||
|
||||
case CLUTTER_TOUCH_UPDATE:
|
||||
return clutter_text_move (actor, (ClutterEvent *) event);
|
||||
return clutter_text_move (actor, event);
|
||||
|
||||
default:
|
||||
break;
|
||||
@ -2424,8 +2424,8 @@ clutter_text_remove_password_hint (gpointer data)
|
||||
}
|
||||
|
||||
static gboolean
|
||||
clutter_text_key_press (ClutterActor *actor,
|
||||
ClutterKeyEvent *event)
|
||||
clutter_text_key_press (ClutterActor *actor,
|
||||
ClutterEvent *event)
|
||||
{
|
||||
ClutterText *self = CLUTTER_TEXT (actor);
|
||||
ClutterTextPrivate *priv = self->priv;
|
||||
@ -2445,14 +2445,13 @@ clutter_text_key_press (ClutterActor *actor,
|
||||
pool = clutter_binding_pool_find (g_type_name (CLUTTER_TYPE_TEXT));
|
||||
g_assert (pool != NULL);
|
||||
|
||||
flags = clutter_event_get_flags ((ClutterEvent *) event);
|
||||
keyval = clutter_event_get_key_symbol ((ClutterEvent *) event);
|
||||
modifiers = clutter_event_get_state ((ClutterEvent *) event);
|
||||
flags = clutter_event_get_flags (event);
|
||||
keyval = clutter_event_get_key_symbol (event);
|
||||
modifiers = clutter_event_get_state (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))
|
||||
clutter_input_focus_filter_event (priv->input_focus, event))
|
||||
return CLUTTER_EVENT_STOP;
|
||||
|
||||
/* we allow passing synthetic events that only contain
|
||||
@ -2479,7 +2478,7 @@ clutter_text_key_press (ClutterActor *actor,
|
||||
gunichar key_unichar;
|
||||
|
||||
/* Skip keys when control is pressed */
|
||||
key_unichar = clutter_event_get_key_unicode ((ClutterEvent *) event);
|
||||
key_unichar = clutter_event_get_key_unicode (event);
|
||||
|
||||
/* return is reported as CR, but we want LF */
|
||||
if (key_unichar == '\r')
|
||||
@ -2514,15 +2513,14 @@ clutter_text_key_press (ClutterActor *actor,
|
||||
}
|
||||
|
||||
static gboolean
|
||||
clutter_text_key_release (ClutterActor *actor,
|
||||
ClutterKeyEvent *event)
|
||||
clutter_text_key_release (ClutterActor *actor,
|
||||
ClutterEvent *event)
|
||||
{
|
||||
ClutterText *self = CLUTTER_TEXT (actor);
|
||||
ClutterTextPrivate *priv = self->priv;
|
||||
|
||||
if (clutter_input_focus_is_focused (priv->input_focus) &&
|
||||
clutter_input_focus_filter_event (priv->input_focus,
|
||||
(ClutterEvent *) event))
|
||||
clutter_input_focus_filter_event (priv->input_focus, event))
|
||||
return CLUTTER_EVENT_STOP;
|
||||
|
||||
return CLUTTER_EVENT_PROPAGATE;
|
||||
|
@ -110,8 +110,8 @@ key_group_action_activate (KeyGroup *self,
|
||||
}
|
||||
|
||||
static gboolean
|
||||
key_group_key_press (ClutterActor *actor,
|
||||
ClutterKeyEvent *event)
|
||||
key_group_key_press (ClutterActor *actor,
|
||||
ClutterEvent *event)
|
||||
{
|
||||
ClutterBindingPool *pool;
|
||||
gboolean res;
|
||||
@ -120,8 +120,8 @@ key_group_key_press (ClutterActor *actor,
|
||||
g_assert (pool != NULL);
|
||||
|
||||
res = clutter_binding_pool_activate (pool,
|
||||
clutter_event_get_key_symbol ((ClutterEvent *) event),
|
||||
clutter_event_get_state ((ClutterEvent *) event),
|
||||
clutter_event_get_key_symbol (event),
|
||||
clutter_event_get_state (event),
|
||||
G_OBJECT (actor));
|
||||
|
||||
/* if we activate a key binding, redraw the actor */
|
||||
|
@ -130,8 +130,8 @@ key_group_action_activate (KeyGroup *self,
|
||||
}
|
||||
|
||||
static gboolean
|
||||
key_group_key_press (ClutterActor *actor,
|
||||
ClutterKeyEvent *event)
|
||||
key_group_key_press (ClutterActor *actor,
|
||||
ClutterEvent *event)
|
||||
{
|
||||
ClutterBindingPool *pool;
|
||||
gboolean res;
|
||||
@ -140,8 +140,8 @@ key_group_key_press (ClutterActor *actor,
|
||||
g_assert (pool != NULL);
|
||||
|
||||
res = clutter_binding_pool_activate (pool,
|
||||
clutter_event_get_key_symbol ((ClutterEvent *) event),
|
||||
clutter_event_get_state ((ClutterEvent *) event),
|
||||
clutter_event_get_key_symbol (event),
|
||||
clutter_event_get_state (event),
|
||||
G_OBJECT (actor));
|
||||
|
||||
/* if we activate a key binding, redraw the actor */
|
||||
|
Loading…
x
Reference in New Issue
Block a user