diff --git a/include/mapnik/svg/svg_renderer.hpp b/include/mapnik/svg/svg_renderer.hpp index d35566442..a5a0a5a67 100644 --- a/include/mapnik/svg/svg_renderer.hpp +++ b/include/mapnik/svg/svg_renderer.hpp @@ -61,19 +61,17 @@ public: Scanline& sl, Renderer& ren, agg::trans_affine const& mtx, - agg::rect_i const& cb, double opacity=1.0) { using namespace agg; - ras.clip_box(cb.x1, cb.y1, cb.x2, cb.y2); trans_affine transform; curved_stroked_trans_type curved_stroked_trans(curved_stroked_,transform); curved_trans_type curved_trans(curved_,transform); curved_trans_contour_type curved_trans_contour(curved_trans); - curved_trans_contour.auto_detect_orientation(false); + curved_trans_contour.auto_detect_orientation(true); for(unsigned i = 0; i < attributes_.size(); ++i) { @@ -81,7 +79,7 @@ public: transform = attr.transform; transform *= mtx; double scl = transform.scale(); - //m_curved.approximation_method(curve_inc); + //curved_.approximation_method(curve_inc); curved_.approximation_scale(scl); curved_.angle_tolerance(0.0); diff --git a/src/agg/process_markers_symbolizer.cpp b/src/agg/process_markers_symbolizer.cpp index 67087d88e..0e50cb14d 100644 --- a/src/agg/process_markers_symbolizer.cpp +++ b/src/agg/process_markers_symbolizer.cpp @@ -111,7 +111,7 @@ void agg_renderer::process(markers_symbolizer const& sym, while (placement.get_point(&x, &y, &angle)) { agg::trans_affine matrix = recenter * tr *agg::trans_affine_rotation(angle) * agg::trans_affine_translation(x, y); - svg_renderer.render(*ras_ptr, sl, ren, matrix, renb.clip_box(), sym.get_opacity()); + svg_renderer.render(*ras_ptr, sl, ren, matrix, sym.get_opacity()); if (writer.first) //writer.first->add_box(label_ext, feature, t_, writer.second); std::clog << "### Warning metawriter not yet supported for LINE placement\n"; diff --git a/src/agg/process_point_symbolizer.cpp b/src/agg/process_point_symbolizer.cpp index 477f6aade..65b30eb16 100644 --- a/src/agg/process_point_symbolizer.cpp +++ b/src/agg/process_point_symbolizer.cpp @@ -113,7 +113,7 @@ void agg_renderer::process(point_symbolizer const& sym, if (sym.get_allow_overlap() || detector_.has_placement(extent)) { - svg_renderer.render(*ras_ptr, sl, ren, tr, renb.clip_box(), sym.get_opacity()); + svg_renderer.render(*ras_ptr, sl, ren, tr, sym.get_opacity()); if (!sym.get_ignore_placement()) detector_.insert(extent); metawriter_with_properties writer = sym.get_metawriter(); diff --git a/src/agg/process_shield_symbolizer.cpp b/src/agg/process_shield_symbolizer.cpp index 4621223df..b90033d84 100644 --- a/src/agg/process_shield_symbolizer.cpp +++ b/src/agg/process_shield_symbolizer.cpp @@ -194,7 +194,7 @@ void agg_renderer::process(shield_symbolizer const& sym, if ( sym.get_allow_overlap() || detector_.has_placement(label_ext) ) { agg::trans_affine matrix = recenter * tr * agg::trans_affine_translation(label_x, label_y); - svg_renderer.render(*ras_ptr, sl, ren, matrix, renb.clip_box(), sym.get_opacity()); + svg_renderer.render(*ras_ptr, sl, ren, matrix, sym.get_opacity()); box2d dim = text_ren.prepare_glyphs(&text_placement.placements[0]); text_ren.render(x,y); detector_.insert(label_ext); @@ -220,7 +220,7 @@ void agg_renderer::process(shield_symbolizer const& sym, double x = floor(text_placement.placements[ii].starting_x); double y = floor(text_placement.placements[ii].starting_y); agg::trans_affine matrix = recenter * tr * agg::trans_affine_translation(x, y); - svg_renderer.render(*ras_ptr, sl, ren, matrix, renb.clip_box(), sym.get_opacity()); + svg_renderer.render(*ras_ptr, sl, ren, matrix, sym.get_opacity()); if (writer.first) writer.first->add_box(box2d(x,y,x+w,y+h), feature, t_, writer.second); box2d dim = text_ren.prepare_glyphs(&text_placement.placements[ii]); text_ren.render(x,y);