diff --git a/include/mapnik/svg/output/svg_generator.hpp b/include/mapnik/svg/output/svg_generator.hpp index bb3eabb5f..b55fa19b8 100644 --- a/include/mapnik/svg/output/svg_generator.hpp +++ b/include/mapnik/svg/output/svg_generator.hpp @@ -27,8 +27,8 @@ #include #include #include -#include -#include +#include +#include // boost #include @@ -48,7 +48,7 @@ namespace mapnik { namespace svg { typedef svg::svg_root_attributes_grammar root_attributes_grammar; typedef svg::svg_rect_attributes_grammar rect_attributes_grammar; - typedef svg::svg_path_data_grammar path_data_grammar; + //typedef svg::svg_path_data_grammar path_data_grammar; typedef svg::svg_path_attributes_grammar path_attributes_grammar; typedef svg::svg_path_dash_array_grammar path_dash_array_grammar; @@ -60,7 +60,7 @@ namespace mapnik { namespace svg { void generate_opening_root(root_output_attributes const& root_attributes); void generate_closing_root(); void generate_rect(rect_output_attributes const& rect_attributes); - void generate_path(path_type const& path, path_output_attributes const& path_attributes); + //void generate_path(path_type const& path, path_output_attributes const& path_attributes); private: OutputIterator& output_iterator_; diff --git a/include/mapnik/svg/output/svg_output_grammars.hpp b/include/mapnik/svg/output/svg_output_grammars.hpp index dafb3dbd8..591c5b47d 100644 --- a/include/mapnik/svg/output/svg_output_grammars.hpp +++ b/include/mapnik/svg/output/svg_output_grammars.hpp @@ -92,6 +92,7 @@ BOOST_FUSION_ADAPT_STRUCT( * required by Karma to be recognized as a container of * attributes for output generation. */ +/* namespace boost { namespace spirit { namespace traits { typedef mapnik::coord_transform path_type; @@ -125,13 +126,15 @@ namespace boost { namespace spirit { namespace traits { return mapnik::svg::path_iterator_type(path); } }; - }}} +}}} +*/ namespace mapnik { namespace svg { using namespace boost::spirit; using namespace boost::phoenix; +/* template struct svg_path_data_grammar : karma::grammar { @@ -165,6 +168,7 @@ namespace mapnik { namespace svg { PathType const& path_type_; }; +*/ template struct svg_path_attributes_grammar : karma::grammar diff --git a/include/mapnik/svg/output/svg_path_iterator.hpp b/include/mapnik/svg/output/svg_path_iterator.hpp index 6132f2a84..c58c2ef7a 100644 --- a/include/mapnik/svg/output/svg_path_iterator.hpp +++ b/include/mapnik/svg/output/svg_path_iterator.hpp @@ -62,7 +62,7 @@ class path_iterator public: typedef Value value_type; typedef Container container_type; - typedef typename Container::value_type value_component_type; + //typedef typename Container::value_type value_component_type; /*! * @brief Constructor that initializes the reference to the current element to null. @@ -119,8 +119,8 @@ private: void increment() { // variables used to extract vertex components. - geometry_type::value_type x; - geometry_type::value_type y; + geometry_type::coord_type x; + geometry_type::coord_type y; // extract next vertex components. unsigned cmd = path_.vertex(&x, &y); @@ -173,8 +173,8 @@ private: * The Value type is a boost::tuple that holds 5 elements, the command and the x and y coordinate. * Each coordinate is stored twice to match the needs of the grammar. */ -typedef path_iterator, - coord_transform > path_iterator_type; +//typedef path_iterator, +// coord_transform > path_iterator_type; }} diff --git a/include/mapnik/svg/output/svg_renderer.hpp b/include/mapnik/svg/output/svg_renderer.hpp index d44034048..bcde8d37c 100644 --- a/include/mapnik/svg/output/svg_renderer.hpp +++ b/include/mapnik/svg/output/svg_renderer.hpp @@ -42,54 +42,60 @@ class MAPNIK_DECL svg_renderer : public feature_style_processor processor_impl_type; svg_renderer(Map const& m, OutputIterator& output_iterator, unsigned offset_x=0, unsigned offset_y=0); ~svg_renderer(); void start_map_processing(Map const& map); void end_map_processing(Map const& map); - void start_layer_processing(layer const& lay); + void start_layer_processing(layer const& lay, box2d const& query_extent); void end_layer_processing(layer const& lay); + void start_style_processing(feature_type_style const& st) {} + void end_style_processing(feature_type_style const& st) {} /*! * @brief Overloads that process each kind of symbolizer individually. */ void process(point_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); void process(line_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); void process(line_pattern_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); void process(polygon_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); void process(polygon_pattern_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); void process(raster_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); void process(shield_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); void process(text_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); void process(building_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); void process(markers_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); + void process(debug_symbolizer const& sym, + mapnik::feature_impl & feature, + proj_transform const& prj_trans) {} /*! * @brief Overload that process the whole set of symbolizers of a rule. * @return true, meaning that this renderer can process multiple symbolizers. */ bool process(rule::symbolizers const& syms, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); void painted(bool painted) @@ -114,6 +120,7 @@ private: CoordTransform t_; svg::svg_generator generator_; svg::path_output_attributes path_attributes_; + box2d query_extent_; bool painted_; /*! @@ -125,7 +132,7 @@ private: struct symbol_dispatch : public boost::static_visitor<> { symbol_dispatch(svg_renderer& processor, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans) : processor_(processor), feature_(feature), @@ -138,7 +145,7 @@ private: } svg_renderer& processor_; - Feature const& feature_; + mapnik::feature_impl & feature_; proj_transform const& prj_trans_; }; }; diff --git a/src/svg/output/process_building_symbolizer.cpp b/src/svg/output/process_building_symbolizer.cpp index a86405c45..23f602b17 100644 --- a/src/svg/output/process_building_symbolizer.cpp +++ b/src/svg/output/process_building_symbolizer.cpp @@ -27,13 +27,13 @@ namespace mapnik { template void svg_renderer::process(building_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans) { // nothing yet. } template void svg_renderer >::process(building_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); } diff --git a/src/svg/output/process_line_pattern_symbolizer.cpp b/src/svg/output/process_line_pattern_symbolizer.cpp index f0fa7376d..42156c1d2 100644 --- a/src/svg/output/process_line_pattern_symbolizer.cpp +++ b/src/svg/output/process_line_pattern_symbolizer.cpp @@ -27,13 +27,13 @@ namespace mapnik { template void svg_renderer::process(line_pattern_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans) { // nothing yet. } template void svg_renderer >::process(line_pattern_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); } diff --git a/src/svg/output/process_line_symbolizer.cpp b/src/svg/output/process_line_symbolizer.cpp index 8c31fcc5d..a93346326 100644 --- a/src/svg/output/process_line_symbolizer.cpp +++ b/src/svg/output/process_line_symbolizer.cpp @@ -30,7 +30,7 @@ namespace mapnik */ template void svg_renderer::process(line_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans) { path_attributes_.set_stroke_color(sym.get_stroke().get_color()); @@ -43,6 +43,6 @@ void svg_renderer::process(line_symbolizer const& sym, } template void svg_renderer >::process(line_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); } diff --git a/src/svg/output/process_markers_symbolizer.cpp b/src/svg/output/process_markers_symbolizer.cpp index cd1d7ef75..67c1fe5ed 100644 --- a/src/svg/output/process_markers_symbolizer.cpp +++ b/src/svg/output/process_markers_symbolizer.cpp @@ -27,13 +27,13 @@ namespace mapnik { template void svg_renderer::process(markers_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans) { // nothing yet. } template void svg_renderer >::process(markers_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); } diff --git a/src/svg/output/process_point_symbolizer.cpp b/src/svg/output/process_point_symbolizer.cpp index 7b732acd2..b737bf37e 100644 --- a/src/svg/output/process_point_symbolizer.cpp +++ b/src/svg/output/process_point_symbolizer.cpp @@ -27,13 +27,13 @@ namespace mapnik { template void svg_renderer::process(point_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans) { // nothing yet. } template void svg_renderer >::process(point_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); } diff --git a/src/svg/output/process_polygon_pattern_symbolizer.cpp b/src/svg/output/process_polygon_pattern_symbolizer.cpp index cd0e6fe27..f164044a9 100644 --- a/src/svg/output/process_polygon_pattern_symbolizer.cpp +++ b/src/svg/output/process_polygon_pattern_symbolizer.cpp @@ -27,13 +27,13 @@ namespace mapnik { template void svg_renderer::process(polygon_pattern_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans) { // nothing yet. } template void svg_renderer >::process(polygon_pattern_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); } diff --git a/src/svg/output/process_polygon_symbolizer.cpp b/src/svg/output/process_polygon_symbolizer.cpp index e9dd3da1b..43ca9bdf8 100644 --- a/src/svg/output/process_polygon_symbolizer.cpp +++ b/src/svg/output/process_polygon_symbolizer.cpp @@ -30,7 +30,7 @@ namespace mapnik */ template void svg_renderer::process(polygon_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans) { path_attributes_.set_fill_color(sym.get_fill()); @@ -38,6 +38,6 @@ void svg_renderer::process(polygon_symbolizer const& sym, } template void svg_renderer >::process(polygon_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); } diff --git a/src/svg/output/process_raster_symbolizer.cpp b/src/svg/output/process_raster_symbolizer.cpp index 6ba640714..a659fe58f 100644 --- a/src/svg/output/process_raster_symbolizer.cpp +++ b/src/svg/output/process_raster_symbolizer.cpp @@ -27,13 +27,13 @@ namespace mapnik { template void svg_renderer::process(raster_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans) { // nothing yet. } template void svg_renderer >::process(raster_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); } diff --git a/src/svg/output/process_shield_symbolizer.cpp b/src/svg/output/process_shield_symbolizer.cpp index 0fde67fd2..1fa981db6 100644 --- a/src/svg/output/process_shield_symbolizer.cpp +++ b/src/svg/output/process_shield_symbolizer.cpp @@ -27,13 +27,13 @@ namespace mapnik { template void svg_renderer::process(shield_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans) { // nothing yet. } template void svg_renderer >::process(shield_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); } diff --git a/src/svg/output/process_symbolizers.cpp b/src/svg/output/process_symbolizers.cpp index 7ee1406ad..6c8268a37 100644 --- a/src/svg/output/process_symbolizers.cpp +++ b/src/svg/output/process_symbolizers.cpp @@ -27,11 +27,10 @@ namespace mapnik { template bool svg_renderer::process(rule::symbolizers const& syms, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans) { // svg renderer supports processing of multiple symbolizers. - typedef coord_transform path_type; // process each symbolizer to collect its (path) information. @@ -48,8 +47,8 @@ bool svg_renderer::process(rule::symbolizers const& syms, geometry_type const& geom = feature.get_geometry(i); if(geom.size() > 1) { - path_type path(t_, geom, prj_trans); - generator_.generate_path(path, path_attributes_); + //path_type path(t_, geom, prj_trans); + //generator_.generate_path(path, path_attributes_); } } @@ -61,7 +60,7 @@ bool svg_renderer::process(rule::symbolizers const& syms, }; template bool svg_renderer >::process(rule::symbolizers const& syms, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); } diff --git a/src/svg/output/process_text_symbolizer.cpp b/src/svg/output/process_text_symbolizer.cpp index 16bec775e..45bc8bf3b 100644 --- a/src/svg/output/process_text_symbolizer.cpp +++ b/src/svg/output/process_text_symbolizer.cpp @@ -27,13 +27,13 @@ namespace mapnik { template void svg_renderer::process(text_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans) { // nothing yet. } template void svg_renderer >::process(text_symbolizer const& sym, - Feature const& feature, + mapnik::feature_impl & feature, proj_transform const& prj_trans); } diff --git a/src/svg/output/svg_generator.cpp b/src/svg/output/svg_generator.cpp index 91baaf4fa..ffaf5320f 100644 --- a/src/svg/output/svg_generator.cpp +++ b/src/svg/output/svg_generator.cpp @@ -65,7 +65,7 @@ namespace mapnik { namespace svg { karma::generate(output_iterator_, lit("\n"), rect_attributes); } - template + /*template void svg_generator::generate_path(path_type const& path, path_output_attributes const& path_attributes) { path_data_grammar data_grammar(path); @@ -75,7 +75,7 @@ namespace mapnik { namespace svg { karma::generate(output_iterator_, lit("\n"), path_attributes); - } + }*/ template class svg_generator >; }} diff --git a/src/svg/output/svg_output_attributes.cpp b/src/svg/output/svg_output_attributes.cpp index 1cf6e0b85..9aa6e2642 100644 --- a/src/svg/output/svg_output_attributes.cpp +++ b/src/svg/output/svg_output_attributes.cpp @@ -22,7 +22,7 @@ *****************************************************************************/ // mapnik -#include +#include namespace mapnik { namespace svg { diff --git a/src/svg/output/svg_renderer.cpp b/src/svg/output/svg_renderer.cpp index fa7507efc..f940b6252 100644 --- a/src/svg/output/svg_renderer.cpp +++ b/src/svg/output/svg_renderer.cpp @@ -76,7 +76,7 @@ void svg_renderer::end_map_processing(Map const& map) } template -void svg_renderer::start_layer_processing(layer const& lay) +void svg_renderer::start_layer_processing(layer const& lay, box2d const& query_extent) { MAPNIK_LOG_DEBUG(svg_renderer) << "svg_renderer: Start layer processing=" << lay.name(); }