Dane Springmeyer
64d5153aea
Improved support for international text
...
- Implementation by @herm for GSOC 2012 (http://mapnik.org/news/2012/10/06/gsoc2012-status9/ )
- C++11 port, improvements, optimizations by @artemp
- Testing and integration with master by @springmeyer
- Thank you to all the support from @behdad along the way
- Thanks for help testing @toton6868, @stephankn, @nirvn, @mfrasca, @simonsonc and many others
Refs: #2073,#2070,#2038,#2037,#1953,#1820,#1819,#1714,#1634,#1547,#1532,#1319,#1208,#1154,#1146
2013-11-22 00:06:32 -08:00
Dane Springmeyer
2cc3d82a87
iwyu
2013-11-08 19:13:51 -08:00
Dane Springmeyer
c7a6265869
organize text code in subdirectory
2013-11-07 20:09:22 -08:00
artemp
b315eb2167
+ use std::shared_ptr and std::make_shared
2013-09-20 14:01:27 +01:00
Dane Springmeyer
c5dd5487a5
Merge pull request #1966 from mapnik/background-image-comp-op
...
Map background-image-comp-op and background-image-opacity
2013-09-05 12:25:47 -07:00
Petr Dlouhý
69185339a5
offset enabled for LinePatternSymbolizer
2013-08-22 10:35:44 +02:00
Dane Springmeyer
fad9af5263
add support for applying custom comp_op and opacity when blending map background image into background color at render time - refs mapnik/mapnik-support#8
2013-07-25 01:00:38 -04:00
Dane Springmeyer
5c13504cc0
remove unreachable break
2013-07-22 14:17:59 -04:00
Dane Springmeyer
b1a50d1000
iwyu
2013-06-18 14:26:58 -07:00
Dane Springmeyer
0365d3e081
start centralizing filesystem operations in mapnik::util::fs - refs #1177
2013-06-02 19:28:24 -07:00
Dane Springmeyer
1036eb1c99
support base_path adjustment when reading from xml file as well as from a string
2013-06-02 16:24:21 -07:00
Dane Springmeyer
e51c59aacc
fix #1886 - TODO - refactor base_path logic since it is confusingly written
2013-06-02 16:06:32 -07:00
Dane Springmeyer
b0f15bf5de
avoid muffling proj_init at render time and instead catch at load_map - closes #646
2013-05-29 15:16:44 -07:00
Dane Springmeyer
8634a04938
add support for drawing all geometry verticies with debug symbolizer mode=vertex and expose in python - closes #1848
2013-05-21 19:21:35 -07:00
Dane Springmeyer
55ec6a7942
cleanups around exception handling
2013-03-22 17:58:33 -07:00
Dane Springmeyer
71a04cd09d
pass optional by const ref
2013-03-12 16:56:31 -07:00
Dane Springmeyer
e66d007627
add halo-rasterizer option for text symbolizer
...
- closes #1298
- allows for much faster halo drawing and simliar quality for
radius values in the 1-2 px range
- also moves grid_renderer away from using freetype stroker completely
since halo quality is not critical for this renderer
2013-03-08 20:32:39 -08:00
XinGang Li
df7db521bb
Add parse_image_filters function to avoid python bindings access the internal structs.
2013-02-22 23:58:30 +08:00
Dane Springmeyer
19e52c0136
rename simplify-tolerance -> simplify to match clip/smooth params
2013-02-05 15:48:16 -08:00
Dane Springmeyer
41772edbd7
support reading raster-colorizer properties off of raster symbolizer as well as in standalone child element
2013-02-01 16:32:48 -05:00
Dane Springmeyer
e16567fecb
fixup std:: prefixing of cmath functions - closes #1694
2013-01-17 13:53:48 -08:00
Dane Springmeyer
7087fb9698
amend c61335c277
, unbreak datasource templates, and add a test to ensure it does not regress again
2013-01-04 14:36:24 -08:00
Dane Springmeyer
c61335c277
fix -Wshadow warnings
2013-01-03 19:14:19 -08:00
artemp
a38b252ccd
Merge branch 'master' into bigint
...
Conflicts:
plugins/input/geojson/geojson_datasource.cpp
plugins/input/postgis/postgis_featureset.cpp
2012-12-18 13:57:39 +00:00
Dane Springmeyer
bb27156df0
use internal noncopyable class to speed up compile times slightly
2012-12-16 18:19:52 -08:00
artemp
c4bae9d30a
Merge branch 'master' into bigint
...
Conflicts:
bindings/python/mapnik_feature.cpp
plugins/input/shape/dbfile.cpp
2012-12-14 10:01:21 +00:00
Dane Springmeyer
772c7f52fc
knock out some msvc compiler warnings
2012-12-12 15:59:27 -08:00
Dane Springmeyer
7c58bf9fcb
replace boost::trim with faster custom trim - closes #1633
2012-12-07 14:06:13 -08:00
Dane Springmeyer
390706b8c7
remove all remaining stringstream usage in load_map to avoid perf hit from locale lock - refs #1055
2012-12-06 20:15:27 -08:00
artemp
855aea95e0
+ mapnik::value and mapnik::parameters - initial support for 64-bit integers
2012-12-03 13:12:09 +00:00
Dane Springmeyer
f39c3ad857
add marker-multi-policy parameter to support user-configurable rendering behavior for multi-geometries when using either point or interior placement - closes #1573 , refs #1555
2012-11-20 17:58:39 -08:00
Dane Springmeyer
b46c5ddeb1
fix error language when a file cannot be found
2012-10-16 17:45:33 -07:00
Dane Springmeyer
0cafbc9460
warn if a Datasource template is not found
2012-10-10 14:33:56 -07:00
Dane Springmeyer
09726626cf
add 'premultiplied' property on raster symbolizer to allow user to control (in rare cases) the premultiplied status of images in cases where tiffs mis-report it - closes #1512
2012-10-01 16:14:41 -07:00
Dane Springmeyer
acaee09598
fix debug output symbolizer name
2012-10-01 15:35:35 -07:00
artemp
d7abfc267b
Merge branch 'master' into conv_simplify
2012-09-27 08:54:32 +01:00
Dane Springmeyer
b9b97ba652
after #1483 fontset is boost optional so check appropriately in load_map (solves assert)
2012-09-26 12:56:57 -07:00
artemp
01ae1a179d
Merge branch 'master' into conv_simplify
2012-09-17 11:35:15 +01:00
Dane Springmeyer
ad8e4e4cc7
Merge pull request #1366 from mapnik/debugsymbolizer
...
Debug Symbolizer
2012-09-14 16:43:38 -07:00
Dane Springmeyer
8cfb40ae2f
refactor fontsets making them optional on the symbolizer and removing the dangerous default contructor - closes #1483 (TODO - consider modifying insert_fontset to only take single arg of fontset instance)
2012-09-14 14:17:45 -07:00
artemp
29423cfc1c
Merge branch 'master' into conv_simplify
...
Conflicts:
bindings/python/mapnik_markers_symbolizer.cpp
plugins/input/ogr/ogr_index_featureset.cpp
plugins/input/shape/dbfile.cpp
plugins/input/shape/shapefile.hpp
src/load_map.cpp
2012-09-07 16:46:02 +01:00
artemp
967d6110bf
+ singleton: return ref from instance() method
2012-09-07 16:23:03 +01:00
artemp
11e6ba0c09
+ make client methods non-static in classes derived from
...
mapnik::singleton<> (TODO: apply to all)
+ ensure client methods are accessed through instance() method
2012-09-07 14:56:30 +01:00
artemp
8fa0742a53
+ make client methods non-static in classes derived from
...
mapnik::singleton<> (TODO: apply to all)
+ ensure client methods are accessed through instance() method
2012-09-07 14:51:25 +01:00
artemp
5f8bb423e8
Merge branch 'conv_simplify' of git://github.com/kkaefer/mapnik into kkaefer-conv_simplify
2012-09-06 13:12:39 +01:00
Colin Rundel
0e5f71408e
Simplified path_parse implementation
...
path_parse and path_parse_from_string were redundant, replaced with overloaded path_parse function to achieve the same functionality.
Additional consistency cleanup in load_map.cpp.
2012-08-29 16:41:43 -04:00
Konstantin Käfer
13c46b6cc6
Merge branch 'master' into conv_simplify
...
Conflicts:
bindings/python/mapnik_line_symbolizer.cpp
bindings/python/mapnik_polygon_symbolizer.cpp
2012-08-24 23:29:43 +02:00
Konstantin Käfer
4e1423cefe
Merge branch 'master' of git://github.com/mapnik/mapnik into conv_simplify
...
Conflicts:
src/cairo_renderer.cpp
2012-08-24 23:24:31 +02:00
Dane Springmeyer
6806ca1509
load in load_map if image/svg files are not available when not using stock markers or dynamic expressions - closes #1439
2012-08-23 14:31:50 -07:00
Dane Springmeyer
1ca4bcf78d
further improve the reporting of unprocessed nodes and attributes - refs #1441
2012-08-23 14:11:25 -07:00
Dane Springmeyer
03860b1728
improve error messages for exceptions thrown in symbolizers during load_map - closes #1441
2012-08-23 14:04:03 -07:00
Dane Springmeyer
bf3efbeab8
move image filter grammar to cpp and re-use in load map by attaching to xml_tree - closes #1435
2012-08-23 08:13:22 -07:00
Dane Springmeyer
e8101a070a
partially repair backward compatibility in python for 'marker-type' - refs #1427 and #1285
2012-08-21 16:36:15 -07:00
Dane Springmeyer
7b7e556850
formatting
2012-08-20 16:27:38 -07:00
Dane Springmeyer
ad2250a4b5
back compatibility for raster-mode values using _ and shield-no-text
2012-08-16 19:20:29 -07:00
Dane Springmeyer
d95f81a588
c++ style
2012-08-16 17:58:08 -07:00
Dane Springmeyer
e0608a4aa4
only throw for unknown attributes if in strict mode
2012-08-16 16:10:23 -07:00
Konstantin Käfer
b243f03c90
use a set to make visvalingam a lot faster
2012-08-16 22:26:58 +02:00
Konstantin Käfer
22150f908f
add facilities to choose the simplification algorithm
2012-08-16 16:53:38 +02:00
artemp
aecf0531f5
+ remove metawriters for the upcoming 2.1 release
2012-08-15 09:47:03 +01:00
Konstantin Käfer
dcd7a07c8e
simplify-tolerance property boilerplate
2012-08-14 17:04:57 +02:00
Dane Springmeyer
9f450bd986
avoid silencing invalid transform throw and use LOG_ERROR for invalid maximum-extent - closes #1363
2012-08-13 15:35:22 -07:00
Dane Springmeyer
9284c6369d
correct rendering behavior of marker-opacity, which should not, as per svg, override fill-opacity and stroke-opacity but should combine with it
2012-08-03 14:14:03 -07:00
artemp
5541ea0271
+ layer : minimum-extent and buffer-size
...
+ agg::process_xxx : remove ad-hoc query_extent modifiers
+ ctrans : simplify vertex skipping
2012-08-01 15:44:36 +01:00
Dane Springmeyer
16084ff335
support both interior placement and point for markers - helps prepare for #952
2012-07-31 18:13:50 -07:00
Dane Springmeyer
3821afd74d
inherit default placement types from class instance
2012-07-31 18:06:52 -07:00
Hermann Kraus
f3326115ac
Add debug symbolizer.
2012-08-01 01:16:48 +02:00
Dane Springmeyer
0d97b851fa
markers: support opacity on bitmaps, and move to supporting both opacity and fill-opacity
2012-07-30 18:31:21 -07:00
Dane Springmeyer
e213f49d7c
re-implement conditional stroke application in markers_symbolizer initially added in 9d756165e0
, amended in 9f064960e3
, and wrongly disabled in bd74d18f6d
2012-07-27 19:21:46 -07:00
Dane Springmeyer
bd74d18f6d
no need anymore to have parse_stroke return a bool
2012-07-25 18:26:34 -07:00
Dane Springmeyer
9f064960e3
load_map: a stroke-width=0 is valid for markers now (for restyling svg)
2012-07-25 18:19:41 -07:00
Dane Springmeyer
6396b443ef
default to MARKER_POINT_PLACEMENT for markers
2012-07-24 19:48:22 -07:00
Dane Springmeyer
b4f3d6da11
include what you use
2012-07-24 18:35:41 -07:00
Dane Springmeyer
214b24ed12
finish updating marker tests - closes #1304
2012-07-12 19:21:04 -07:00
Dane Springmeyer
3e895ac6b7
implement built in support for ellipse and arrow markers, make markers_symbolizer default to POINT placement and ellipse drawing, add back compatibility for deprecated marker-type property - refs #1285 and #1304
2012-07-10 22:38:53 -07:00
artemp
58bd55b075
+ allow independent width and height
...
+ better namings
2012-07-09 10:21:12 +01:00
Dane Springmeyer
3823890b40
rollback 34c3128b0c
, move 'scaling' to proper enum, and move image_scaling functions to new cpp/hpp
2012-07-06 16:45:58 -07:00
Dane Springmeyer
9beceae298
shuffle base parsing for shields so it is clearer the call is being made
2012-07-05 17:10:00 -07:00
Dane Springmeyer
0de815ba03
remove raster mode serialization and a few std::clog references in save_map and load_map
2012-07-05 16:07:38 -07:00
artemp
9d756165e0
+ update to work with optional stroke (markers)
2012-07-05 17:16:11 +01:00
artemp
9b14a7206a
remove arrow/ellipse ad-hoc markers - see #1285
2012-07-04 14:50:11 +01:00
Dane Springmeyer
7d9b4ce0da
settle upon 'geometry-transform' naming - refs #1276
2012-07-03 18:34:11 -07:00
Dane Springmeyer
e4ff79d8d8
re-implement f866ab1f80
and da53af5c98
(re-closing #1277 ) since somehow these commits dissapeared from master
2012-07-03 18:04:35 -07:00
Dane Springmeyer
5c9186017b
rename 'image-transform' to just 'transform' (for backward compatibility) and call transforms applied to geometries 'view-transform'
2012-06-29 15:59:56 -07:00
Dane Springmeyer
67e9b0d616
move marker width/height to expressions - closes #1102 and replaces #1255
2012-06-28 19:54:25 -07:00
Dane Springmeyer
48a543b5d5
implement style-level opacity - closes #314
2012-06-19 15:10:28 -04:00
Artem Pavlenko
65156a59ed
+ read opacity from .xml (polygon_pattern_symbolizer)
2012-06-18 18:53:41 -04:00
Mickey Rose
bd9609c370
new feature: transform expressions are now dynamic
...
(cherry picked from commit 173c402b5c142310087246b0ea54dbec54edcac8)
Conflicts:
include/mapnik/vertex_converters.hpp
src/agg/process_markers_symbolizer.cpp
src/agg/process_point_symbolizer.cpp
src/agg/process_polygon_pattern_symbolizer.cpp
src/load_map.cpp
2012-06-06 17:34:26 +02:00
Dane Springmeyer
11e81fdb03
finish exposing markers symbolizer in python - closes #612
2012-06-04 13:42:51 -07:00
Artem Pavlenko
9dc4cb34cc
+ point symbolizer needs 'image-transform' via @lightmare
2012-05-29 12:03:14 +01:00
Artem Pavlenko
9c9753d2c8
+ fix: set_image_transform
2012-05-15 14:20:56 +01:00
Dane Springmeyer
c1495c0c74
restore the fast line rasterizer (rasterizer_outline_aa) and improve its rendering quality and consistency with standard method - refs #873
2012-05-11 17:40:21 -07:00
Artem Pavlenko
5f5ca030b7
+ parse symbolizer_base (raster)
2012-05-10 18:15:32 +01:00
Artem Pavlenko
7e49a6f44e
+ move 'smooth' property to symbolizer_base level
...
+ remove 'SYMBOLIZER_FAST' completely
2012-05-07 16:08:16 +01:00
Artem Pavlenko
44c5efbf75
+ add miterlimit parameter
2012-05-02 17:04:24 +01:00
Artem Pavlenko
a475b6e0bc
+ add offset_converter
2012-05-02 15:13:46 +01:00
Artem Pavlenko
77dfac5622
+ re-introduce transform on symbolizer_with_image
2012-05-01 16:47:33 +01:00
Artem Pavlenko
a72ee4ba66
Merge branch 'master' into compositing
...
Conflicts:
include/mapnik/image_compositing.hpp
include/mapnik/util/conversions.hpp
include/mapnik/value.hpp
src/agg/agg_renderer.cpp
src/agg/process_line_symbolizer.cpp
src/agg/process_polygon_symbolizer.cpp
src/png_reader.cpp
src/svg_parser.cpp
utils/svg2png/svg2png.cpp
2012-05-01 12:35:49 +01:00
Artem Pavlenko
f57d2c28f0
+ 'direct' image filter support: apply filter on main rendering buffer
...
(TODO: better user-friendly names)
+ allow empty string e.g image-filters="" (why not?)
2012-04-25 10:54:54 +01:00
Artem Pavlenko
c26ad5706e
+ move 'clip' property to symbolizer_base
...
+ support 'clip' accross relevant symbolizer (agg)
2012-04-24 11:10:54 +01:00
Dane Springmeyer
2b92f04926
optimize font rendering with fontsets in the case of some fontset fonts not being available on the users system - closes #1182
2012-04-19 11:22:42 -07:00
Artem Pavlenko
dd7035972d
+ remove debug printing
2012-04-19 13:41:09 +01:00
Dane Springmeyer
cfa2ffc52e
better error output when we fail to parse comp-op or image-filters
2012-04-18 07:37:14 -07:00
Artem Pavlenko
668d6f2325
image-filters: initial implementation
2012-04-18 12:14:23 +01:00
Artem Pavlenko
294de4b95a
+ update to read "transform" attribute at symbolizer_base level
2012-04-18 09:46:19 +01:00
Artem Pavlenko
45b0dd6482
+ support smooth conv in polygon_pattern_symbolizer
2012-04-10 15:46:38 +01:00
kunitoki
b60c508c1c
- finish thrashing all the useless ifdef MAPNIK_LOG
2012-04-09 21:41:56 +02:00
kunitoki
1f351e0e09
implement new debug system
2012-04-08 02:20:56 +02:00
Dane Springmeyer
19f5f77417
reuse path_expression_grammar - finishes and closes #1028
2012-04-06 16:50:11 -07:00
Dane Springmeyer
98e470903c
less lexical cast - refs #1055
2012-04-06 13:39:13 -07:00
Artem Pavlenko
738ff501fe
remove CompositingSymbolizer
2012-04-05 17:04:11 +01:00
Artem Pavlenko
34c984b2b8
+ support compositing across all symbolizers
...
(currently polygon and line symbolizers)
2012-04-05 15:59:11 +01:00
Artem Pavlenko
e7f0e8aac0
+ support configurable vertex converter
2012-04-03 19:49:57 +01:00
Artem Pavlenko
347fce4db2
+ add 'clip' property
2012-04-03 16:28:49 +01:00
Artem Pavlenko
81566a8f80
+ use pre-multiplied pixel format in agg_renderer
...
(de-multiply in end_map_processing())
+ support for compositing at style level
+ image blur (TODO)
2012-04-03 13:10:30 +01:00
Artem Pavlenko
9840c7df4c
Merge branch 'master' into compositing
...
Conflicts:
include/mapnik/util/dasharray_parser.hpp
src/agg/process_line_symbolizer.cpp
src/image_compositing.cpp
2012-03-26 09:05:02 +01:00
Dane Springmeyer
ea5a46f230
remove the storage and serialization of 'font-directory' and 'minimum-version' since there is no strong need to have them accessible after initial parsing
2012-03-23 18:14:14 -07:00
Dane Springmeyer
586978f345
fix operator
2012-03-23 17:27:01 -07:00
Dane Springmeyer
3b498efbd9
fixup font registration code ensuring invalid fonts will warn but not throw and register_fonts will only return success if > one font is registered and none have failed
2012-03-23 15:07:28 -07:00
Artem Pavlenko
38fafc14bc
+ impl dasharray parser (supports 'none')
...
+ skip 0,0 dashes in load_map
2012-03-23 13:18:49 +00:00
Artem Pavlenko
b4e96c35b5
+ impl dasharray parser (supports 'none')
...
+ skip 0,0 dashes in load_map
2012-03-23 11:58:07 +00:00
Dane Springmeyer
d991427737
formatting
2012-03-22 16:37:24 -07:00
Artem Pavlenko
f0b6fffcc9
Merge branch 'master' into compositing
2012-03-22 09:14:49 +00:00
Artem Pavlenko
95cfb061af
+ experimental compositing symbolizer (fill only)
2012-03-21 15:47:33 +00:00
Dane Springmeyer
3f06747407
braces for readibility
2012-03-20 16:40:07 -07:00
ldp
1542e3e513
add ignore-placement to MarkersSymbolizer
2012-03-18 22:35:02 +01:00
Hermann Kraus
725248628d
C++ style.
2012-03-16 01:50:55 +01:00
Artem Pavlenko
70512dc03b
+ add optional smothing to line_symbolizer
...
( TODO: conv_dash )
2012-03-15 10:26:53 +00:00
Artem Pavlenko
87b22c29b2
+ add optional polygon smoothing ( 0.0 < smooth < 1.0 )
...
using agg_conv_poly1_curve
2012-03-14 15:01:31 +00:00
Dane Springmeyer
93995d7c4b
apply mapnik_format.el formatting
2012-03-13 07:56:11 -07:00
Hermann Kraus
2b68cea0a1
Merge branch 'new-xml'
...
Conflicts:
include/mapnik/config_error.hpp
include/mapnik/ptree_helpers.hpp
src/formatting/text.cpp
src/libxml2_loader.cpp
src/load_map.cpp
src/metawriter_factory.cpp
src/text_placements/registry.cpp
src/text_placements/simple.cpp
2012-03-13 11:11:28 +01:00
Hermann Kraus
150de2aac5
Add rapidxml parser.
2012-03-13 09:02:53 +01:00
Dane Springmeyer
fb6bf401e9
avoid constructing extra temp object
2012-03-12 13:22:07 -07:00
Artem Pavlenko
207ecfd597
remove camel-case names from layer.[h,c]pp
2012-03-12 15:39:59 +00:00
Hermann Kraus
f25a2231ff
Warn about unused XML elements.
2012-03-12 02:12:58 +01:00
Hermann Kraus
02d8a98b3f
Improve error messages.
2012-03-12 01:09:26 +01:00
Hermann Kraus
502773bea6
Only one grammar object per XML tree.
2012-03-11 23:24:28 +01:00
Dane Springmeyer
a6f89883d7
moar boost::make_shared
2012-03-09 16:20:50 -08:00
Hermann Kraus
cd8cfc6527
Improve error messages.
2012-03-08 18:52:53 +01: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
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
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
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