[mutter] backend: Pass stage view to cursor-painted signal
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] backend: Pass stage view to cursor-painted signal
- Date: Mon, 8 Mar 2021 10:19:07 +0000 (UTC)
commit cd9ae13465290c09e000c54791b2d71acddd1857
Author: Ivan Molodetskikh <yalterz gmail com>
Date: Tue Feb 2 16:49:56 2021 +0300
backend: Pass stage view to cursor-painted signal
Will be used for presentation-time handling.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1484>
src/backends/meta-cursor-renderer.c | 16 +++++++++++-----
src/backends/meta-cursor-renderer.h | 3 ++-
src/backends/native/meta-cursor-renderer-native.c | 4 +++-
src/wayland/meta-wayland-cursor-surface.c | 1 +
4 files changed, 17 insertions(+), 7 deletions(-)
---
diff --git a/src/backends/meta-cursor-renderer.c b/src/backends/meta-cursor-renderer.c
index 46f561fe33..3353b17d3d 100644
--- a/src/backends/meta-cursor-renderer.c
+++ b/src/backends/meta-cursor-renderer.c
@@ -97,9 +97,10 @@ meta_hw_cursor_inhibitor_default_init (MetaHwCursorInhibitorInterface *iface)
void
meta_cursor_renderer_emit_painted (MetaCursorRenderer *renderer,
- MetaCursorSprite *cursor_sprite)
+ MetaCursorSprite *cursor_sprite,
+ ClutterStageView *stage_view)
{
- g_signal_emit (renderer, signals[CURSOR_PAINTED], 0, cursor_sprite);
+ g_signal_emit (renderer, signals[CURSOR_PAINTED], 0, cursor_sprite, stage_view);
}
static void
@@ -177,7 +178,11 @@ meta_cursor_renderer_after_paint (ClutterStage *stage,
clutter_stage_view_get_layout (stage_view, &view_layout);
view_rect = meta_rectangle_to_graphene_rect (&view_layout);
if (graphene_rect_intersection (&rect, &view_rect, NULL))
- meta_cursor_renderer_emit_painted (renderer, priv->displayed_cursor);
+ {
+ meta_cursor_renderer_emit_painted (renderer,
+ priv->displayed_cursor,
+ stage_view);
+ }
}
}
@@ -308,8 +313,9 @@ meta_cursor_renderer_class_init (MetaCursorRendererClass *klass)
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
+ G_TYPE_NONE, 2,
+ G_TYPE_POINTER,
+ CLUTTER_TYPE_STAGE_VIEW);
}
static void
diff --git a/src/backends/meta-cursor-renderer.h b/src/backends/meta-cursor-renderer.h
index 8d23cc6f56..f6de01bfbc 100644
--- a/src/backends/meta-cursor-renderer.h
+++ b/src/backends/meta-cursor-renderer.h
@@ -72,7 +72,8 @@ graphene_rect_t meta_cursor_renderer_calculate_rect (MetaCursorRenderer *rendere
MetaCursorSprite *cursor_sprite);
void meta_cursor_renderer_emit_painted (MetaCursorRenderer *renderer,
- MetaCursorSprite *cursor_sprite);
+ MetaCursorSprite *cursor_sprite,
+ ClutterStageView *stage_view);
ClutterInputDevice * meta_cursor_renderer_get_input_device (MetaCursorRenderer *renderer);
void meta_cursor_renderer_update_stage_overlay (MetaCursorRenderer *renderer,
diff --git a/src/backends/native/meta-cursor-renderer-native.c
b/src/backends/native/meta-cursor-renderer-native.c
index 3899bd205c..bb436b2c05 100644
--- a/src/backends/native/meta-cursor-renderer-native.c
+++ b/src/backends/native/meta-cursor-renderer-native.c
@@ -564,7 +564,9 @@ meta_cursor_renderer_native_prepare_frame (MetaCursorRendererNative *cursor_rend
set_crtc_cursor (cursor_renderer_native, view, crtc, cursor_sprite);
- meta_cursor_renderer_emit_painted (cursor_renderer, cursor_sprite);
+ meta_cursor_renderer_emit_painted (cursor_renderer,
+ cursor_sprite,
+ CLUTTER_STAGE_VIEW (view));
crtc_cursor_data->needs_sync_position = FALSE;
crtc_cursor_data->hw_state_invalidated = FALSE;
diff --git a/src/wayland/meta-wayland-cursor-surface.c b/src/wayland/meta-wayland-cursor-surface.c
index 60c5d6c3db..a24f3a3be8 100644
--- a/src/wayland/meta-wayland-cursor-surface.c
+++ b/src/wayland/meta-wayland-cursor-surface.c
@@ -334,6 +334,7 @@ meta_wayland_cursor_surface_get_hotspot (MetaWaylandCursorSurface *cursor_surfac
static void
on_cursor_painted (MetaCursorRenderer *renderer,
MetaCursorSprite *displayed_sprite,
+ ClutterStageView *stage_view,
MetaWaylandCursorSurface *cursor_surface)
{
MetaWaylandCursorSurfacePrivate *priv =
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]