libswfdec/swfdec_video_movie.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) New commits: commit 4c1b9db30f8bf3797c1d9be7a7ac3adb33ff54a3 Author: Benjamin Otte <otte at gnome.org> Date: Tue Dec 11 13:35:58 2007 +0100 make VideoMovies invalidate properly fixes Youtube invalidation issues diff --git a/libswfdec/swfdec_video_movie.c b/libswfdec/swfdec_video_movie.c index 7ee48cf..f13b961 100644 --- a/libswfdec/swfdec_video_movie.c +++ b/libswfdec/swfdec_video_movie.c @@ -115,6 +115,18 @@ swfdec_video_movie_set_ratio (SwfdecMovie *movie) } static void +swfdec_video_movie_invalidate (SwfdecMovie *movie, const cairo_matrix_t *matrix, gboolean last) +{ + SwfdecVideoMovie *video = SWFDEC_VIDEO_MOVIE (movie); + SwfdecRect rect = { 0, 0, + SWFDEC_TWIPS_SCALE_FACTOR * video->video->width, + SWFDEC_TWIPS_SCALE_FACTOR * video->video->height }; + + swfdec_rect_transform (&rect, &rect, matrix); + swfdec_player_invalidate (SWFDEC_PLAYER (SWFDEC_AS_OBJECT (movie)->context), &rect); +} + +static void swfdec_video_movie_init_movie (SwfdecMovie *movie) { SwfdecPlayer *player = SWFDEC_PLAYER (SWFDEC_AS_OBJECT (movie)->context); @@ -132,6 +144,7 @@ swfdec_video_movie_class_init (SwfdecVideoMovieClass * g_class) movie_class->update_extents = swfdec_video_movie_update_extents; movie_class->render = swfdec_video_movie_render; + movie_class->invalidate = swfdec_video_movie_invalidate; movie_class->init_movie = swfdec_video_movie_init_movie; movie_class->set_ratio = swfdec_video_movie_set_ratio; }