gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog backend/render_handler_agg.cpp


From: Udo Giacomozzi
Subject: [Gnash-commit] gnash ChangeLog backend/render_handler_agg.cpp
Date: Tue, 13 Feb 2007 13:56:35 +0000

CVSROOT:        /cvsroot/gnash
Module name:    gnash
Changes by:     Udo Giacomozzi <udog>   07/02/13 13:56:35

Modified files:
        .              : ChangeLog 
        backend        : render_handler_agg.cpp 

Log message:
        Correctly handling NULL clipping rectangle

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2341&r2=1.2342
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/render_handler_agg.cpp?cvsroot=gnash&r1=1.56&r2=1.57

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/gnash/gnash/ChangeLog,v
retrieving revision 1.2341
retrieving revision 1.2342
diff -u -b -r1.2341 -r1.2342
--- ChangeLog   13 Feb 2007 13:35:33 -0000      1.2341
+++ ChangeLog   13 Feb 2007 13:56:35 -0000      1.2342
@@ -29,6 +29,8 @@
          configurable
        * gui/fb.cpp, gui/fbsup.h: Initial support for mouse
        * server/character.h: Avoid redrawing when matrix did not change        
+       * backend/render_handler_agg.cpp: Correctly handling NULL clipping 
+         rectangle     
  
 2007-02-13  Rob Savoye  <address@hidden>
 

Index: backend/render_handler_agg.cpp
===================================================================
RCS file: /cvsroot/gnash/gnash/backend/render_handler_agg.cpp,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -b -r1.56 -r1.57
--- backend/render_handler_agg.cpp      10 Feb 2007 17:22:47 -0000      1.56
+++ backend/render_handler_agg.cpp      13 Feb 2007 13:56:35 -0000      1.57
@@ -16,7 +16,7 @@
 
  
 
-/* $Id: render_handler_agg.cpp,v 1.56 2007/02/10 17:22:47 udog Exp $ */
+/* $Id: render_handler_agg.cpp,v 1.57 2007/02/13 13:56:35 udog Exp $ */
 
 // Original version by Udo Giacomozzi and Hannes Mayr, 
 // INDUNET GmbH (www.indunet.it)
@@ -258,6 +258,7 @@
   void clear(geometry::Range2d<int> region)
   {
          if (region.isNull()) return;
+         assert ( region.isFinite() );
 
          const agg::gray8 black(0);
                  
@@ -551,6 +552,7 @@
          assert(m_pixf != NULL);
 
          // clear the stage using the background color    
+    if ( ! _clipbounds.isNull() )    
     clear_framebuffer(_clipbounds, agg::rgba8(background_color.m_r,
                background_color.m_g, background_color.m_b,
                background_color.m_a));
@@ -653,6 +655,8 @@
        {
          assert(m_pixf != NULL);
 
+         if ( _clipbounds.isNull() ) return;
+
     point pnt;
     
     renderer_base rbase(*m_pixf);
@@ -717,6 +721,7 @@
     
     agg_alpha_mask* new_mask = new agg_alpha_mask(xres, yres);
     
+    if ( ! _clipbounds.isNull() ) 
     new_mask->clear(_clipbounds);
     
     m_alpha_mask.push_back(new_mask);
@@ -928,6 +933,8 @@
          
          assert(!m_drawing_mask);
 
+         if ( _clipbounds.isNull() ) return;
+
     // Gnash stuff 
     int pno, eno, fno;
     int pcount, ecount, fcount;
@@ -941,9 +948,6 @@
     agg::span_allocator<agg::rgba8> alloc;  // span allocator (?)
     agg_style_handler sh;               // holds fill style definitions
     
-        // TODO: what do do if _clipbox.isNull() or _clipbox.isWorld() ?
-       //       currently an assertion will fail when get{Min,Max}{X,Y}
-       //       are called below
 
        rasc.clip_box(
                (double)_clipbounds.getMinX(),
@@ -1241,6 +1245,8 @@
          if (m_drawing_mask)    // Flash ignores lines in mask /definitions/
       return;    
 
+    if ( _clipbounds.isNull() ) return;
+
     // TODO: While walking the paths for filling them, remember when a path
     // has a line style associated, so that we avoid walking the paths again
     // when there really are no outlines to draw...
@@ -1344,6 +1350,8 @@
 
     if (corner_count<1) return;
     
+    if ( _clipbounds.isNull() ) return;
+    
     // TODO: Use aliased scanline renderer instead of anti-aliased one since
     // it is undesired anyway.
     renderer_base rbase(*m_pixf);
@@ -1444,6 +1452,7 @@
       Range2d<int> visiblerect(0, 0, xres, yres);
       _clipbounds = Intersection(pixbounds, visiblerect);
   
+  
   }
   
   virtual bool bounds_in_clipping_area(const rect& bounds) {    




reply via email to

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