Jiri Drbalek
f52a0fa4f6
new interior algorithm
2017-12-13 21:48:13 +00:00
Jiri Drbalek
ea7ba2c099
add polylabel placement method
2017-12-13 21:48:13 +00:00
Jiri Drbalek
e243e16fd9
find text interior placement after reprojection
2017-12-13 21:48:13 +00:00
Artem Pavlenko
43d7278352
Don't apply preserveAscpectRatio
logic logic if width
and height
expressed as % values ( #3812 )
2017-12-06 11:23:54 +01:00
Artem Pavlenko
bfb071233e
fix 'prioritize_linking' option + remove depricated has_key
usage
2017-11-23 11:30:35 +01:00
Artem Pavlenko
a04caf339e
Merge branch 'master' into scons3
2017-11-22 15:47:03 +01:00
Artem Pavlenko
ce12610adc
Add copyleft notice
2017-11-21 15:53:08 +01:00
Artem Pavlenko
5732df452c
support SCons 3 (initial attempt)
2017-11-16 11:59:55 +01:00
Dane Springmeyer
f32f3b34ae
add glibc_workaround.cpp if option is chosen
...
This reverts commit 751d9bff1672f6b8cbd2b5ebe2eb460223746806.
2017-11-15 20:32:38 -08:00
Artem Pavlenko
3cb74f0871
attempting to fix #3793
2017-11-14 10:10:26 +01:00
Artem Pavlenko
97f520c7cf
cleanup
2017-11-14 10:10:26 +01:00
Artem Pavlenko
4aaba786fa
fix warning: comparison of integers of different signs
2017-11-13 09:48:31 +01:00
Dane Springmeyer
c2ca920181
remove inadvertent change
2017-11-09 10:08:23 -08:00
Dane Springmeyer
1ad3ae044b
at workaround for throw_out_of_range_fmt
2017-11-09 10:07:26 -08:00
Artem Pavlenko
98c26bcae0
SVG parser - fix default gradient vector in linear gradient [0,0,1,0] + support units in offset
attribute.
2017-11-06 12:39:50 +01:00
Artem Pavlenko
743c14d3ff
add UDL via operator"" _case
2017-11-06 10:31:53 +01:00
Ben Harper
05849f0da5
Add new angled-point marker placement mode for lines
...
This adds a new mode called 'angled-point' to the marker-placement modes.
The full list of modes is then:
point, angled-point, interior, line, vertex-first, vertex-last
Angled point is identical to point, except that when placing a marker on
a line, the marker's angle is taken from the angle of the line segment.
There is another possible use of the "angled-point" concept for polygons,
and that is for placing labels on stand (aka erf) polygons. By computing
a dominant angle for a mostly rectangular polygon, this can produce quite
good results. I'm not sure whether I should implement that now, or if I
could do that later.
2017-10-26 15:09:17 +02:00
talaj
8347778abb
fix memory leak ( #3775 )
2017-10-06 09:27:58 +02:00
talaj
377253bcc8
Check duplicate style names ( #3770 )
...
* Ported map I/O tests from Python.
These test loading, saving and round-tripping Map XML, and are
pretty much a direct port of the old Python `load_map_test.py` and
`save_map_test.py`.
* check duplicate style name
* update test data
2017-09-28 15:51:55 +02:00
Artem Pavlenko
3d4963f40c
move implementatio into *.cpp + return 'closest_point_result' struct.
2017-09-22 13:21:50 +02:00
talaj
d14203561d
color font support improvements ( #3758 )
...
👍
2017-09-13 10:14:46 +01:00
Artem Pavlenko
01574e8038
update comment
2017-09-12 09:43:50 +01:00
Dane Springmeyer
4bc7ec73de
fix spelling in svg parser error
2017-09-10 08:59:54 -07:00
artemp
a682cea51e
svg-parser - unify error messages text + update unit test
2017-08-08 12:38:24 +01:00
artemp
6f73181e9b
Enforce consistent error handling policy - always throw on fatal errors (both strict and non-strict). In strict
mode throw on first parsing error. Remove return values from parse
,parse_from_string
and traverse_tree
methods. Update unit tests.
2017-08-02 10:32:13 +01:00
artemp
a26723b4a5
add missing ' in error message.
2017-08-02 10:32:00 +01:00
Jiri Drbalek
a3247c8dce
remove superfluous line
2017-07-07 20:44:15 +00:00
artemp
b164117d99
disable handling unsupported attributes (leaving only well-known unsupported elements) to reduce verbosity.
2017-07-07 10:09:08 +02:00
talaj
53249053e4
cairo renderer: clear map background with given color as agg renderer does ( #3718 )
2017-07-04 16:32:45 +02:00
talaj
d0ecd51b63
Set premultiplied flag to the color font glyph bitmap ( #3716 )
...
* color font bitmap is premultiplied
* update visual tests
2017-07-03 17:15:07 +02:00
artemp
71344f78df
wkb_reader : pre-allocate number of polygons in multi_polygon
and number of geometries in geometry_collection
via vector.reserce(...)
2017-07-03 15:18:23 +02:00
artemp
1e8ec57593
add <image> and <switch> to unsupported
elements.
2017-06-29 09:41:16 +02:00
artemp
47bfe7cb91
make unsupported
elements/attributes arrays const.
2017-06-29 09:41:16 +02:00
artemp
5118220c4c
handle "well-known" unsupported elements and attributes.
2017-06-29 09:41:16 +02:00
artemp
8f2961b9e2
svg_parser - implement preserveAspectRatio
support (ref https://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute )
2017-06-29 09:41:16 +02:00
artemp
3edcd4afa2
fix viewBox
coordinate system logic + apply transform in <use>
element
2017-06-29 09:41:16 +02:00
artemp
fafc751e42
svg_parser - add support for "href" preserving deprecated (since SVG 2) "xlink:href"
2017-06-29 09:41:16 +02:00
artemp
c2ad505899
fix method name
2017-06-29 09:41:16 +02:00
artemp
aae7253ba1
SVG parser - refactor to use switch
where appropriate + experimental support for <symbol>
2017-06-29 09:41:16 +02:00
artemp
87abf93da3
move name_to_int
into separate header for re-use.
2017-06-29 09:41:16 +02:00
artemp
2de8ce0eb7
svg_parser - don't log unsupported entities just yet (ref #763 )
2017-06-29 09:41:16 +02:00
artemp
53a69463ea
SVG parser - add support for <use>
element (ref #763 ).
2017-06-29 09:41:16 +02:00
artemp
199a281627
remove debug stderr
2017-06-29 09:41:16 +02:00
artemp
ca4d140fb0
cleanup
2017-06-29 09:41:16 +02:00
artemp
b6aa45144c
svg_parser - refactor => remove mutable temporary_gradient_
member variable + process stop
elements from within linearGradient
and radialGradient
.
2017-06-29 09:41:16 +02:00
artemp
6da83bc986
svg_parser - store unresolved
gradient nodes for deferred initalisation.
2017-06-29 09:41:16 +02:00
artemp
ef6c2e71b8
svg-parser : handle parsing failures via error_handler
( throw in strict mode and log+continue when strict==false)
2017-06-29 09:41:16 +02:00
artemp
e56233833e
svg_parser - fix bug introduced in previous commit.
2017-06-29 09:41:16 +02:00
artemp
3f591af871
initial support for strict SVG parsing (WIP)
2017-06-29 09:41:16 +02:00
artemp
5aba57eb61
remove out-of-date comment line [skip ci]
2017-06-15 11:33:36 +02:00
artemp
3451d11b00
tiff_reader - fix num_rows
logic in read_stripped
method ref #3679
2017-06-12 17:55:24 +02:00
Jiri Drbalek
a734ff1e90
layers should be composited with zero offset
2017-06-02 15:32:00 +00:00
artemp
dfa8f100b2
freetype_engine - port singleton
changes from v3.0.x
2017-06-01 12:47:18 +02:00
artemp
c61e85b875
unify namespace names
2017-05-23 18:49:25 +02:00
artemp
3a475517c0
TIFF I/O - use memory mapping in tiff_reader.cpp
when MAPNIK_MEMORY_MAPPED_FILE
is defined.
2017-05-22 16:29:22 +02:00
artemp
34a622f48e
TIFF I/O - use memory mapping for file based I/O.
2017-05-22 13:07:42 +02:00
artemp
3c1be21162
tiff_reader - use image_reader_exception
2017-05-22 13:05:08 +02:00
artemp
12d6662009
TIFF I/O - read_tiled
: remove std::swap_ranges and apply the same logic as in read_stripped.
2017-05-18 16:43:27 +02:00
artemp
4d8796dbd3
remove unused code
2017-05-18 15:23:22 +02:00
artemp
545bcb6585
remove bogus assert
2017-05-18 14:24:01 +02:00
artemp
cb7a3abfcb
follow up fix for the bug reported by @flippmoke + fix return value check in TIFFReadRGBAStrip
2017-05-18 13:12:52 +02:00
Blake Thompson
efcb667f03
The last stripe of a tiff could be read incorrectly due to a swap
2017-05-17 17:06:40 -05:00
artemp
ef9b1025fa
fix bug - use tile_width_
and tile_height_
+ cleanup
2017-05-17 14:55:41 +02:00
artemp
1d95cad922
TIFF I/O - make read_stripped
handle both RGBA and raw encoded strips ( #3670 )
2017-05-16 13:44:55 +02:00
artemp
e8cd4b9aef
TIFF I/O : update and fix logic handling rgba vs grey scale.
2017-05-12 18:39:58 +02:00
artemp
e62bf6e18f
TIFF I/O - use scanline
to read stripped
grey for now.
2017-05-12 15:55:46 +02:00
artemp
88fb137061
TIFF I/O - make read_tiled templated on ImageData
ref #3669 #3670 (WIP)
2017-05-11 17:25:07 +02:00
artemp
db2eaf2e2b
TIFF I/O : add support for interleaved data in void tiff_reader<T>::read_tiled(std::size_t x0,std::size_t y0, ImageData & image)
ref #3669 #3670
2017-05-11 12:13:07 +02:00
artemp
1725b1ebba
TIFF.input - port changes from https://github.com/mapnik/mapnik/pull/3668 (ref #3669 )
2017-05-10 14:33:29 +02:00
artemp
77f849b136
TIFF I/O : add support for multiple bands in 'scanline reading method in
read_any_gray` (partially fixes #3669 )
...
(NOTE: we default to `scanline` even for `stripped` images, TODO add support as per #3670 )
2017-05-10 13:21:51 +02:00
artemp
333ef9fde1
update copyright year
2017-05-05 13:02:01 +02:00
artemp
064b99168b
geometry.hpp
2017-03-27 16:14:51 +01:00
artemp
fd36ac5279
Merge branch 'master' into geometry-refactor
2016-11-10 18:01:11 +01:00
Jiri Drbalek
0221cd36df
take scale_factor into account when inflating buffer
2016-10-17 11:59:21 +00:00
Jiri Drbalek
b830469d2d
multiply blur radius by scale_factor
2016-10-17 11:59:21 +00:00
artemp
8e0e344b72
Merge branch 'master' into geometry-refactor
2016-09-05 09:41:52 +01:00
Dane Springmeyer
fa44f0e247
Add memory_datasource test + fix returning of invalid_featureset for emptyset
2016-09-02 15:09:45 -07:00
artemp
38bff90a99
Merge branch 'master' into geometry-refactor
2016-09-01 16:06:20 +01:00
artemp
af099a57ef
topojson grammar - change interface + instantiate with Iterator = char const*
to reduce binary size
2016-08-31 17:42:18 +01:00
artemp
f360f50eed
JSON - make generic_json
a proper spirit grammar and reduce code bloat
2016-08-31 14:36:35 +01:00
Dane Springmeyer
f81583554a
Merge branch 'master' of github.com:mapnik/mapnik into geometry-refactor
2016-08-22 16:19:17 -07:00
artemp
3788b2781e
tiny format
2016-08-16 15:36:43 +01:00
artemp
31814b32d0
rename empty_featureset
=> invalid_featureset
to avoid ambiguity + add helper is_valid
method
2016-08-15 10:41:30 +01:00
artemp
aa77eb4550
Expressions - add more regex tests to cover #3483
2016-08-09 16:13:12 +01:00
Artem Pavlenko
b0cf57aa53
Merge pull request #3477 from mapycz/cairo-style-level-comp-op
...
Style level comp-op and opacity for Cairo renderer
2016-08-08 10:52:54 +01:00
Bas Couwenberg
2003415f09
Fix 'occured' typo, replace with 'occurred'.
2016-08-05 14:50:50 +02:00
Bas Couwenberg
388a8a7c4d
Fix 'intialize' typo, replace with 'initialize'.
2016-08-05 14:49:45 +02:00
Jiri Drbalek
621a5e51ac
style level comp-op and opacity for Cairo renderer
2016-08-03 20:14:56 +00:00
artemp
d3293f73e1
c++ format
2016-07-25 15:55:50 +02:00
Dane Springmeyer
7fc9dfe06b
simplify visitor code in image_compositing
2016-07-25 14:51:45 +02:00
artemp
2864d90460
more explicit conversions to the target variant type
2016-07-25 13:45:35 +02:00
artemp
7fa35f481e
Support creating paletted images for any number of pixels e.g < 3 (ref #3466 )
2016-07-20 14:01:14 +02:00
artemp
7712f253c9
represent value_null as an empty string e.g "" (text rendering logic)
2016-07-20 12:39:55 +02:00
artemp
dc88582b4d
Merge branch 'master' into geometry-refactor
2016-07-19 10:25:33 +01:00
artemp
3d0b109739
value_null - always represent as "null"
2016-07-15 12:22:53 +01:00
artemp
54d51e2728
Revert "feature_kv_iterator - change logic in 'increment' to skip key/value's when value doesn't exist"
...
This reverts commit 3397b8f14f
.
2016-07-15 12:21:41 +01:00
artemp
3397b8f14f
feature_kv_iterator - change logic in 'increment' to skip key/value's when value doesn't exist
2016-07-14 09:46:37 +01:00
artemp
bab985dd04
always return am empty featureset instead of featureset_ptr()
2016-07-13 15:17:51 +01:00
artemp
dc74551dc0
always return am empty featureset instead of featureset_ptr()
2016-07-13 15:16:33 +01:00
artemp
efabcc8081
make all mapnik::geometries aliases to mapbox::geometry and attempt to adapt new polygon model (one std::vector)
...
NOTE: some boost.geometry algorithms are broken as a result
2016-06-29 12:41:57 +01:00
artemp
19d376b7e6
make mapnik::geometry::point<T> an alias to mapbox::geometry::point
2016-06-27 09:45:37 +01:00
artemp
9dd00b28dc
Merge remote-tracking branch 'origin/master' into geometry-refactor
2016-06-27 08:51:55 +01:00
artemp
7de7464caf
tidy
2016-06-22 17:25:37 +01:00
artemp
2e8c0d36c2
implement custom char_array_bufrer
and remove boost::iostreams dependency
2016-06-22 17:21:25 +01:00
artemp
67d2a0e141
Merge branch 'master' into geometry-refactor
2016-06-20 15:01:29 +01:00
Mickey Rose
217d18a996
use std::deque to store svg::path_attributes
...
- refs #3453
2016-06-16 22:34:24 +02:00
Joris Valette
7ca86b0947
Fix stroke-width size not included in markers ellipse bounding box
2016-06-03 11:12:14 +02:00
artemp
efdc90f699
fix building with BIGINT=no (NOTE: some tests will fail)
2016-05-26 17:23:53 +02:00
artemp
a24dfbf6a0
simplify logic a bit
2016-05-26 16:27:22 +02:00
artemp
081c003b0e
c++ style
2016-05-26 16:27:22 +02:00
Artem Pavlenko
aec5949d5a
Merge pull request #3416 from mapycz/scale-factor-improvements
...
Scale factor improvements
2016-05-18 15:05:04 +02:00
artemp
e596ffc1c2
don't instantiate types that are not used in core library
2016-05-03 18:33:06 +02:00
artemp
ff821c9239
geometry::envelope - deduct value_type of box2d<T> automatically + add missing typedefs
2016-05-03 18:02:42 +02:00
Jiri Drbalek
b930a5e7f7
apply scale factor to line spacing
2016-05-03 12:09:39 +00:00
Jiri Drbalek
cfc6b37d71
fix passing scale factor to evaluate_transform()
2016-05-03 12:09:39 +00:00
artemp
3184034414
refactor geometry core and algorithms templates + add missing typedefs + prepare for geometry update
2016-04-29 14:24:57 +02:00
artemp
ed87cd2883
c++ - make bbox standalone method
2016-04-22 12:54:57 +02:00
artemp
4611d8cad1
c++ style : prefix increment
2016-04-22 12:54:57 +02:00
artemp
a89c3fc007
c++ - make bbox standalone method
2016-04-22 12:51:20 +02:00
artemp
51069fe88a
c++ style : prefix increment
2016-04-22 12:50:32 +02:00
artemp
4e57f7b115
Merge branch 'master' into geometry-refactor
2016-04-20 16:45:08 +02:00
artemp
6105463602
split box2d<T> implementation into *.hpp, *._impl.hpp and *.cpp ref #3405
2016-04-20 10:51:33 +02:00
artemp
633a2c1e07
Merge branch 'master' into geometry-refactor
2016-04-18 16:15:04 +02:00
artemp
c8902ac875
remove is_clockwise
, use mapnik::util::is_clockwise
to avoid duplication
2016-04-18 11:16:32 +02:00
artemp
2106d7b162
remove debug stderr
2016-04-12 14:48:24 +02:00
artemp
2e0d83aa91
geometry::multi_point - derive from std::vector<point<T>> instead of line_string<T>
2016-04-12 10:12:16 +02:00
artemp
0f711c0863
geometry - move point/line_string/polygon into separate headers
2016-04-12 09:17:53 +02:00
artemp
b24ade9a1c
remove stderr for real
2016-04-11 13:08:19 +02:00
artemp
90f06093ae
geometry - move point/line_string/polygon into separate headers
2016-04-11 12:23:11 +02:00
artemp
8bc4b28a76
small formatting
2016-04-06 11:36:18 +02:00
artemp
ccf26a743d
remove extra ;
2016-04-06 11:35:49 +02:00
Dane Springmeyer
7ec640e989
register gdal once at plugin load - refs #3093 #3339 #3340
2016-04-05 16:43:07 -04:00
Dane Springmeyer
61cb4effb8
more explicit name for callback type from dlsym
2016-04-05 15:31:19 -04:00
Dane Springmeyer
f8a8ec616a
c++ style: use nullptr rather than NULL
2016-04-05 15:27:32 -04:00
artemp
9bb20ce685
box2d<T> - expose value_type typedef + init(x, y) convinient method
2016-03-24 14:50:46 +00:00
artemp
0fb587875e
enable box2d<float>
2016-03-21 11:51:32 +01:00
artemp
26f7856e83
grid - restore missing simplify_tag
in process_polygon_pattern_symbolizer (ref #3329 )
2016-03-18 16:38:38 +01:00
artemp
8f9134c72d
file_io - rename open
to is_open
to be consistent with STL i/o via @lightmare ( 0d032c2618 (commitcomment-16753722)
)
2016-03-18 10:02:19 +01:00
artemp
db9b3f46af
create an geometry_empty when input WKB has x and y set to NaN
...
e.g `\x0101000000000000000000f87f000000000000f87f => mapnil::geometry::geometry_empty`
2016-03-16 14:52:42 +01:00
Mickey Rose
a981f560b6
fix empty string value::to_expresssion_string
2016-03-15 00:29:17 +01:00
artemp
1f61aa3981
TWKB - port CartoDB implementation to mapnik 3.x.x
...
ref https://github.com/CartoDB/mapnik/blob/2.3.x.cartodb/plugins/input/postgis/postgis_utils.cpp
ref https://github.com/CartoDB/mapnik/tree/2.3.x.cartodb/plugins/input/postgis#23xcartodb
2016-03-11 16:20:07 +01:00
Dane Springmeyer
8f4e211ebd
suppress more third party warnings
2016-03-10 12:46:00 -08:00
Dane Springmeyer
192f5c26c1
use c++ style casts
2016-03-10 12:45:47 -08:00
Dane Springmeyer
9dd07fd40b
use c++ style casts
2016-03-10 11:44:23 -08:00
Dane Springmeyer
341db51aa7
finish wrapping boost includes to suppress warnings - add agg wrapper - refs #2907
2016-03-09 16:42:15 -08:00
Dane Springmeyer
7ae0e6d902
share stringify macro from common header
2016-03-09 16:16:14 -08:00
artemp
6856100433
box2d operator<< - output "box2d(INVALID)" for invalid box.
2016-03-07 13:51:50 +01:00
artemp
a5cfd27594
split svg_path_grammar
,svg_points_grammar
,svg_transform_grammar
into *.hpp, *_impl.hpp + move boost::phoenix::function initialisation into ctor's
...
(ref #3343 )
2016-03-04 15:34:45 +01:00
artemp
76bb2d9c01
make svg_transform_grammar
stateless ref #3343
...
(https://github.com/mapnik/mapnik/pull/2231 )
2016-03-04 13:15:11 +01:00
artemp
4659f40401
make svg_path_grammar
and svg_points_grammar
stateless ref #3343
...
(https://github.com/mapnik/mapnik/pull/2231 )
2016-03-04 12:42:44 +01:00
Dane Springmeyer
23fb010ea2
disable dlclose when building with --coverage - refs #3344
2016-03-03 15:02:03 -08:00
Dane Springmeyer
833703026d
add COVERAGE configure option - only set coverage flags on libmapnik and plugins - refs #3344
2016-03-03 14:19:12 -08:00
Dane Springmeyer
a855a12532
make code comment about needing immutable grammars - refs #3342 [skip ci]
2016-03-03 09:14:06 -08:00
Mickey Rose
489631ca34
remove reference on template parameter Detector
2016-03-03 00:17:41 +01:00
Mickey Rose
c8e3a0d549
refactor render_markers_symbolizer_visitor
...
- extract some common code into functions
- for cleaner dif: git show -w --patience
2016-03-03 00:07:18 +01:00
Dane Springmeyer
296f8d467d
avoid grammar_impl usage in headers - other minor refactoring around json spirit
2016-03-02 12:48:07 -08:00
Dane Springmeyer
d148a966c8
from_geojson/to_geojson are now used in unit tests, csv plugin, and node-mapnik so move these to cpp
2016-03-02 11:26:56 -08:00
artemp
f11cc5920f
revive lost to_utf8
method but move it into '<mapnik/unicode.hpp>'
2016-03-02 16:47:55 +01:00
artemp
65da617ec0
re-use vector_converter + move apply_marker_multi
into *.cpp
2016-03-02 16:20:10 +01:00
Mickey Rose
66e7ef58d7
refactor markers_placement_finder
...
- refs #3327
Replace member variant of placement-type implementations with plain
union. The active implementation is chosen at construction time like
before.
Make placement-type implementation classes virtual to allow invoking
the active union member through a base class pointer.
2016-03-02 00:53:45 +01:00
artemp
77eaaa1259
move vertex_adapters implementation into .cpp - mark extern
2016-03-01 21:55:47 +01:00
artemp
bd5d1c8df8
prune include directives a bit more
2016-02-24 12:24:06 +01:00
artemp
50db396760
move value implementation into *.cpp
2016-02-23 23:05:19 +01:00
artemp
d43bc3232f
remove unused include
2016-02-22 15:38:15 +01:00
artemp
2c931a238f
color.cpp - port premultiply/demultiply and remove agg dependency
2016-02-22 14:39:31 +01:00
artemp
3e8ee9a559
simplify color generators - remove boost::phoenix
usage
...
(ref: https://github.com/mapbox/windows-builds/issues/81 )
2016-02-22 12:45:28 +01:00
Mickey Rose
ea54876d79
remove unused includes
2016-02-20 01:16:11 +01:00
artemp
96175554ae
Add explicit instantiation declaration of singleton<mapped_memory_cache, CreateStatic>
to avoid multiple instantiations across translation units. (ref #3306 )
2016-02-19 11:00:58 +01:00
artemp
085a2afe40
minor formatting
2016-02-18 17:17:44 +01:00
Mickey Rose
1499475d04
remove to_utf8, instead use UnicodeString::toUTF8String
2016-02-15 21:07:01 +01:00
Dane Springmeyer
10bd37ddd7
avoid unneccesary dependence on << operator of mapnik::enumeration
2016-02-09 10:09:12 -08:00
Dane Springmeyer
6c1b6e301d
gradient does not need to be a fancy enumeration
2016-02-09 09:56:57 -08:00
Dane Springmeyer
834028db7a
remove miniz support - library is unused in mapnik and unmaintained since 2013 ( https://code.google.com/archive/p/miniz/ )
2016-02-02 11:37:26 -08:00
Mickey Rose
4ef8efd554
remove struct member designators from initialization - fixes #3277
...
- it's C99 syntax, illegal in C++11 braced-init-list
- interestingly it's accepted in C++ by GCC and Clang,
rejected by MSVC
2016-01-30 20:44:40 +01:00
Mickey Rose
1eb298f48c
fix text_render_thunk construction
...
- this reverts render_thunk_extractor visitation by text/shield
symbolizer back to how it works in master, only amended to avoid
passing temporaries to text_symbolizer_helper
2016-01-29 00:12:18 +01:00
Mickey Rose
7bbc758fbc
cleanup extraneous includes
2016-01-29 00:12:18 +01:00
Mickey Rose
6d84094f77
move render_markers_symbolizer to separate .cpp
2016-01-29 00:12:18 +01:00
Mickey Rose
f99c0e5a6f
refactor render_markers_symbolizer
2016-01-29 00:10:19 +01:00
Mickey Rose
8a55eefbb5
derive virtual_renderer_common from renderer_common
2016-01-29 00:10:19 +01:00
Mickey Rose
844021a892
make face_manager copyable
2016-01-29 00:10:18 +01:00
Mickey Rose
a7ecabcde3
move render_group_symbolizer to separate .cpp
...
- use abstract class render_thunk_list_dispatch for the callback
instead of template parameter render_thunks
- add class scoped_glyph_positions_offset for temporary shifting
of glyph positions
- remove render_offset_placements
2016-01-29 00:10:18 +01:00
Mickey Rose
9d7b3d00e1
minor namespace cleanup in group_layout_manager
2016-01-29 00:10:18 +01:00
Mickey Rose
7761d32ec5
split common group symbolizer stuff
2016-01-29 00:10:18 +01:00
Dane Springmeyer
ed076bf3f5
compile image_filter_grammar separately
2016-01-28 12:04:36 -08:00
artemp
d027ed67c7
more const
strictness, update to work with latest mapbox::variant/visitor-no-copy
branch
2016-01-27 14:50:17 +01:00
Mickey Rose
8d7fca3236
svg_parse_value - add 'px' unit, report trailing garbage
...
- avoid operator comma in semantic action, refs #3249
2016-01-23 20:44:14 +01:00
Blake Thompson
d3d1106865
Fixed bug around set envelope in memorydatasource
2016-01-21 15:20:50 -06:00
artemp
e5db888673
remove redundant t == "png"
check as it results in slower code ref #3243
2016-01-20 16:48:26 +01:00
artemp
1bfabec6be
parse_svg_value
- add DPI template parameter (default 90) (#3233 )
2016-01-15 09:38:46 +00:00
artemp
c615708a2a
restore local variant_io.hpp with specialisation for bool
( https://github.com/mapnik/node-mapnik/issues/582 )
2016-01-15 09:26:42 +00:00
Artem Pavlenko
7997f3725e
Merge pull request #3235 from mapnik/raster_mem_ds
...
Raster Type Memory Datasource
2016-01-14 16:19:43 +00:00
artemp
3333f3e1fa
inherit mapnik::util::variant from mapbox::variant and add mapbox::variant as submodule
2016-01-14 15:02:41 +00:00
Blake Thompson
044c21db13
Made it possible to change the type of a memory datasource by inspecting the features that are added to the memory datasource
2016-01-14 08:36:12 -06:00
artemp
cc635df7bc
svg_parser - use parse_svg_value
2016-01-14 11:03:55 +00:00
artemp
48c043ec42
implement "parse_svg_value" supporting SVG units ( https://www.w3.org/TR/SVG/coords.html#Units ) ( #3233 )
2016-01-14 10:54:33 +00:00
artemp
1dff67e1fe
fix namespace qualifiers
2016-01-14 10:24:40 +00:00
artemp
9e7f7917e3
export path_parse<svg_converter_type>
2016-01-12 15:06:30 +00:00
artemp
0a5f006bb9
SVG : add support for stroke-dashoffset
2016-01-11 10:56:04 +00:00
artemp
d3fc7f8fed
Merge branch 'master' into svg-dash-array
2016-01-08 16:08:11 +00:00
artemp
479a657437
make SVG path parser stricter by failing if not all input parsed ref #3225
2016-01-08 11:59:59 +00:00
artemp
b1c22ba853
SVG :initial support for "stroke-dasharray"
2016-01-07 15:54:34 +00:00
artemp
ca83ca167d
svg - move stroke-dasharray setup into dash-array parser method
2016-01-07 11:20:22 +00:00
Dane Springmeyer
bb8cd10751
tiff reader: read_generic is not implemented so throw in all cases not just if we can open the image
2016-01-06 09:17:35 -08:00
artemp
e0c756ee8d
geometry_envelope - add missing linear_ring
2015-12-17 12:07:05 +00:00
Dane Springmeyer
50d1e2fbb3
handle more gcc 4.9 -Wshadow warnings
2015-12-04 14:07:42 -05:00
artemp
da617f92eb
add scale_image_agg' and
reproject_and_scale_raster` overloads for backward caps
2015-11-19 12:26:16 +00:00
artemp
6d599dff0a
Merge branch 'fix-gray-scaling-2' of https://github.com/mapycz/mapnik into mapycz-fix-gray-scaling-2
2015-11-17 15:03:37 +00:00
artemp
4d6a735f53
initialise default (invalid) box2d with +/-std::numeric_limits<T>::max() to be in sync with Boost.Geometry
2015-11-11 15:50:56 +00:00
Jiri Drbalek
924aa62662
raster scaling: fixes nodata handling, acurracy when working with small floats and clipping floats by [0; 255]
2015-11-10 20:37:45 +00:00
Dane Springmeyer
7608040906
centralize warning suppression
2015-11-07 17:53:09 -08:00
artemp
cb31692f37
image : fix buffer's copy ctor - only std::copy when rhs owns the data ( #3152 )
2015-11-02 09:47:05 +00:00
Dane Springmeyer
8813e73cfc
rename SHAPE_MEMORY_MAPPED_FILE to MAPNIK_MEMORY_MAPPED_FILE
2015-10-16 13:34:53 -07:00
artemp
2906706a40
geojson.input - split parsing FeatureCollection and single Feature/Geometry into separate grammars
2015-10-15 15:12:16 +01:00
Dane Springmeyer
7fa1e58ab7
better c++11 usage
2015-10-12 10:10:12 -07:00
Dane Springmeyer
25eaf96e98
silence -Wsign-compare warning from boost [skip ci]
2015-10-07 08:33:24 -07:00
Dane Springmeyer
efee15c2e7
remove unused typedef [skip ci]
2015-10-06 15:39:42 -07:00
Dane Springmeyer
20e72ccc82
remove unused typedef [skip ci]
2015-10-06 15:39:42 -07:00
Dane Springmeyer
7122fdc6e5
fix #3096
2015-09-30 14:23:21 -07:00
artemp
d6d9e94e36
svg_parser - fix double_list grammar to handle whitespace | comma
correctly
2015-09-28 14:22:30 +01:00
jakepruitt
344c5ae844
Fix boost parser for viewbox
2015-09-25 12:05:57 -07:00
jakepruitt
a787d20e36
Add viewbox fallback logic for dimension parsing
...
SVG's now have fallback on viewbox. Still debugging the boost Qi parser
2015-09-25 12:05:57 -07:00
jakepruitt
fcbb91a00e
Add int list parser
2015-09-23 12:08:50 -07:00
artemp
d54eca9dca
image - fix copy/move implementation and update/improve tests
2015-09-16 14:28:55 +01:00
artemp
acb8feea01
image - update shallow
constructor to take raw bytes pointer
...
detail::buffer - inline data() size() methods
update unit test
2015-09-16 10:14:40 +01:00
Dane Springmeyer
b2d08ea4ea
re-enable zero allocation image interface - refs #3069
2015-09-14 16:45:58 -07:00
artemp
ad80c91657
cache processed layouts to ensure there are stay in scope (placement_finder) - via @talaj
2015-09-11 15:29:28 +02:00
bergwerkgis
9146f785f4
Windows: fix loading of SVG files from unicode paths. Surfaced in https://github.com/mapnik/node-mapnik/issues/517
2015-09-10 11:10:38 +00:00
artemp
a32fbdf635
use atomic<> where possible to avoid locking
2015-09-08 12:28:16 +02:00
artemp
ee65873159
oops fix
2015-08-27 17:37:18 +02:00
artemp
6d1ffc8a93
enable optional checking env for "MAPNIK_LOG_FORMAT" (via MAPNIK_CHECK_ENV)
2015-08-27 17:08:41 +02:00
artemp
0ea5ccc7bc
fix typo
2015-08-27 13:07:51 +02:00
Jiri Drbalek
75a299ab1d
remove incorrect and meaningless comments
2015-08-26 14:29:09 +00:00
Jiri Drbalek
883c9c83bf
remove unused members
2015-08-26 12:59:11 +00:00
Matt Amos
3d7b84a598
Fix deadlock in recursive datasource registration.
...
The datasource cache was taking an exclusive lock on the simple
mutex used to protect the singleton's data pointer. This works
okay when everyone always calls it non-recursively, but when the
recursive flag is true then it will always deadlock when called
on any directory with subdirectories.
Additionally, many methods which accessed private data members of
the cache were not protected by any locks.
Since the call pattern of registering datasources is strictly
tree-shaped then it's a good candidate for a recursive mutex. This
has a slightly higher overhead than a simple mutex, so rather than
change the singleton's mutex to be recursive, I've added a new
instance mutex to the datasource cache.
Also, added a very basic test which reproduces the problem and
shows that it's fixed with this patch.
2015-08-23 20:25:35 +01:00
Blake Thompson
10ad41d218
Removed unrequired MAPNIK_DECL from src/image_util_jpeg added pragma to prevent warning on linux with clang.
2015-08-12 13:00:04 -05:00
Blake Thompson
3d262c7426
Fixed linking errors in parse jpeg. closes #3031
2015-08-12 09:32:32 -05:00
artemp
715cff3f2a
fix - pass by const ref
2015-08-12 12:09:40 +02:00
artemp
ebf4d66900
Merge branch 'master' into image_filters
2015-08-12 11:27:59 +02:00
artemp
771d2844db
Merge branch 'dot-scale' of https://github.com/naturalatlas/mapnik into naturalatlas-dot-scale
2015-08-12 10:40:12 +02:00
artemp
751abba262
add parse_jpeg_quality method + uint test parsing jpegXX and jpeg:quality=XX options
...
ref #3024
2015-08-12 10:29:57 +02:00
Blake Thompson
75522c0cc5
Merge branch 'master' into image_filters
2015-08-11 15:31:41 -05:00
Blake Thompson
792e94ae90
Removed image-filter from map object, made it so that premultiplication/demultiplication only took place when correctly required in image filters.
2015-08-11 14:31:29 -05:00
artemp
b5dedd0e69
JPEG - revive backward compatible quality format jpeg<N> e.g jpeg80, jpeg90 etc.
...
ref #3024
2015-08-11 17:13:54 +02:00
Artem Pavlenko
e68da0d083
Merge pull request #3016 from mapycz/text-null-bbox
...
Null text collision box
2015-08-10 12:18:31 +02:00
Blake Thompson
a492028f25
Initial commit of changes for image_filters so they can be called outside of agg renderer
2015-08-07 15:54:39 -05:00
Blake Thompson
ec73b50557
Added ability for image filters to be used on the map object, so that the entire map has an image filter applied. Corrected issues with colorblind algorithms due to incorrect algorithm used as colorspace was required to be in sRGBA rather then RGBA.
2015-08-05 12:35:17 -05:00
Jiri Drbalek
c1d8095d59
shields: set marker after collision test
2015-08-04 13:38:52 +00:00
Jiri Drbalek
162f82cba5
ensure null text has no bbox
2015-08-04 13:29:16 +00:00
Brian Reavis
9bdca97579
Fixed dot symbolizer not acknowledging scale factor.
2015-08-02 14:55:26 -06:00
artemp
42bf2303e0
fix parse_double_optional_percent grammar and update tests
2015-07-31 11:35:02 +02:00
artemp
3a4d57492f
make parser strict - return marker_null() on SVG parser failures
...
redirect stderr to MAPNIK_LOG
2015-07-31 10:44:42 +02:00
artemp
56712c2435
fix XMLPARSER=libxml2 logic
2015-07-30 14:34:01 +02:00
artemp
ffcacf3509
make libxml2 optional dependency (XMLPARSER=libxml2)
2015-07-30 13:14:37 +02:00
artemp
9d43f69cf6
const correctness
2015-07-30 11:09:08 +02:00
artemp
e5c4dbf1c0
format
2015-07-30 11:04:17 +02:00
jakepruitt
b4bc16751c
Adjusted error message logic for logging path ids
2015-07-29 22:37:30 -04:00
artemp
4cf6ce1866
correct error handling
2015-07-29 13:01:51 +02:00
artemp
9531adbf56
re-use attribute pointer and reduce number of local vars
2015-07-29 11:16:51 +02:00
artemp
a8f5ddff73
handle empty <g> element + fix visibity parsing
2015-07-28 19:37:55 +02:00
artemp
e9284ce62a
c++ tidy
2015-07-28 16:50:06 +02:00
artemp
515da3f9a8
rapidxml based svg parser - initial impl
2015-07-28 16:33:39 +02:00
artemp
42c8da72e9
Merge branch 'master' into svg-parser-errors
2015-07-28 10:29:59 +02:00
Dane Springmeyer
a5db121231
followup to #2990 [skip ci]
2015-07-27 16:45:22 -07:00
Dane Springmeyer
90f2fd91f5
Merge pull request #2990 from mapycz/fix-text-minimum-path-length
...
fix text-minimum-path-length
2015-07-27 16:33:25 -07:00
artemp
8ebb9db431
add xml:id
support ( ref #2989 )
2015-07-27 15:55:34 -07:00
Dane Springmeyer
871a881634
Merge pull request #3002 from mapnik/issue-2971
...
Fix windows compile around glyph_info forward declare
2015-07-27 14:59:18 -07:00
Dane Springmeyer
ba8d51e029
include fixups
2015-07-27 14:57:57 -07:00
artemp
2e7d75f022
track errors parsing double values
2015-07-24 11:05:26 +02:00
artemp
ce2eaa02ee
add operator==()
2015-07-23 12:58:14 +02:00
artemp
6a1a25efbf
remove duplicate if else
2015-07-23 11:14:13 +02:00
artemp
4b9b1b5401
fix err message
2015-07-22 16:38:45 +02:00
artemp
9eadd48d7b
add tests for no-existing svg file + bogus color in fill
and stroke
2015-07-22 11:52:18 +02:00
artemp
34a1d1315a
clamp rx/ry to valid range (<= 0.5*width/0.5*height)
...
SVG spec : ".. If 'rx' is greater than half of the width of the rectangle, then the user agent must process the 'rect' element with the effective value for 'rx' as half of the width of the rectangle. If 'ry' is greater than half of the height of the rectangle, then the user agent must process the 'rect' element with the effective value for 'ry' as half of the height of the rectangle.."
2015-07-21 20:50:26 +02:00
artemp
804115089b
clamp rx/ry to valid range (<= 0.5*width/0.5*height)
...
SVG spec : ".. If 'rx' is greater than half of the width of the rectangle, then the user agent must process the 'rect' element with the effective value for 'rx' as half of the width of the rectangle. If 'ry' is greater than half of the height of the rectangle, then the user agent must process the 'rect' element with the effective value for 'ry' as half of the height of the rectangle.."
2015-07-21 20:48:43 +02:00
artemp
9af3313063
use parse_id_from_url
for stroke
2015-07-21 14:56:23 +02:00
Jiri Drbalek
8faff70620
fix text-minimum-path-length
2015-07-21 12:54:16 +00:00
artemp
43b3770a95
make gradient movable
2015-07-21 14:12:47 +02:00
artemp
d1b39f5841
handle color parsing in one place
2015-07-21 11:45:11 +02:00
artemp
d7cf0d5bca
add parse_id_from_url method
2015-07-21 11:30:04 +02:00
artemp
55a9855069
add xml:id
support ( ref #2989 )
2015-07-21 10:25:57 +02:00
artemp
52007b8019
Merge branch 'master' into svg-parser-errors
2015-07-21 09:46:38 +02:00
artemp
9ab1935a36
add boolean flag for tracking when to re-calculate extent (ref #2985 )
2015-07-17 20:17:51 +02:00
artemp
bb8b835618
calculate percentage value inside parser, reduce local vars
2015-07-17 20:00:14 +02:00
artemp
a8da31b765
make '%' sign optional ( was 0 or N)
2015-07-17 19:49:28 +02:00
Dane Springmeyer
f9d65d0167
Merge branch 'master' of github.com:mapnik/mapnik into issue-2971
2015-07-17 07:23:10 -07:00
artemp
c4d8af702d
don't return early from parse_linear_gradient
2015-07-17 09:42:05 +02:00
artemp
62a58937a4
try to never fail (almost)
2015-07-16 16:55:41 +02:00
artemp
d2cfd0f0ea
log all errors without throwing
2015-07-16 12:58:32 +02:00
artemp
55215a7b30
Merge branch 'master' into svg-parser-errors
2015-07-16 12:18:25 +02:00
artemp
1733db5022
c++ - don't rely on implicit int to bool conversions
2015-07-15 17:46:27 +02:00
Dane Springmeyer
0a126a3765
attemp to fix #2971
2015-07-14 22:54:32 -07:00
artemp
ec68559d3d
fix stderr
2015-07-14 19:54:41 +02:00
artemp
a46af76216
initial commit - make parse and parse_from_string return boolean ,collect error messages
2015-07-14 19:45:50 +02:00
artemp
c2295755f6
fix typo
2015-07-13 13:48:34 +02:00
artemp
0a484bf784
handle Multi-geoms + update cairo and grid renderers
...
update
2015-07-07 18:37:27 +02:00
artemp
56fe702bac
agg line_symbolizer - dispatch to appropriate clipper based on geometry_type
2015-07-07 14:19:51 +02:00
Dane Springmeyer
a91d73779f
revert the functionality of 944f34b
- refs #2937
2015-07-06 19:27:05 -07:00
Dane Springmeyer
3ed7e347cb
use unique_ptr instead of shared_ptr for glyph_positions_ptr - refs #2516
2015-07-06 18:47:47 -07:00
Dane Springmeyer
3f91186a74
avoid creating placements for off canvas placements - refs #2929
2015-07-06 18:28:37 -07:00
Jiri Drbalek
8fe19a7b45
fix rendering text on tile's borders
2015-07-03 13:22:23 +00:00