[mutter] tests/clutter/touch-events: Use ClutterCanvas to draw touch
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] tests/clutter/touch-events: Use ClutterCanvas to draw touch
- Date: Wed, 13 Nov 2019 14:14:37 +0000 (UTC)
commit f7ad7e6c0fcfb8d6c085b8c9fe5ffffb0d2d6bbe
Author: Jonas Ã…dahl <jadahl gmail com>
Date: Tue Nov 12 18:40:34 2019 +0100
tests/clutter/touch-events: Use ClutterCanvas to draw touch
Change the interactive touch events test case to use ClutterCanvas to
draw touch points instead of using ClutterCairoTexture.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/932
src/tests/clutter/interactive/test-touch-events.c | 46 ++++++++---------------
1 file changed, 15 insertions(+), 31 deletions(-)
---
diff --git a/src/tests/clutter/interactive/test-touch-events.c
b/src/tests/clutter/interactive/test-touch-events.c
index fd23838ca..14ad6d314 100644
--- a/src/tests/clutter/interactive/test-touch-events.c
+++ b/src/tests/clutter/interactive/test-touch-events.c
@@ -51,12 +51,6 @@ test_touch_events_main (int argc, char *argv[]);
const char *
test_touch_events_describe (void);
-static void
-canvas_paint (ClutterCairoTexture *canvas)
-{
- clutter_cairo_texture_invalidate (canvas);
-}
-
static void
draw_touch (ClutterEvent *event,
cairo_t *cr)
@@ -80,8 +74,10 @@ draw_touch (ClutterEvent *event,
}
static gboolean
-draw_touches (ClutterCairoTexture *canvas,
- cairo_t *cr)
+draw_touches (ClutterCanvas *canvas,
+ cairo_t *cr,
+ int width,
+ int height)
{
g_queue_foreach (new_surface ? &all_events : &events, (GFunc) draw_touch, cr);
g_queue_clear (&events);
@@ -91,17 +87,6 @@ draw_touches (ClutterCairoTexture *canvas,
return TRUE;
}
-static cairo_surface_t *
-create_surface (ClutterCairoTexture *texture,
- guint width,
- guint height,
- gpointer user_data)
-{
- new_surface = TRUE;
-
- return NULL;
-}
-
static gboolean
event_cb (ClutterActor *actor, ClutterEvent *event, ClutterActor *canvas)
{
@@ -135,7 +120,8 @@ rect_event_cb (ClutterActor *actor, ClutterEvent *event, gpointer data)
G_MODULE_EXPORT int
test_touch_events_main (int argc, char *argv[])
{
- ClutterActor *stage, *canvas;
+ ClutterActor *stage, *canvas_actor;
+ ClutterContent *canvas;
int i;
/* initialize Clutter */
@@ -151,18 +137,16 @@ test_touch_events_main (int argc, char *argv[])
clutter_actor_show (stage);
/* our 2D canvas, courtesy of Cairo */
- canvas = clutter_cairo_texture_new (1, 1);
- g_signal_connect (canvas, "paint", G_CALLBACK (canvas_paint), NULL);
+ canvas = clutter_canvas_new ();
+ clutter_canvas_set_size (CLUTTER_CANVAS (canvas), STAGE_WIDTH, STAGE_HEIGHT);
g_signal_connect (canvas, "draw", G_CALLBACK (draw_touches), NULL);
- g_signal_connect (canvas, "create-surface", G_CALLBACK (create_surface), NULL);
- clutter_cairo_texture_set_auto_resize (CLUTTER_CAIRO_TEXTURE (canvas), TRUE);
- clutter_actor_add_constraint (canvas,
- clutter_bind_constraint_new (stage,
- CLUTTER_BIND_SIZE,
- 0));
- clutter_container_add_actor (CLUTTER_CONTAINER (stage), canvas);
-
- g_signal_connect (stage, "event", G_CALLBACK (event_cb), canvas);
+
+ canvas_actor = g_object_new (CLUTTER_TYPE_ACTOR,
+ "content", canvas,
+ NULL);
+ clutter_container_add_actor (CLUTTER_CONTAINER (stage), canvas_actor);
+
+ g_signal_connect (stage, "event", G_CALLBACK (event_cb), canvas_actor);
for (i = 0; i < NUM_ACTORS; i++)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]