Displaying 3 results from an estimated 3 matches for "swfdec_movie_global_to_local_matrix".
2007 Nov 20
0
4 commits - libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_resource.c test/image test/trace
...sk and masked movie don't match
diff --git a/libswfdec/swfdec_movie.c b/libswfdec/swfdec_movie.c
index 2325138..a3772c8 100644
--- a/libswfdec/swfdec_movie.c
+++ b/libswfdec/swfdec_movie.c
@@ -564,6 +564,32 @@ swfdec_movie_rect_local_to_global (SwfdecMovie *movie, SwfdecRect *rect)
}
void
+swfdec_movie_global_to_local_matrix (SwfdecMovie *movie, cairo_matrix_t *matrix)
+{
+ g_return_if_fail (SWFDEC_IS_MOVIE (movie));
+ g_return_if_fail (matrix != NULL);
+
+ cairo_matrix_init_identity (matrix);
+ while (movie) {
+ cairo_matrix_multiply (matrix, &movie->inverse_matrix, matrix);
+ movie = movie->parent...
2008 Jan 02
0
3 commits - libswfdec/swfdec_movie.c test/trace
...rn_t *mask;
if (movie->parent == movie->masked_by->parent) {
cairo_transform (cr, &movie->inverse_matrix);
+ rect = *inval;
} else {
- cairo_matrix_t mat;
+ cairo_matrix_t mat, mat2;
swfdec_movie_local_to_global_matrix (movie, &mat);
+ swfdec_movie_global_to_local_matrix (movie->masked_by, &mat2);
+ cairo_matrix_multiply (&mat, &mat2, &mat);
cairo_transform (cr, &mat);
- swfdec_movie_global_to_local_matrix (movie->masked_by, &mat);
- cairo_transform (cr, &mat);
+ if (cairo_matrix_invert (&mat) == CAIR...
2007 Nov 20
0
7 commits - libswfdec/swfdec_movie.c libswfdec/swfdec_sprite_movie_as.c test/image
...>
Date: Tue Nov 20 12:46:27 2007 +0100
update the movie's matrix before computing the to/from-global matrix
diff --git a/libswfdec/swfdec_movie.c b/libswfdec/swfdec_movie.c
index a3772c8..0fbf8a2 100644
--- a/libswfdec/swfdec_movie.c
+++ b/libswfdec/swfdec_movie.c
@@ -571,6 +571,8 @@ swfdec_movie_global_to_local_matrix (SwfdecMovie *movie, cairo_matrix_t *matrix)
cairo_matrix_init_identity (matrix);
while (movie) {
+ if (movie->cache_state >= SWFDEC_MOVIE_INVALID_MATRIX)
+ swfdec_movie_update (movie);
cairo_matrix_multiply (matrix, &movie->inverse_matrix, matrix);
movie = mo...