Commit graph

1340 commits

Author SHA1 Message Date
Hermann Kraus
b71460d4dd Don't return pointer to dead object. 2012-03-09 13:26:11 +01:00
Dane Springmeyer
c5c0f92247 save the maps in the right place for visual tests 2012-03-08 17:04:51 -08:00
Dane Springmeyer
5f4734ebe0 fix other potential division by zero conditions - closes #1110 2012-03-08 17:02:58 -08:00
Hermann Kraus
cd8cfc6527 Improve error messages. 2012-03-08 18:52:53 +01:00
Dane Springmeyer
f1aee03912 forward declare marker so marker_cache api access is cleaner 2012-03-08 08:37:58 -08:00
Hermann Kraus
adc8f9df1b Fix PointSymbolizer problem. 2012-03-08 13:00:40 +01:00
Hermann Kraus
2a7709a0cf Dump xml tree. 2012-03-08 01:29:19 +01:00
Hermann Kraus
c3cd50ff57 Complete new XML structure. 2012-03-07 19:16:41 +01:00
Dane Springmeyer
adfa73f64a avoid combining default arg with const& 2012-03-07 08:54:04 -08:00
Hermann Kraus
daf30ca0d1 Update metawriter_factory.hpp 2012-03-07 15:26:13 +01:00
Hermann Kraus
9a05dc1828 Add XML functions. 2012-03-07 03:57:31 +01:00
Hermann Kraus
f214675c69 Modify all other files for new XML structure. 2012-03-07 02:23:16 +01:00
Hermann Kraus
7d3fd0755d Complete XML changes in load_map.cpp 2012-03-07 01:35:37 +01:00
Hermann Kraus
7a052f81f7 Update more functions. 2012-03-06 18:17:23 +01:00
Hermann Kraus
ac50834d92 Convert parse_map_include to xml_node. 2012-03-06 15:47:08 +01:00
Hermann Kraus
191d0f907a Convert first function to new XML structure. 2012-03-06 15:18:11 +01:00
Dane Springmeyer
1c6da3893e minor formatting 2012-03-05 18:00:45 -08:00
Dane Springmeyer
df54f710bc minor formatting 2012-03-05 18:00:15 -08:00
Dane Springmeyer
943f92fffc initialize another member in text_properties 2012-03-05 14:54:30 -08:00
Dane Springmeyer
3dafe6080d rework text_path ctor to ensure members are properly initialized - refs #1114 2012-03-05 14:15:01 -08:00
Dane Springmeyer
f3c4f9eec7 initialize members of text_symbolizer_properties and char_properties - refs #1114 2012-03-05 13:48:35 -08:00
Dane Springmeyer
7dfc6d9ccd pass doubles by value in find_line_circle_intersection 2012-03-05 11:50:20 -08:00
Dane Springmeyer
84c9ee653a no need to pass orientation as const& to test_placement, which unlike get_placement_offset to does not change the value 2012-03-05 11:36:48 -08:00
Dane Springmeyer
50a417fc83 formatting 2012-03-05 11:31:58 -08:00
Dane Springmeyer
f90b410ece formatting to use const& as per 6462af3 2012-03-05 11:10:04 -08:00
Dane Springmeyer
232256e136 load_map_string: do not pass optional arg by const& and better error if string is empty 2012-03-05 10:44:20 -08:00
Hermann Kraus
481271cb76 Add new XML data structure and modify XML parser to work with this structure. 2012-03-05 16:49:54 +01:00
Hermann Kraus
ad86e9aebc Reenable text meta writers. 2012-03-04 23:25:13 +01:00
Hermann Kraus
5578bdb6f9 Remove has_dimensions and dimensions from text_placement_info.
This functionality is better provided by placement_finder.additional_boxes.
2012-03-04 16:38:40 +01:00
Hermann Kraus
46272d836b Move more variables from text_placements_info to placement_finder.
Refs #1048.
2012-03-04 13:32:10 +01:00
Hermann Kraus
4638b28c36 Store pointer to char_info in text_path instead of pointer to char_properties. 2012-03-04 03:53:39 +01:00
Hermann Kraus
b4eddaab24 Move variables from text_placements_info to placement_finder.
Reuse placement_finder objects.
Pass feature to placement_finder.
Refs #1048.
2012-03-04 01:49:01 +01:00
Hermann Kraus
36918e4a8b Remove warning. Empty expressions might exist in real applications without being an error. 2012-03-03 17:41:43 +01:00
Hermann Kraus
f8c784b0a6 Correctly center text. 2012-03-03 13:53:08 +01:00
Dane Springmeyer
7163806cda c++ style 2012-03-02 18:51:19 -08:00
Hermann Kraus
2bf9d9dbdf Fix handling of empty XML nodes.
Closes #1106.
2012-03-03 01:12:23 +01:00
Hermann Kraus
cc547385e6 Avoid adding the same text to detector twice. 2012-03-02 12:39:38 +01:00
Artem Pavlenko
726724b3c7 pass by ref
move conversions impl into .cpp
2012-03-01 18:36:13 +00:00
Hermann Kraus
9e397ae55e Add iterator increment which I forgot in 96d8dfb356. 2012-02-28 02:05:44 +01:00
Hermann Kraus
df4eae2f71 Merge branch 'master' of github.com:mapnik/mapnik
Conflicts:
	src/symbolizer_helpers.cpp
