{
ClutterVertex verts[4];
gfloat x_min = G_MAXFLOAT, y_min = G_MAXFLOAT;
+ gfloat v[4] = { 0, };
gint i;
/* Get the actors allocation transformed into screen coordinates.
*y_offset = ROUND (y_min);
#undef ROUND
+
+ /* since we're setting up a viewport with a negative offset to paint
+ * in an FBO with the same modelview and projection matrices as the
+ * stage, we need to offset the computed absolute allocation vertices
+ * with the current viewport's X and Y offsets. this works even with
+ * the default case where the viewport is set up by Clutter to be
+ * (0, 0, stage_width, stage_height)
+ */
+ cogl_get_viewport (v);
+ *x_offset -= v[0];
+ *y_offset -= v[1];
}
static gboolean
clutter_actor_set_position (hand, 240, 140);
clutter_actor_show (hand);
clutter_actor_add_effect_with_name (hand, "desaturate", clutter_desaturate_effect_new (0.75));
+ clutter_actor_add_effect_with_name (hand, "blur", clutter_blur_effect_new ());
clutter_actor_animate_with_timeline (hand, CLUTTER_LINEAR, timeline,
"@effects.desaturate.factor", 1.0,
NULL);