gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] [SCM] Gnash branch, master, updated. 5ea7c11776c0ed07dd72


From: Benjamin Wolsey
Subject: [Gnash-commit] [SCM] Gnash branch, master, updated. 5ea7c11776c0ed07dd7229327aed3cc04ae9dfed
Date: Wed, 12 Jan 2011 08:27:31 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnash".

The branch, master has been updated
       via  5ea7c11776c0ed07dd7229327aed3cc04ae9dfed (commit)
      from  c6a5be640c2d38bd1f3cf00e3f175506960ea1ff (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit//commit/?id=5ea7c11776c0ed07dd7229327aed3cc04ae9dfed


commit 5ea7c11776c0ed07dd7229327aed3cc04ae9dfed
Author: Benjamin Wolsey <address@hidden>
Date:   Wed Jan 12 09:14:53 2011 +0100

    Use a vector.

diff --git a/gui/gui.cpp b/gui/gui.cpp
index cc8b8f4..0a52ffd 100644
--- a/gui/gui.cpp
+++ b/gui/gui.cpp
@@ -26,6 +26,7 @@
 
 #include <vector>
 #include <algorithm> 
+#include <boost/assign/list_of.hpp>
 
 #include "MovieClip.h"
 #include "Renderer.h"
@@ -792,35 +793,30 @@ Gui::display(movie_root* m)
   
                // show invalidated region using a red rectangle
                // (Flash debug style)
-               IF_DEBUG_REGION_UPDATES (
-               if (_renderer.get() && !changed_ranges.isWorld())
-               {
-               
-                       for (size_t rno = 0; rno < changed_ranges.size(); 
rno++) {
-                       
-                               const geometry::Range2d<int>& bounds = 
-                                       changed_ranges.getRange(rno);
-
-                               point corners[4];
-                               float xmin = bounds.getMinX();
-                               float xmax = bounds.getMaxX();
-                               float ymin = bounds.getMinY();
-                               float ymax = bounds.getMaxY();
-                               
-                               corners[0].x = xmin;
-                               corners[0].y = ymin;
-                               corners[1].x = xmax;
-                               corners[1].y = ymin;
-                               corners[2].x = xmax;
-                               corners[2].y = ymax;
-                               corners[3].x = xmin;
-                               corners[3].y = ymax;
-                               SWFMatrix no_transform;
-                               _renderer->draw_poly(corners, 4,
-                                       rgba(0,0,0,0), rgba(255,0,0,255), 
no_transform, false);
-                                       
-                       }
-               }
+               IF_DEBUG_REGION_UPDATES(
+            if (_renderer.get() && !changed_ranges.isWorld()) {
+            
+                for (size_t rno = 0; rno < changed_ranges.size(); rno++) {
+                
+                    const geometry::Range2d<int>& bounds = 
+                        changed_ranges.getRange(rno);
+
+                    float xmin = bounds.getMinX();
+                    float xmax = bounds.getMaxX();
+                    float ymin = bounds.getMinY();
+                    float ymax = bounds.getMaxY();
+
+                    const std::vector<point> box = boost::assign::list_of
+                        (point(xmin, ymin))
+                        (point(xmax, ymin))
+                        (point(xmax, ymax))
+                        (point(xmin, ymax));
+
+                    _renderer->draw_poly(box, rgba(0,0,0,0), rgba(255,0,0,255),
+                            SWFMatrix(), false);
+                        
+                }
+            }
                );
 
                // show frame on screen
diff --git a/libcore/TextField.cpp b/libcore/TextField.cpp
index 0676dfd..c4cea0d 100644
--- a/libcore/TextField.cpp
+++ b/libcore/TextField.cpp
@@ -263,11 +263,11 @@ TextField::show_cursor(Renderer& renderer, const 
SWFMatrix& mat)
         }
     }
 
-    const std::vector<point> box = boost::assign::list_of
+    const std::vector<point> line = boost::assign::list_of
         (point(x, y))
         (point(x, y + h));
     
