gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp


From: Udo Giacomozzi
Subject: [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp
Date: Sat, 25 Nov 2006 16:30:04 +0000

CVSROOT:        /cvsroot/gnash
Module name:    gnash
Changes by:     Udo Giacomozzi <udog>   06/11/25 16:30:04

Modified files:
        .              : ChangeLog 
        server         : sprite_instance.cpp 

Log message:
        Don't draw sprites (and their childs) outside the clipping rectangle.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1767&r2=1.1768
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.87&r2=1.88

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/gnash/gnash/ChangeLog,v
retrieving revision 1.1767
retrieving revision 1.1768
diff -u -b -r1.1767 -r1.1768
--- ChangeLog   25 Nov 2006 16:20:45 -0000      1.1767
+++ ChangeLog   25 Nov 2006 16:30:04 -0000      1.1768
@@ -5,6 +5,8 @@
        rectangle.
        * server/render.h, server/render.cpp:
        Added interface to bounds_in_clipping_area()
+       * server/sprite_instance.cpp: Don't draw sprites (and their
+       childs) outside the clipping rectangle.
 
 
 2006-11-25 Sandro Santilli <address@hidden>

Index: server/sprite_instance.cpp
===================================================================
RCS file: /cvsroot/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -b -r1.87 -r1.88
--- server/sprite_instance.cpp  24 Nov 2006 13:33:21 -0000      1.87
+++ server/sprite_instance.cpp  25 Nov 2006 16:30:04 -0000      1.88
@@ -26,6 +26,7 @@
 #include "log.h" 
 #include "action.h" // for call_method_parsed (call_method_args)
 #include "gnash.h"
+#include "render.h"  // for bounds_in_clipping_area()
 #include "sprite_instance.h"
 #include "movie_definition.h"
 #include "MovieClipLoader.h" // @@ temp hack for loading tests
@@ -2040,9 +2041,15 @@
                return;
        }
 
-       m_display_list.display();
+       // check if the sprite (and it's childs) needs to be drawn 
+       rect bounds;
+       m_display_list.get_invalidated_bounds(&bounds, true);
 
+       if (gnash::render::bounds_in_clipping_area(bounds)) {
+         m_display_list.display();
        clear_invalidated();
+       }
+         
        do_display_callback();
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]