2012-02-28 01:48:26 +01:00
Hermann Kraus
66ef7a450a Add marker to collision detector.
Refs #1106.
2012-02-28 01:47:24 +01:00
Dane Springmeyer
82bd78d9a5 use boost::make_shared instead of new as per mapnik coding conventions 2012-02-27 16:39:34 -08:00
Dane Springmeyer
a5d7239cfc fix minor spelling in code comments 2012-02-27 16:15:36 -08:00
Hermann Kraus
96d8dfb356 Improve code a bit.
size() can be O(n) but empty() is always O(1).
2012-02-28 00:52:02 +01:00
Dane Springmeyer
1ed193728d add missing update_detector() - refs #1106 2012-02-27 15:15:27 -08:00
Dane Springmeyer
2f134657b4 speed up xml loading by avoiding repeated grammar creation - refs #1028 (TODO - still need to handle text/shield expressions) 2012-02-24 16:34:39 -08:00
Hermann Kraus
1906cddf04 Improve error messages. 2012-02-25 00:57:05 +01:00
Dane Springmeyer
a917b7b410 fix the ability of external libraries to link mapnik on windows 2012-02-24 11:32:16 -08:00
Artem Pavlenko
917e684bdd dummy decrement() and advance(p) to compile with vc10 (untested) 2012-02-24 18:07:13 +00:00
Hermann Kraus
99a3c9fec9 Remove multiple consecutive empty <xmltext> nodes. 2012-02-24 12:37:23 +01:00
Dane Springmeyer
6db1ba176b fix compile on windows by including round() from global.hpp 2012-02-23 11:46:53 -08:00
Hermann Kraus
2955983264 Fix #1095. 2012-02-23 18:10:50 +01:00
Dane Springmeyer
56aeae1b52 fix broken python linking after 6a0ce99e22 2012-02-22 16:45:02 -08:00
Dane Springmeyer
4a192c319b ensure mean_sort_cmp adheres to strict weak ordering requirement - more properly fixes #1087 2012-02-22 14:54:10 -08:00
Dane Springmeyer
f17031084c use new conversions header - refs #1055 2012-02-21 10:59:11 -08:00
Dane Springmeyer
8568c62e8e Merge branch 'master' of github.com:mapnik/mapnik 2012-02-20 22:54:09 -08:00
Dane Springmeyer
9213dd5426 fixup multi-symbolizer processing function 2012-02-20 22:53:54 -08:00
Dane Springmeyer
6a0ce99e22 maintain compile with boost <= 1.47 2012-02-20 17:09:14 -08:00
Hermann Kraus
a05faceb11 Fix ShieldSymbolizer line placement.
Refs #1078, https://github.com/MapQuest/MapQuest-Mapnik-Style/issues/8.
2012-02-21 00:06:54 +01:00
Hermann Kraus
46f80cc6aa Use double instead of int and avoid rounding when possible.
Closes #1078.
2012-02-20 19:32:34 +01:00
Artem Pavlenko
6f5d16bfe3 + make feature_collection_parser a template so we can
instantiate with different iterator types
  e.g std::string::const_iterator and
  boost::spirit::multi_pass<std::istreambuf_iterator<char> >
