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