Benjamin Otte
2007-Jun-14 12:07 UTC
[Swfdec] Branch 'as' - 7 commits - libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_tag.c player/Makefile.am
libswfdec/swfdec_movie.c | 14 +++++++++++--- libswfdec/swfdec_player.c | 1 + libswfdec/swfdec_sprite_movie.c | 4 ++-- libswfdec/swfdec_tag.c | 3 +++ player/Makefile.am | 4 ++-- 5 files changed, 19 insertions(+), 7 deletions(-) New commits: diff-tree 228be8a9445d25e41ecd7a09102c85609ec81ad7 (from 361883eb263c60510a743ad9e419d263bc898ac8) Author: Benjamin Otte <otte at gnome.org> Date: Thu Jun 14 14:07:07 2007 +0200 mark a dragged movie as modified so its position doesn;t get reset all the time diff --git a/libswfdec/swfdec_player.c b/libswfdec/swfdec_player.c index 038b5d4..bcc3952 100644 --- a/libswfdec/swfdec_player.c +++ b/libswfdec/swfdec_player.c @@ -500,6 +500,7 @@ swfdec_player_set_drag_movie (SwfdecPlay /* FIXME: need a way to make sure we get updated */ if (drag) { swfdec_movie_update (drag); + drag->modified = TRUE; swfdec_player_update_drag_movie (player); } } diff-tree 361883eb263c60510a743ad9e419d263bc898ac8 (from c80a83a1441bb9b02208a385813bd5ca2daee0e7) Author: Benjamin Otte <otte at gnome.org> Date: Thu Jun 14 13:42:07 2007 +0200 only copy x0 and y0 on unmodified movies diff --git a/libswfdec/swfdec_movie.c b/libswfdec/swfdec_movie.c index 0a0056c..be3e877 100644 --- a/libswfdec/swfdec_movie.c +++ b/libswfdec/swfdec_movie.c @@ -138,7 +138,15 @@ swfdec_movie_update_matrix (SwfdecMovie { double d, e; - movie->matrix = movie->original_transform; + /* we operate on x0 and y0 when setting movie._x and movie._y */ + if (movie->modified) { + movie->matrix.xx = movie->original_transform.xx; + movie->matrix.yx = movie->original_transform.yx; + movie->matrix.xy = movie->original_transform.xy; + movie->matrix.yy = movie->original_transform.yy; + } else { + movie->matrix = movie->original_transform; + } d = movie->xscale / swfdec_matrix_get_xscale (&movie->original_transform); e = movie->yscale / swfdec_matrix_get_yscale (&movie->original_transform); @@ -714,7 +722,7 @@ swfdec_movie_dispose (GObject *object) g_assert (movie->list == NULL); - SWFDEC_LOG ("disposing movie %s", movie->name); + SWFDEC_LOG ("disposing movie %s (depth %d)", movie->name, movie->depth); if (movie->swf) { g_object_unref (movie->swf); movie->swf = NULL; diff-tree c80a83a1441bb9b02208a385813bd5ca2daee0e7 (from c9f2ca49fc68171b9c26bc320b368008b0a6cdfc) Author: Benjamin Otte <otte at gnome.org> Date: Thu Jun 14 13:40:27 2007 +0200 set the depth before using it, not after diff --git a/libswfdec/swfdec_movie.c b/libswfdec/swfdec_movie.c index 361f68d..0a0056c 100644 --- a/libswfdec/swfdec_movie.c +++ b/libswfdec/swfdec_movie.c @@ -896,6 +896,7 @@ swfdec_movie_new (SwfdecPlayer *player, SWFDEC_AS_OBJECT (movie)->context = SWFDEC_AS_CONTEXT (player); } /* set essential properties */ + movie->depth = depth; movie->parent = parent; if (parent) { movie->swf = g_object_ref (parent->swf); @@ -905,7 +906,6 @@ swfdec_movie_new (SwfdecPlayer *player, } else { player->roots = g_list_insert_sorted (player->roots, movie, swfdec_movie_compare_depths); } - movie->depth = depth; /* set its name */ if (name) { movie->original_name = name; diff-tree c9f2ca49fc68171b9c26bc320b368008b0a6cdfc (from 21a41f6fd163e5630112765f90af019cf2b55535) Author: Benjamin Otte <otte at gnome.org> Date: Thu Jun 14 13:38:03 2007 +0200 set the properties on the child not on ourselves (d'oh) diff --git a/libswfdec/swfdec_sprite_movie.c b/libswfdec/swfdec_sprite_movie.c index da8dad4..3fc00f3 100644 --- a/libswfdec/swfdec_sprite_movie.c +++ b/libswfdec/swfdec_sprite_movie.c @@ -86,7 +86,7 @@ swfdec_sprite_movie_perform_one_action ( child = swfdec_movie_find (mov, content->depth); if (child != NULL) { /* FIXME: add ability to change characters - This needs lots of refactoring */ - swfdec_movie_set_static_properties (movie, content->has_transform ? &content->transform : NULL, + swfdec_movie_set_static_properties (child, content->has_transform ? &content->transform : NULL, content->has_color_transform ? &content->color_transform : NULL, content->ratio, content->clip_depth, content->events); if (content->name && !g_str_equal (content->name, child->name)) { diff-tree 21a41f6fd163e5630112765f90af019cf2b55535 (from 0ac0d3e2d6f09ece63ea5a736e80aec413b45ab8) Author: Benjamin Otte <otte at gnome.org> Date: Thu Jun 14 13:35:36 2007 +0200 only skip the movie if its original name is empty, not the parent's diff --git a/libswfdec/swfdec_sprite_movie.c b/libswfdec/swfdec_sprite_movie.c index 14a307c..da8dad4 100644 --- a/libswfdec/swfdec_sprite_movie.c +++ b/libswfdec/swfdec_sprite_movie.c @@ -369,7 +369,7 @@ swfdec_sprite_movie_get_by_name (SwfdecM for (walk = movie->list; walk; walk = walk->next) { SwfdecMovie *cur = walk->data; - if (movie->original_name == SWFDEC_AS_STR_EMPTY) + if (cur->original_name == SWFDEC_AS_STR_EMPTY) continue; if ((version >= 7 && cur->name == name) || swfdec_str_case_equal (cur->name, name)) diff-tree 0ac0d3e2d6f09ece63ea5a736e80aec413b45ab8 (from a0bfba2fc48da805449c64e28a551542eccdafe5) Author: Benjamin Otte <otte at gnome.org> Date: Thu Jun 14 12:59:44 2007 +0200 fix order of LDFLAGS, so libtool doesn't link against installed libs diff --git a/player/Makefile.am b/player/Makefile.am index f29a0e8..2f284f7 100644 --- a/player/Makefile.am +++ b/player/Makefile.am @@ -25,10 +25,10 @@ noinst_HEADERS = \ swfdec_slow_loader.h swfplay_CFLAGS = $(GLOBAL_CFLAGS) $(GTK_CFLAGS) $(SWFDEC_GTK_CFLAGS) $(GNOMEVFS_CFLAGS) -swfplay_LDFLAGS = $(GTK_LIBS) $(SWFDEC_GTK_LIBS) $(GNOMEVFS_LIBS) +swfplay_LDFLAGS = $(SWFDEC_GTK_LIBS) $(GTK_LIBS) $(GNOMEVFS_LIBS) swfdebug_CFLAGS = $(GLOBAL_CFLAGS) $(GTK_CFLAGS) $(SWFDEC_GTK_CFLAGS) -DXP_UNIX -I$(top_builddir)/libswfdec/js -swfdebug_LDFLAGS = $(GTK_LIBS) $(SWFDEC_GTK_LIBS) +swfdebug_LDFLAGS = $(SWFDEC_GTK_LIBS) $(GTK_LIBS) endif diff-tree a0bfba2fc48da805449c64e28a551542eccdafe5 (from 0b73bfda7d0a1f59ecaa8f2f2e8e1519b4a2d668) Author: Benjamin Otte <otte at gnome.org> Date: Thu Jun 14 10:31:00 2007 +0200 set has_transform and has_color_transform for buttons diff --git a/libswfdec/swfdec_tag.c b/libswfdec/swfdec_tag.c index 1291ea0..5d6a336 100644 --- a/libswfdec/swfdec_tag.c +++ b/libswfdec/swfdec_tag.c @@ -401,11 +401,13 @@ tag_func_define_button_2 (SwfdecSwfDecod content = swfdec_content_new (depth); swfdec_bits_get_matrix (bits, &content->transform, NULL); + content->has_transform = TRUE; SWFDEC_LOG ("matrix: %g %g %g %g %g %g", content->transform.xx, content->transform.yy, content->transform.xy, content->transform.yx, content->transform.x0, content->transform.y0); swfdec_bits_get_color_transform (bits, &content->color_transform); + content->has_color_transform = TRUE; content->graphic = swfdec_swf_decoder_get_character (s, character); if (!SWFDEC_IS_GRAPHIC (content->graphic)) { @@ -477,6 +479,7 @@ tag_func_define_button (SwfdecSwfDecoder content = swfdec_content_new (depth); swfdec_bits_get_matrix (bits, &content->transform, NULL); + content->has_transform = TRUE; SWFDEC_LOG ("matrix: %g %g %g %g %g %g", content->transform.xx, content->transform.yy, content->transform.xy, content->transform.yx,
Maybe Matching Threads
- Branch 'as' - 4 commits - libswfdec/swfdec_edittext_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite_movie.c player/swfdec_debug_movies.c
- 2 commits - libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_tag.c libswfdec/swfdec_tag.h
- Branch 'as' - 8 commits - libswfdec/swfdec_movie.c libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_sprite_movie.h libswfdec/swfdec_swf_decoder.c libswfdec/swfdec_swf_decoder.h
- Branch 'vivi' - 24 commits - configure.ac libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_tag.c libswfdec/swfdec_tag.h vivified/core vivified/dock vivified/ui
- Branch 'as' - 3 commits - doc/Makefile.am libswfdec-gtk/Makefile.am Makefile.am player/Makefile.am test/Makefile.am