2012-02-20 16:23:31 +00:00
Artem Pavlenko
6e498ad062 + update to use new names
+ add geometry_generator
2012-02-20 12:03:56 +00:00
Artem Pavlenko
3953a94636 + geojson generator interface 2012-02-20 10:53:58 +00:00
Hermann Kraus
2ea6ab216c Fix text height calculation.
Closes #1078.
2012-02-18 16:43:05 +01:00
Hermann Kraus
6efdb3969e Handle text position differently.
Should fix part of the ShieldSymbolizer problems.
Refs #1078.
2012-02-18 14:39:13 +01:00
Hermann Kraus
2843ff3da8 Fix placement_finder.hpp includes. 2012-02-18 14:03:21 +01:00
Hermann Kraus
bb3ad18c95 Rename starting_{x,y} to center to reflect actual meaning. 2012-02-18 13:07:23 +01:00
Hermann Kraus
980cdd9e92 Use text_placements registry. 2012-02-18 00:39:14 +01:00
Hermann Kraus
6db956ca83 Split file. 2012-02-17 20:53:00 +01:00
Hermann Kraus
481e172b8e Add placement registry. 2012-02-17 20:15:16 +01:00
Hermann Kraus
2c6502e791 Merge branch 'master' of github.com:mapnik/mapnik 2012-02-17 19:52:38 +01:00
Hermann Kraus
7c98b8c9c0 Add XML name registry.
Allows users to add new types to XML styles.
2012-02-17 19:45:13 +01:00
Hermann Kraus
f06bda1c1c Split file. 2012-02-17 15:50:24 +01:00
Artem Pavlenko
b5bc17304c Merge remote-tracking branch 'origin/master' 2012-02-17 10:48:49 +00:00
Artem Pavlenko
c6a091937f + add get_optional to mapnik::feature_impl
returns -> boost::optional<mapnik::value const&>
+ use get_optional in feature_kv_iterator to avoid
  throwing exceptions
2012-02-17 10:46:29 +00:00
Hermann Kraus
7b22d69932 Revert "+ fix shield/text positioning - we still need to floor both text and shield"
floor is removed from position calculation now, resulting in better marker and text matching.
Refs #1078.