-    renderer.drawLine(box, rgba(0, 0, 0, 255), mat);
+    renderer.drawLine(line, rgba(0, 0, 0, 255), mat);
 }
 
 size_t
@@ -303,17 +303,16 @@ TextField::display(Renderer& renderer, const Transform& 
base)
 
     if ((drawBorder || drawBackground) && !_bounds.is_null()) {
 
-        std::vector<point> coords(4);
-
         boost::int32_t xmin = _bounds.get_x_min();
         boost::int32_t xmax = _bounds.get_x_max();
         boost::int32_t ymin = _bounds.get_y_min();
         boost::int32_t ymax = _bounds.get_y_max();
 
-        coords[0].setTo(xmin, ymin); 
-        coords[1].setTo(xmax, ymin); 
-        coords[2].setTo(xmax, ymax); 
-        coords[3].setTo(xmin, ymax); 
+        const std::vector<point> coords = boost::assign::list_of
+            (point(xmin, ymin))
+            (point(xmax, ymin))
+            (point(xmax, ymax))
+            (point(xmin, ymax));
 
         rgba borderColor = drawBorder ? getBorderColor() : rgba(0,0,0,0);
         rgba backgroundColor = drawBackground ? getBackgroundColor() :
@@ -329,7 +328,7 @@ TextField::display(Renderer& renderer, const Transform& 
base)
     log_debug("rendering a Pol composed by corners %s", _bounds);
 #endif
 
-        renderer.draw_poly(&coords.front(), 4, backgroundColor, 
+        renderer.draw_poly(coords, backgroundColor, 
                 borderColor, xform.matrix, true);
         
     }
diff --git a/librender/Renderer.h b/librender/Renderer.h
index 42e97f7..9a19185 100644
--- a/librender/Renderer.h
+++ b/librender/Renderer.h
@@ -285,7 +285,7 @@ public:
     /// When masked==false, then any potential mask currently active will be
     /// ignored, otherwise it is respected.
     ///
-    virtual void draw_poly(const point* corners, size_t corner_count, 
+    virtual void draw_poly(const std::vector<point>& corners, 
         const rgba& fill, const rgba& outline, const SWFMatrix& mat,
         bool masked) = 0;
         
diff --git a/librender/agg/Renderer_agg.cpp b/librender/agg/Renderer_agg.cpp
index 4d337d6..6026ede 100644
--- a/librender/agg/Renderer_agg.cpp
+++ b/librender/agg/Renderer_agg.cpp
@@ -1889,7 +1889,7 @@ public:
   } //draw_poly_impl
   
   
-  void draw_poly(const point* corners, size_t corner_count, const rgba& fill, 
+  void draw_poly(const std::vector<point>& corners, const rgba& fill, 
     const rgba& outline, const SWFMatrix& mat, bool masked) {
     
     if (masked && !_alphaMasks.empty()) {
@@ -1900,7 +1900,7 @@ public:
       
       sl_type sl(_alphaMasks.back()->getMask());
          
-      draw_poly_impl<sl_type> (corners, corner_count, fill, outline, sl, mat); 
      
+      draw_poly_impl<sl_type>(&corners.front(), corners.size(), fill, outline, 
sl, mat);       
     
     } else {
     
@@ -1910,7 +1910,7 @@ public:
       
       sl_type sl;
          
-      draw_poly_impl<sl_type> (corners, corner_count, fill, outline, sl, mat);
+      draw_poly_impl<sl_type>(&corners.front(), corners.size(), fill, outline, 
sl, mat);
     
     }
     
diff --git a/librender/cairo/Renderer_cairo.cpp 
b/librender/cairo/Renderer_cairo.cpp
index deec02d..5905dca 100644
--- a/librender/cairo/Renderer_cairo.cpp
+++ b/librender/cairo/Renderer_cairo.cpp
@@ -701,20 +701,18 @@ Renderer_cairo::drawLine(const std::vector<point>& coords,
 }
   
 void
-Renderer_cairo::draw_poly(const point* corners, size_t corner_count, 
+Renderer_cairo::draw_poly(const std::vector<point>& corners, 
                                const rgba& fill, const rgba& outline,
                                const SWFMatrix& mat, bool /*masked*/)
 {
     CairoScopeMatrix mat_transformer(_cr, mat);
     cairo_transform(_cr, &_stage_mat);
 
-    if (corner_count < 1) {
-        return;
-    }
+    if (corners.empty()) return;
         
     cairo_move_to(_cr, corners[0].x, corners[0].y);
     
-    for (size_t i = 0; i < corner_count; ++i) {
+    for (size_t i = 0; i < corners.size(); ++i) {
         cairo_line_to(_cr, corners[i].x, corners[i].y);
     }
     
diff --git a/librender/cairo/Renderer_cairo.h b/librender/cairo/Renderer_cairo.h
index a70c7d9..19009ec 100644
--- a/librender/cairo/Renderer_cairo.h
+++ b/librender/cairo/Renderer_cairo.h
@@ -78,7 +78,7 @@ public:
     void drawLine(const std::vector<point>& coords, const rgba& color,
                           const SWFMatrix& mat);
 
-    void draw_poly(const point* corners, size_t corner_count,
+    void draw_poly(const std::vector<point>& corners, 
                            const rgba& fill, const rgba& outline,
                            const SWFMatrix& mat, bool masked);
 
diff --git a/librender/opengl/Renderer_ogl.cpp 
b/librender/opengl/Renderer_ogl.cpp
index f2ccaa9..7c68c87 100644
--- a/librender/opengl/Renderer_ogl.cpp
+++ b/librender/opengl/Renderer_ogl.cpp
@@ -1136,12 +1136,10 @@ public:
 
   // NOTE: this implementation can't handle complex polygons (such as concave
   // polygons.
-  virtual void  draw_poly(const point* corners, size_t corner_count, 
+  virtual void draw_poly(const std::vector<point>& corners, 
     const rgba& fill, const rgba& outline, const SWFMatrix& mat, bool /* 
masked */)
   {
-    if (corner_count < 1) {
-      return;
-    }
+    if (corners.empty()) return;
 
     oglScopeMatrix scope_mat(mat);
 
@@ -1150,14 +1148,14 @@ public:
     glEnableClientState(GL_VERTEX_ARRAY);
 
     // Draw simple polygon
-    glVertexPointer(2, GL_FLOAT, 0 /* tight packing */, corners);
-    glDrawArrays(GL_POLYGON, 0, corner_count);
+    glVertexPointer(2, GL_FLOAT, 0 /* tight packing */, &corners.front());
+    glDrawArrays(GL_POLYGON, 0, corners.size());
 
     // Draw outline
     glLineWidth(1.0);
     glColor4ub(outline.m_r, outline.m_g, outline.m_b, outline.m_a);
-    glVertexPointer(2, GL_FLOAT, 0 /* tight packing */, corners);
-    glDrawArrays(GL_LINE_LOOP, 0, corner_count);
+    glVertexPointer(2, GL_FLOAT, 0 /* tight packing */, &corners.front());
+    glDrawArrays(GL_LINE_LOOP, 0, corners.size());
 
     glDisableClientState(GL_VERTEX_ARRAY);
 
@@ -1194,9 +1192,7 @@ public:
   /// the number of masks.
   void apply_mask()
   {
-    if (_masks.empty()) {
-      return;
-    }
+    if (_masks.empty()) return;
     
     glEnable(GL_STENCIL_TEST);
 

-----------------------------------------------------------------------

Summary of changes:
 gui/gui.cpp                        |   54 ++++++++++++++++-------------------
 libcore/TextField.cpp              |   17 +++++------
 librender/Renderer.h               |    2 +-
 librender/agg/Renderer_agg.cpp     |    6 ++--
 librender/cairo/Renderer_cairo.cpp |    8 ++---
 librender/cairo/Renderer_cairo.h   |    2 +-
 librender/opengl/Renderer_ogl.cpp  |   18 ++++-------
 7 files changed, 48 insertions(+), 59 deletions(-)


hooks/post-receive
-- 
Gnash



reply via email to

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