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
Dane Springmeyer
39eab41ecd
use C++11 in cairo_context::set_dash - refs #2948
2015-07-02 10:19:33 -07:00
artemp
4f6c286f92
style
2015-07-02 10:14:36 +02:00
Dane Springmeyer
9a54d720cd
add symbol for save_to_string<image_view_rgba8> - closes #2938 - refs #2939
2015-06-30 17:52:08 -07:00
Dane Springmeyer
48eb4abedb
merge with master
2015-06-30 00:38:45 -07:00
Dane Springmeyer
5a032ee98b
fix #2924 and #2412
...
- adds back support for minimum-path-length on lines (only supported lines in 2.3.x)
- made text-largest-bbox-only work only on polygons (restores 2.3.x behavior)
TODO: give more control: #1583
2015-06-24 17:02:34 -07:00
Dane Springmeyer
15589c8568
pull in latest master
2015-06-22 13:51:09 -07:00
Dane Springmeyer
9a5cc81924
fix a few -Wunused-argument warnings [skip ci]
2015-06-22 13:29:57 -07:00
Jérémy Lal
f4b10fbbff
Spelling error
2015-06-19 23:25:27 +02:00
artemp
7e0c23815e
remove boost::ptr_vector usage
2015-06-19 10:45:43 +02:00
artemp
98d87f4c88
replace remaining boost::unordered_map
2015-06-18 11:08:35 +02:00
Dane Springmeyer
07e06e1781
tame a few more boost -Wsign-conversion warnings
2015-06-17 13:29:54 -07:00
Blake Thompson
bd9e580cd8
Merge branch 'master' into offset
2015-06-16 11:50:04 -05:00
artemp
8c6bf0eef6
update copyright notice
2015-06-16 12:49:16 +02:00
artemp
0a24e8cfca
remove unused #include's
2015-06-16 10:04:50 +02:00
Dane Springmeyer
bb6c9a98a5
fix more -Wsign-conversion -Wconversion warnings
2015-06-15 20:41:52 -07:00
Dane Springmeyer
20145f2fb5
fix warnings in tiff_reader
2015-06-15 20:41:51 -07:00
Dane Springmeyer
b2c85e0c65
fix a slew of -Wsign-conversion, -Wconversion, -Wunused-argument warnings
2015-06-15 20:41:51 -07:00
Dane Springmeyer
427f0486ff
avoid -Wshadow warning
2015-06-15 20:41:50 -07:00
Dane Springmeyer
23e25ca432
share const rendering buffer impl to avoid const_cast + avoid various warnings
2015-06-15 20:41:50 -07:00
Dane Springmeyer
7ba45aa9ab
fix variable shadowing and ignore -Wsign-conversion for boost
2015-06-15 20:41:50 -07:00
Dane Springmeyer
d69e2cbe66
use safe_cast to safely handle -Wsign-conversion/narrowing warnings
2015-06-15 20:41:50 -07:00
Dane Springmeyer
5418c74aad
Fix -Wshadow and -Wsign-conversion warnings
2015-06-15 20:41:49 -07:00
Dane Springmeyer
6d124cc229
remove unused set_rectangle method
2015-06-15 20:41:49 -07:00
Dane Springmeyer
7e2028e9fd
Fix -Wshadow warning
2015-06-15 20:41:49 -07:00
Dane Springmeyer
ecd2e4aea0
fix -Wshadow warning
2015-06-15 20:41:49 -07:00
Dane Springmeyer
c55662ab43
rename pixel_cast to safe_cast
2015-06-15 20:41:48 -07:00
Dane Springmeyer
72b4cb8a3a
fix -Wsign-conversion warnings from boost_regex
2015-06-15 20:41:47 -07:00
Dane Springmeyer
45bda29a45
switch to c++11 library over boost (confirmed no speed drop on osx with test_marker_cache.cpp)
2015-06-15 20:41:47 -07:00
Dane Springmeyer
8172eda3d1
fix gamma for symbolizers that do not (yet) support user driven gamma - closes #2912
2015-06-12 18:18:39 -07:00
Dane Springmeyer
0d86afff36
start using -Wsign-compare and -Wshadow + fix heaps of warnings - refs #2907
2015-06-12 14:51:18 -07:00
Dane Springmeyer
84a0c49ec3
Avoid crashing if we try to read a png as a jpeg - closes #2903
2015-06-11 14:02:34 -07:00
Dane Springmeyer
6a3d63aa40
consistent initialization in scriptrun and placement_finder
2015-06-11 11:44:27 -07:00
artemp
eabe5b50e6
Merge branch 'master' into mapycz-fix-raster-scaling
2015-06-11 13:15:38 +01:00
artemp
96f7120ecc
add pixel_cast<T>() ref #2893
...
replace boost::numeric_cast with mapnik::pixel_cast
2015-06-11 13:10:02 +01:00
artemp
e32465368b
Merge branch 'fix-raster-scaling' of https://github.com/mapycz/mapnik into mapycz-fix-raster-scaling
2015-06-11 10:28:41 +01:00
Dane Springmeyer
352586e9d7
handle pj_transform HUGE_VAL results (aka inf)
...
- turns out pj_transform will not always return an error code for
failed transforms and may instead just set values as HUGE_VAL
- this commit handles this and calls it an error by return false
from forward/backward
Arguably if `point_count` > 1 some values might be correctly transformed
while others might be HUGE_VAL. For the purposes of Mapnik we will consider
any HUGE_VAL as an error because we have no way to handle partial failures.
2015-06-10 18:34:11 -07:00
artemp
8e30a89522
remove wkt_generator_grammar_int to minimise code duplication
...
remove redundant template parameter - we can deduce coord_type from Geometry
add coord generator traits to control generator instantiation at compile time
2015-06-10 11:10:17 +01:00
Blake Thompson
08602392a3
Merge branch 'master' into offset
2015-06-09 13:18:31 -05:00