This reverts commit 009a1e45a7.
2012-02-17 00:59:20 +01:00
Hermann Kraus
465a7621bc Merge pull request #1091 from kkaefer/character-spacing
Support character-spacing along a line.
Closes #721.
2012-02-16 15:08:56 -08:00
Hermann Kraus
44beaf1bdf Make ShieldSymbolizer variables doubles.
Refs #1078.
2012-02-17 00:03:46 +01:00
Konstantin Käfer
9ad113d724 naïvely replace ci.width with ci.width + ci.format->character_spacing 2012-02-16 23:46:44 +01:00
Artem Pavlenko
63735982ee + remove const from parameters passed by-value 2012-02-16 15:35:27 +00:00
Artem Pavlenko
ab56a63f2f Merge remote-tracking branch 'origin/master' 2012-02-15 23:31:38 +00:00
Artem Pavlenko
009a1e45a7 + fix shield/text positioning - we still need to floor both text and shield
position for consistent rendering.
2012-02-15 23:27:33 +00:00
Hermann Kraus
819ee98041 Rename properties=>defauls, default_format=>format. 2012-02-16 00:17:22 +01:00
Hermann Kraus
4602338e0c Add ExpressionFormat: Allow changing text format based on expressions.
Closes #1036.
Refs #1048.
2012-02-15 21:38:24 +01:00
Artem Pavlenko
c83ab1d14e Merge remote-tracking branch 'origin/master' 2012-02-15 19:20:17 +00:00
Hermann Kraus
a2c2ad40e2 Make markers_placement a bit simpler and add sanity checks.
refs #974.
2012-02-15 20:06:50 +01:00
Artem Pavlenko
01497bfc36 + add typedef size_type to mapnik::vertex_vector
+ remove set_capacity() method - no longer required
2012-02-15 15:16:33 +00:00
Artem Pavlenko
6495ea8996 + clip polygons 2012-02-14 18:39:36 +00:00
Artem Pavlenko
58b51b208e use standard_wide::space 2012-02-14 18:33:05 +00:00
Hermann Kraus
be464f0c5b Move code for makers placement from hpp to cpp. 2012-02-13 20:20:09 +01:00
Dane Springmeyer
e2385178f4 install new headers fixing broken node-mapnik compile: https://github.com/mapnik/node-mapnik/issues/85 - refs #1079 2012-02-12 20:53:48 -08:00
Hermann Kraus
1fd7f9d543 Fix spelling error. 2012-02-12 22:48:44 +01:00
Hermann Kraus
afb2eedbb9 Merge branch 'textplacement-rename' 2012-02-12 14:03:57 +01:00
Hermann Kraus
52702d3a20 Rename filter_factory to expression. 2012-02-12 13:06:39 +01:00
Hermann Kraus
57b835419b Fix font-set handling for ShieldSymbolizer. Closes #1077.
Was the same problem as #1064.
2012-02-12 11:39:39 +01:00
Hermann Kraus
69f153bf8f Fix all includes. 2012-02-12 03:55:13 +01:00
Hermann Kraus
fbe929810b Fix most includes. 2012-02-12 02:47:26 +01:00
Hermann Kraus
7ef1c3544e Bugfix: Collect expressions for formating::format_node. 2012-02-11 11:24:33 +01:00
Dane Springmeyer
0acd2137b8 restore agg renderer clip_box, accidentally disabled in 21d05444 - refs #1075 2012-02-10 15:14:15 -08:00
Dane Springmeyer
75e264a594 only form up ostringstream if needed 2012-02-10 12:15:23 -08:00
Dane Springmeyer
bfd79276a7 only encode if image has dimensions (avoid abort in png writer on zero size width or height) 2012-02-10 12:14:53 -08:00
Dane Springmeyer
a682212266 small optimization by avoiding repeated case sensitive checks 2012-02-10 11:20:00 -08:00
Dane Springmeyer
32ac2e464c restore compile for boost 1.42 2012-02-10 10:20:26 -08:00
Artem Pavlenko
6a015dcd59 Merge remote-tracking branch 'origin/master' 2012-02-10 11:59:12 +00:00
Artem Pavlenko
602264d368 + implement 'in situ' boost::spirit::qi based geojson parser 2012-02-10 11:56:53 +00:00
Dane Springmeyer
0748d2beea avoid mutex locks on pj_transform for proj 4.7 and above - closes #1072 2012-02-09 17:28:31 -08:00
Dane Springmeyer
656436d971 Merge branch 'master' of github.com:mapnik/mapnik 2012-02-08 15:45:31 -08:00
Dane Springmeyer
fec0750fcf remove usage of boost::lexical_cast during image encoding - refs #1055 2012-02-08 15:45:08 -08:00
Hermann Kraus
1d50aa1b85 Make interface consistent with similar classes. 2012-02-08 01:16:37 +01:00
Dane Springmeyer
8e61d9a6d2 remove used typedefs 2012-02-07 13:42:45 -08:00
Dane Springmeyer
a00af6faf8 fix debug output name 2012-02-07 13:42:22 -08:00
Artem Pavlenko
958097600c add wkt_parser class for grammar re-usage
implement from_wkt in terms of wkt_parser
2012-02-06 22:49:47 +00:00
Hermann Kraus
18d24983b6 Fix font-name checking when font-set is available. Fixes #1064. 2012-02-06 11:47:35 +01:00
Hermann Kraus
e298d141da Improve expression handling. 2012-02-05 03:11:00 +01:00
Hermann Kraus
9c92bf713d Easier syntax by hiding internal data type. 2012-02-03 00:34:14 +01:00
Dane Springmeyer
17d13cff67 whitespace fixes - closes #911 2012-02-01 17:53:35 -08:00
Dane Springmeyer
21d05444f7 manual whitespace fix 2012-02-01 17:48:56 -08:00
Dane Springmeyer
07d7d7d537 convert to using feature_ptr rather than const& for renderers 2012-02-01 16:37:05 -08:00
Dane Springmeyer
cf8e036574 warn if non bitmap (svg) files are used for pattern symbolizers as this is not currently supported - refs #1010 and #1045 2012-02-01 12:27:57 -08:00
Hermann Kraus
30bef5c955 Fast math.
@de94a3e: Yes, we need them. :-)
2012-02-01 12:49:16 +01:00
Artem Pavlenko
de94a3e82f comment out unused variables 2012-01-31 18:01:19 +00:00
Hermann Kraus
cc886d1688 Merge branch 'feature-text-merge' 2012-01-31 16:52:28 +01:00
Hermann Kraus
06ce3f7eec Merge remote-tracking branch 'herm/textplacement-merge' 2012-01-31 16:37:37 +01:00
Hermann Kraus
72f061b75a Revert 0c5fc9f246.
For new text placment branch a different solution is needed.
2012-01-31 16:36:40 +01:00
Hermann Kraus
1a16e9c5ab Remove class text_processor. 2012-01-31 16:24:58 +01:00
Artem Pavlenko
a395f974f3 small fix 2012-01-31 12:00:36 +00:00
Artem Pavlenko
e00e8f98aa if geometries are polygons, default to 'largest_box' only
for label placement.
TODO: expose settings in XML
2012-01-31 11:52:43 +00:00
Artem Pavlenko
b90de4874c Merge branch 'textplacement-merge' into feature-text-merge
Conflicts:
	docs/textrendering.gv
	include/mapnik/building_symbolizer.hpp
	include/mapnik/placement_finder.hpp
	include/mapnik/symbolizer_helpers.hpp
	include/mapnik/text_placements.hpp
	include/mapnik/text_placements_list.hpp
	include/mapnik/text_placements_simple.hpp
	include/mapnik/text_processing.hpp
	plugins/input/shape/shape_utils.hpp
	src/agg/process_shield_symbolizer.cpp
	src/agg/process_text_symbolizer.cpp
	src/cairo_renderer.cpp
	src/grid/process_shield_symbolizer.cpp
	src/grid/process_text_symbolizer.cpp
	src/load_map.cpp
	src/placement_finder.cpp
	src/shield_symbolizer.cpp
	src/text_placements.cpp
	src/text_processing.cpp
	src/text_symbolizer.cpp
	tests/visual_tests/clean.sh
	tests/visual_tests/test.py

