Changeset 874 for trunk/src/cairo_renderer.cpp
- Timestamp:
- 02/05/09 19:46:29 (18 months ago)
- Files:
-
- 1 modified
-
trunk/src/cairo_renderer.cpp (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/cairo_renderer.cpp
r873 r874 466 466 }; 467 467 468 template <typename T> 469 cairo_renderer<T>::cairo_renderer(Map const& m, Cairo::RefPtr<Cairo::Surface> const& surface, unsigned offset_x, unsigned offset_y, bool show_page) 470 : feature_style_processor<cairo_renderer>(m), 471 m_(m), 472 surface_(surface), 473 context_(Cairo::Context::create(surface)), 468 cairo_renderer_base::cairo_renderer_base(Map const& m, Cairo::RefPtr<Cairo::Context> const& context, unsigned offset_x, unsigned offset_y) 469 : m_(m), 470 context_(context), 474 471 t_(m.getWidth(),m.getHeight(),m.getCurrentExtent(),offset_x,offset_y), 475 472 font_engine_(new freetype_engine()), … … 481 478 std::clog << "scale=" << m.scale() << "\n"; 482 479 #endif 483 this->show_page = show_page; 484 } 485 486 template <typename T> 487 cairo_renderer<T>::~cairo_renderer() {} 488 489 template <typename T> 490 void cairo_renderer<T>::start_map_processing(Map const& map) 480 } 481 482 template <> 483 cairo_renderer<Cairo::Context>::cairo_renderer(Map const& m, Cairo::RefPtr<Cairo::Context> const& context, unsigned offset_x, unsigned offset_y) 484 : feature_style_processor<cairo_renderer>(m), 485 cairo_renderer_base(m,context,offset_x,offset_y) 486 { 487 } 488 489 template <> 490 cairo_renderer<Cairo::Surface>::cairo_renderer(Map const& m, Cairo::RefPtr<Cairo::Surface> const& surface, unsigned offset_x, unsigned offset_y) 491 : feature_style_processor<cairo_renderer>(m), 492 cairo_renderer_base(m,Cairo::Context::create(surface),offset_x,offset_y) 493 { 494 } 495 496 cairo_renderer_base::~cairo_renderer_base() {} 497 498 void cairo_renderer_base::start_map_processing(Map const& map) 491 499 { 492 500 #ifdef MAPNIK_DEBUG … … 510 518 } 511 519 512 template < typename T>513 void cairo_renderer< T>::end_map_processing(Map const& )520 template <> 521 void cairo_renderer<Cairo::Context>::end_map_processing(Map const& ) 514 522 { 515 523 #ifdef MAPNIK_DEBUG 516 524 std::clog << "end map processing\n"; 517 525 #endif 518 if (show_page) 519 context_->show_page(); 520 } 521 522 template <typename T> 523 void cairo_renderer<T>::start_layer_processing(Layer const& lay) 526 } 527 528 template <> 529 void cairo_renderer<Cairo::Surface>::end_map_processing(Map const& ) 530 { 531 #ifdef MAPNIK_DEBUG 532 std::clog << "end map processing\n"; 533 #endif 534 context_->show_page(); 535 } 536 537 void cairo_renderer_base::start_layer_processing(Layer const& lay) 524 538 { 525 539 #ifdef MAPNIK_DEBUG … … 533 547 } 534 548 535 template <typename T> 536 void cairo_renderer<T>::end_layer_processing(Layer const&) 549 void cairo_renderer_base::end_layer_processing(Layer const&) 537 550 { 538 551 #ifdef MAPNIK_DEBUG … … 541 554 } 542 555 543 template <typename T> 544 void cairo_renderer<T>::process(polygon_symbolizer const& sym, 545 Feature const& feature, 546 proj_transform const& prj_trans) 556 void cairo_renderer_base::process(polygon_symbolizer const& sym, 557 Feature const& feature, 558 proj_transform const& prj_trans) 547 559 { 548 560 typedef coord_transform2<CoordTransform,geometry2d> path_type; … … 574 586 } 575 587 576 template <typename T> 577 void cairo_renderer<T>::process(building_symbolizer const& sym, 578 Feature const& feature, 579 proj_transform const& prj_trans) 588 void cairo_renderer_base::process(building_symbolizer const& sym, 589 Feature const& feature, 590 proj_transform const& prj_trans) 580 591 { 581 592 typedef coord_transform2<CoordTransform,geometry2d> path_type; … … 678 689 } 679 690 680 template <typename T> 681 void cairo_renderer<T>::process(line_symbolizer const& sym, 682 Feature const& feature, 683 proj_transform const& prj_trans) 691 void cairo_renderer_base::process(line_symbolizer const& sym, 692 Feature const& feature, 693 proj_transform const& prj_trans) 684 694 { 685 695 typedef coord_transform2<CoordTransform,geometry2d> path_type; … … 714 724 } 715 725 716 template <typename T> 717 void cairo_renderer<T>::process(point_symbolizer const& sym, 718 Feature const& feature, 719 proj_transform const& prj_trans) 726 void cairo_renderer_base::process(point_symbolizer const& sym, 727 Feature const& feature, 728 proj_transform const& prj_trans) 720 729 { 721 730 boost::shared_ptr<ImageData32> const& data = sym.get_image(); … … 756 765 } 757 766 758 template <typename T> 759 void cairo_renderer<T>::process(shield_symbolizer const& sym, 760 Feature const& feature, 761 proj_transform const& prj_trans) 767 void cairo_renderer_base::process(shield_symbolizer const& sym, 768 Feature const& feature, 769 proj_transform const& prj_trans) 762 770 { 763 771 typedef coord_transform2<CoordTransform,geometry2d> path_type; … … 862 870 } 863 871 864 template <typename T> 865 void cairo_renderer<T>::process(line_pattern_symbolizer const& sym, 866 Feature const& feature, 867 proj_transform const& prj_trans) 872 void cairo_renderer_base::process(line_pattern_symbolizer const& sym, 873 Feature const& feature, 874 proj_transform const& prj_trans) 868 875 { 869 876 typedef coord_transform2<CoordTransform,geometry2d> path_type; … … 929 936 } 930 937 931 template <typename T> 932 void cairo_renderer<T>::process(polygon_pattern_symbolizer const& sym, 933 Feature const& feature, 934 proj_transform const& prj_trans) 938 void cairo_renderer_base::process(polygon_pattern_symbolizer const& sym, 939 Feature const& feature, 940 proj_transform const& prj_trans) 935 941 { 936 942 typedef coord_transform2<CoordTransform,geometry2d> path_type; … … 956 962 } 957 963 958 template <typename T> 959 void cairo_renderer<T>::process(raster_symbolizer const&, 960 Feature const& feature, 961 proj_transform const& prj_trans) 964 void cairo_renderer_base::process(raster_symbolizer const&, 965 Feature const& feature, 966 proj_transform const& prj_trans) 962 967 { 963 968 // TODO -- at the moment raster_symbolizer is an empty class … … 976 981 } 977 982 978 template <typename T> 979 void cairo_renderer<T>::process(markers_symbolizer const& sym, 980 Feature const& feature, 981 proj_transform const& prj_trans) 982 { 983 } 984 985 template <typename T> 986 void cairo_renderer<T>::process(text_symbolizer const& sym, 987 Feature const& feature, 988 proj_transform const& prj_trans) 983 void cairo_renderer_base::process(markers_symbolizer const& sym, 984 Feature const& feature, 985 proj_transform const& prj_trans) 986 { 987 } 988 989 void cairo_renderer_base::process(text_symbolizer const& sym, 990 Feature const& feature, 991 proj_transform const& prj_trans) 989 992 { 990 993 typedef coord_transform2<CoordTransform,geometry2d> path_type; … … 1052 1055 } 1053 1056 } 1057 1054 1058 template class cairo_renderer<Cairo::Surface>; 1059 template class cairo_renderer<Cairo::Context>; 1055 1060 }
