[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] /srv/bzr/gnash/trunk r10498: apply_matrix_to_path: don't
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] /srv/bzr/gnash/trunk r10498: apply_matrix_to_path: don't allocate double as many paths for each shape |
Date: |
Wed, 31 Dec 2008 17:57:29 +0100 |
User-agent: |
Bazaar (1.5) |
------------------------------------------------------------
revno: 10498
committer: Sandro Santilli <address@hidden>
branch nick: trunk
timestamp: Wed 2008-12-31 17:57:29 +0100
message:
apply_matrix_to_path: don't allocate double as many paths for each shape
modified:
backend/render_handler_agg.cpp
=== modified file 'backend/render_handler_agg.cpp'
--- a/backend/render_handler_agg.cpp 2008-12-17 07:54:39 +0000
+++ b/backend/render_handler_agg.cpp 2008-12-31 16:57:29 +0000
@@ -921,6 +921,7 @@
std::vector< agg::path_storage > agg_paths_rounded;
apply_matrix_to_path(def->get_paths(), paths, mat);
+ //assert(def->get_paths().size() == paths.size());
// Flash only aligns outlines. Probably this is done at rendering
// level.
@@ -1020,14 +1021,14 @@
mat.concatenate(stage_matrix);
mat.concatenate(source_mat);
- size_t pcnt = paths_in.size();
- paths_out.resize(pcnt);
+ //size_t pcnt = paths_in.size();
+ paths_out = paths_in; // copy paths, then transform in place
typedef std::vector<path> PathVect;
- for (PathVect::const_iterator i=paths_in.begin(), e=paths_in.end(); i!=e;
++i)
+ for (PathVect::iterator i=paths_out.begin(), e=paths_out.end(); i!=e; ++i)
{
- path p = *i;
+ path &p = *i;
p.transform(mat);
- paths_out.push_back( p );
+ //paths_out.push_back( p );
}
} // apply_matrix
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] /srv/bzr/gnash/trunk r10498: apply_matrix_to_path: don't allocate double as many paths for each shape,
Sandro Santilli <=