Merge herm/textplacement-merge
2012-01-31 11:09:55 +00:00
Hermann Kraus
49225d7468 Handle additional boxes from ShieldSymbolizer. 2012-01-29 20:28:32 +01:00
Hermann Kraus
16e5fefb4d Remove text_placement_info::initialize() to avoid incorrect usage of this object. 2012-01-29 20:04:31 +01:00
Hermann Kraus
49a3b3c52c Make code easier to read by using std::pair instead of boost::tuple for position. 2012-01-29 17:33:43 +01:00
Hermann Kraus
822786e41c Remove no-text attribute. One can simply leave the text empty if one wants this. 2012-01-29 13:10:14 +01:00
Hermann Kraus
4a3a3fd82c ShieldSymbolizer for Cairo. 2012-01-29 05:03:38 +01:00
Hermann Kraus
3e59503e25 ShieldSymbolizer for Grid renderer. 2012-01-29 04:57:56 +01:00
Hermann Kraus
09459683e9 Update symbolizer helpers for ShieldSymbolizer.
Correctly handle point placement for TextSymbolizer. (Tries each possible placement for each point).
2012-01-29 04:49:02 +01:00
Hermann Kraus
a3871e52b7 Rename set_values_from_xml to from_xml. 2012-01-28 17:13:41 +01:00
Hermann Kraus
ff07b4bce0 placement_element => text_path 2012-01-28 00:09:58 +01:00
Hermann Kraus
d6b8209a9d Rewrote text processing to use a tree structure.
Reduces the number of classes and simplifies extension.
2012-01-27 23:15:12 +01:00
Artem Pavlenko
84b948687d Merge branch 'master' into feature-text-merge 2012-01-27 13:27:27 +00:00
Artem Pavlenko
fc7e07137d removing as it doesn't belong in here. 2012-01-27 13:23:15 +00:00
Hermann Kraus
dbc1280731 Process more than one geometry.
Start work on ShieldSymbolizer.
2012-01-26 20:05:38 +01:00
Artem Pavlenko
5ebdd84940 format 2012-01-26 16:24:48 +00:00
Artem Pavlenko
5c6fdc780f return member variable by const reference 2012-01-26 13:07:28 +00:00
Artem Pavlenko
36a23367a6 + fix compilation issues 2012-01-26 13:05:41 +00:00
Artem Pavlenko
d1f16bb227 merge textplacement-merge into feature_impl 2012-01-26 13:04:08 +00:00
Hermann Kraus
1106dcb445 Support for cairo + grid renderer. 2012-01-25 16:17:38 +01:00
Hermann Kraus
bdc20f766b Complete symbolizer_helpers.hpp for TextSymbolizer. 2012-01-25 15:44:19 +01:00
Artem Pavlenko
d146bcc380 Merge branch 'master' into feature_impl 2012-01-25 10:04:03 +00:00
Tony Young
d0d692cb82 Add text placements to Python API. 2012-01-25 12:57:26 +13:00
Hermann Kraus
3b887972b8 Start work on new symbolizer helpers. 2012-01-23 19:02:35 +01:00