Commit graph

3820 commits

Author SHA1 Message Date
Artem Pavlenko
282bdf178c Merge pull request #3058 from mapycz/colorize-alpha-fix-color-value-normalization
colorize-alpha: fix normalization of color components
2015-09-08 12:50:46 +02:00
artemp
a32fbdf635 use atomic<> where possible to avoid locking 2015-09-08 12:28:16 +02:00
artemp
81ead3dc78 make destroyed_ atomic<> 2015-09-08 12:26:43 +02:00
Jiri Drbalek
79f4e3ac8f colorize-alpha: fix normalization of color components 2015-09-08 10:14:20 +00:00
Jiri Drbalek
72222efad7 scale-hsla image filter: unlimit parameters 2015-09-03 11:33:53 +00:00
artemp
bd35054d27 update version 2015-08-27 13:07:51 +02:00
Jiri Drbalek
75a299ab1d remove incorrect and meaningless comments 2015-08-26 14:29:09 +00:00
artemp
45d5e39e22 update CHANGELOG for mapnik v3.0.4 release 2015-08-26 12:06:51 +02:00
Artem Pavlenko
85eebaaf57 Merge pull request #3038 from zerebubuth/fix/deadlock-in-recursive-datasource-registration
Fix deadlock in recursive datasource registration.
2015-08-25 15:07:00 +02:00
artemp
3753d50b75 CSV - revive row_limit parameter + fix stderr 2015-08-25 15:05:04 +02:00
artemp
8709fb6f7c CSV - optimise parsing by providing num_columns hint 2015-08-24 16:35:32 +02: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
artemp
4babec802a CSV - implement spatial index access to features on disk + preserve support for inline data (work-in-progress) 2015-08-21 13:52:42 +02:00
artemp
f7d1cf82a9 Merge branch 'master' into large_csv 2015-08-13 13:28:35 +02:00
artemp
332d875839 set MAPNIK_VERSION_IS_RELEASE 0 2015-08-13 11:30:33 +02:00
Jiri Drbalek
507c556386 remove superfluous line 2015-08-13 10:11:18 +00: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
1f6c44a791 version : upate minor number 2015-08-12 11:38:10 +02:00
artemp
ebf4d66900 Merge branch 'master' into image_filters 2015-08-12 11:27:59 +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
0b6b11b9cf Added the ability for filter_image to throw properly with bad input and added the ability for a new image to be returned 2015-08-11 19:22:09 -05: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
Blake Thompson
ab2855a130 Made it so that singleton deleted at exit could be turned off. 2015-08-11 11:34:35 -05:00
artemp
6c01870397 expose mapnik::geometry::polygon<double>::rings_container to allow specialising interior rings container 2015-08-11 17:13:04 +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
artemp
2913982d31 const 2015-08-10 11:19:11 +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
Blake Thompson
6245790e72 Added new image filters that allow an image to be viewed in colorblind modes, allow cartographers to see what their maps would appear like to a color blind person 2015-08-04 17:41:31 -05:00
Jiri Drbalek
162f82cba5 ensure null text has no bbox 2015-08-04 13:29:16 +00:00
Blake Thompson
8305e74eaf setting up for mapnik v3.0.2 release 2015-07-31 14:31:21 -05:00
Artem Pavlenko
727341f41a Merge pull request #3003 from mapnik/svg-parser-errors
SVG parser refactoring and improvements
2015-07-31 17:06:30 +02:00
artemp
f9bd21eeb5 Merge branch 'svg-parser-errors' into large_csv 2015-07-31 11:18:55 +02:00
Dane Springmeyer
a552518541 avoid a few -Wsign-conversion warnings 2015-07-30 11:10:23 -07:00
artemp
362a2ee0b1 use std::ptrdiff_t and remove static_cast's - ref #3006 2015-07-30 14:32:18 +02:00
artemp
42c8da72e9 Merge branch 'master' into svg-parser-errors 2015-07-28 10:29:59 +02:00
Dane Springmeyer
a78a89564b back to development of > Mapnik 3.0.1 [skip ci] 2015-07-27 20:27:21 -07:00
Dane Springmeyer
28f6f4d63b setting up for mapnik v3.0.1 release 2015-07-27 18:30:26 -07:00
Dane Springmeyer
4e2890bb18 iwyu for spirit_transform_attribute.hpp - closes #2993 2015-07-27 17:41:10 -07:00
Dane Springmeyer
411486eaf3 ignore warnings for karma 2015-07-27 17:38:36 -07:00
Dane Springmeyer
abf04d6305 Merge pull request #2988 from mapycz/collision-extent
do not store out of extent collision boxes
2015-07-27 17:25:45 -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
ce2eaa02ee add operator==() 2015-07-23 12:58:14 +02:00
artemp
43b3770a95 make gradient movable 2015-07-21 14:12:47 +02:00
artemp
52007b8019 Merge branch 'master' into svg-parser-errors 2015-07-21 09:46:38 +02:00
Jiri Drbalek
43dcf35a93 do not store out of extent collision boxes (fixes #2963) 2015-07-20 15:37:05 +00:00
artemp
9da6b9b389 format 2015-07-20 15:41:04 +02:00
artemp
9ab1935a36 add boolean flag for tracking when to re-calculate extent (ref #2985) 2015-07-17 20:17:51 +02:00
Dane Springmeyer
25af931f58 don't forward declare glyph_info in text_line.hpp 2015-07-17 07:49:41 -07:00
Dane Springmeyer
bb16cf90ff make text_itemizer noncopyable 2015-07-17 07:49:16 -07:00
Dane Springmeyer
f9d65d0167 Merge branch 'master' of github.com:mapnik/mapnik into issue-2971 2015-07-17 07:23:10 -07:00
artemp
5423f4c5bf relax grammar rules to allow arbitary ordering - currently we're looking for features skipping anything else
ref: https://github.com/mapnik/mapnik/issues/2983
2015-07-17 10:59:59 +02:00
artemp
55215a7b30 Merge branch 'master' into svg-parser-errors 2015-07-16 12:18:25 +02:00
artemp
c664394397 remove duplicate operator= 2015-07-16 12:17:21 +02:00
artemp
eded32d27d formattin 2015-07-15 11:30:05 +02:00
artemp
dfe73b7995 mapnik c++ style 2015-07-15 11:26:45 +02:00
Dane Springmeyer
0a126a3765 attemp to fix #2971 2015-07-14 22:54:32 -07:00
Dane Springmeyer
2b8abc4bfa fix #2975 - remove usage of boost/algorithm/clamp.hpp 2015-07-14 19:19:39 -07: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
6d6cb15b45 skewX/skewY - add input validation ref https://github.com/mapbox/mapbox-studio/issues/1409
* convert input angle into -90,90 range
* clamp to -89,89 range
2015-07-14 11:53:50 +02:00
artemp
6325bf21cd geojson : correct parsing feature boundaries ref #2964 2015-07-10 09:45:24 +02:00
Dane Springmeyer
153051d020 add test to ensure icu/harfbuzz shapers can be compiled 2015-07-08 23:28:38 -07:00
Dane Springmeyer
a6a4f1eb2e fix compile of dormant icu_shaper 2015-07-08 23:27:41 -07:00
Dane Springmeyer
784bd8d194 use correct include type in scrptrun.hpp 2015-07-08 23:25:55 -07:00
artemp
73cae70a41 correctly populate close_points when skipping duplicate (coincident vertices) 2015-07-07 18:38:25 +02:00
artemp
2fd1525269 remove redundant check 2015-07-07 15:02:13 +02:00
artemp
bb815dacf8 offset_converter - skip duplicate SEG_CLOSE (after LINETO (startx,starty)) commands to normalise input 2015-07-07 14:20:54 +02:00
Dane Springmeyer
a6fd89df3e Merge pull request #2941 from mapnik/offset_fix
Fix situation where offset_converter might start off with an SEG_END …
2015-07-06 18:50:52 -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
418855118a remove un-implemented method on glyph_positions 2015-07-06 17:45:59 -07:00
Dane Springmeyer
ff720d6231 support clipping in markerssymbolizer on multi-types - refs #2951 2015-07-06 15:40:34 -07:00
Blake Thompson
d5c11af019 Fixed issues with multi-line paths in offset_converter, line offsets were following the polygon offset logic when they shouldn't. Closes #2942 2015-07-06 15:31:10 -05:00
Dane Springmeyer
66a67dff5c remove unused header 2015-07-01 10:00:00 -07:00
Dane Springmeyer
a42e93a259 remove unneeded assert - refs #2943 2015-07-01 09:58:37 -07:00
Blake Thompson
770d93b7cc Fix situation where offset_converter might start off with an SEG_END from the vertex, therefore starting invalid processing. Tests added to confirm fix. Ref #2937 2015-06-30 22:23:44 -05:00
Blake Thompson
01dbf53a62 setting up for mapnik v3.0.0 release 2015-06-30 19:30:11 -05:00
Dane Springmeyer
48eb4abedb merge with master 2015-06-30 00:38:45 -07:00
artemp
8e40711ca4 Merge branch 'master' into large_csv 2015-06-23 17:54:38 +02:00
artemp
73e0ac6a77 Merge branch 'master' into large_csv 2015-06-23 09:43:38 +02:00
Dane Springmeyer
15589c8568 pull in latest master 2015-06-22 13:51:09 -07:00
Dane Springmeyer
e4631f15ae fix #2921 2015-06-22 13:43:07 -07:00
Dane Springmeyer
9a5cc81924 fix a few -Wunused-argument warnings [skip ci] 2015-06-22 13:29:57 -07:00
artemp
fec6d11560 Merge branch 'master' into large_csv 2015-06-19 17:30:18 +02:00
artemp
7e0c23815e remove boost::ptr_vector usage 2015-06-19 10:45:43 +02:00
Daniel Patterson
ca491d8aa9 Export svg_parser symbols so we can use these functions from node-mapnik 2015-06-18 15:13:52 -07:00
artemp
69236137e5 make 'closing' quote an optional 2015-06-18 14:09:33 +02:00
artemp
d893718343 Merge branch 'master' into large_csv 2015-06-18 13:06:28 +02:00
artemp
98d87f4c88 replace remaining boost::unordered_map 2015-06-18 11:08:35 +02:00
artemp
dd8394687d remove dupe hash 2015-06-18 10:57:03 +02:00
artemp
5b1f0d3ba8 Merge remote-tracking branch 'origin/master' 2015-06-18 10:49:26 +02:00
artemp
022c2f7255 add std::hash specialization for mapnik::value 2015-06-18 10:48:56 +02:00
artemp
b9ed80ecc8 add std::hash specialization for mapnik::value 2015-06-18 10:10:26 +02:00
Dane Springmeyer
70959e8576 safer conversion of unsigned in xml_attribute cast 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
8a432ade33 fix -Wsign-compare warnings in topojson_utils 2015-06-15 20:41:52 -07:00
Dane Springmeyer
77a7eb3343 fix -Wshadow warning harfbuzz shaper 2015-06-15 20:41:52 -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
48d4bfb170 proper use of std:: in safe_cast 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
e23c263ba8 remove unused constructor for matrix_node 2015-06-15 20:41:50 -07:00
Dane Springmeyer
be4d6e70f8 use c++11 style const_cast + safe cast 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
5d2be98cf2 Fix -Wsign-conversion warning 2015-06-15 20:41:48 -07:00
Dane Springmeyer
f36b451602 use safe cast and std::lround 2015-06-15 20:41:48 -07:00
Dane Springmeyer
c55662ab43 rename pixel_cast to safe_cast 2015-06-15 20:41:48 -07:00
Dane Springmeyer
93afb963e9 Fix -Wsign-compare warnings 2015-06-15 20:41:47 -07:00
Dane Springmeyer
34b9cb37f7 fix -Wsign-conversion warning in UnicodeString.hashCode() 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
0d86afff36 start using -Wsign-compare and -Wshadow + fix heaps of warnings - refs #2907 2015-06-12 14:51:18 -07:00
Dane Springmeyer
8d3d136da7 fix hang on windows in pixel_cast
- manifested converting double -> int64_t.
  - it is unclear why this explicitness is needed on windows
    to avoid greater calling itself. But it is clear that the
    static_cast<double>(<std::int64_t>) is not enough for the
    template deduction to match the <double,double> case automatically
  - Making this explicit is probably better anyway, but odd it is needed.
  - Finishes closing #2893, refs #2893, amends 96f7120ecc and d29a0f18b1
  - Seen with both VS 2014 CTP 4 and VS 2015 Preview
2015-06-12 12:38:22 -07:00
Dane Springmeyer
29b464e868 simplify numeric_compare template logic 2015-06-12 12:01:26 -07:00
Dane Springmeyer
a5e10aa25c std::numeric_limits are not yet constant on windows - see #2911 2015-06-12 11:48:49 -07:00
artemp
a030f5531d add <limits> 2015-06-12 14:43:56 +01:00
artemp
15041ba334 replace boost::numeric::bounds with detail::bounds where highest/lowest return constexpr
( since c++11 std::numeric_limits<T>::min/max return `static constexpr T`)
prefer if/else if..  over if/if...)
2015-06-12 13:40:47 +01:00
Dane Springmeyer
d29a0f18b1 fix pixel_cast by avoiding comparing across sign<->unsigned - refs #2893 2015-06-12 00:02:59 -07:00
Dane Springmeyer
6a3d63aa40 consistent initialization in scriptrun and placement_finder 2015-06-11 11:44:27 -07:00
Blake Thompson
d3f37d8f1e Updated clipper to be reversed and fixes to the way the algorithm operates. 2015-06-11 12:47:00 -05:00
artemp
ed3a74afed disambiguate naming 2015-06-11 13:20:49 +01: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
f5a792807e fully header only impl should not use MAPNIK_DECL 2015-06-10 23:03:07 -07:00
artemp
40b963f9ad csv_grammar - handle various quotting options + disable csv_utils::fix_json_quoting(csv_line) 2015-06-10 13:40:55 +01:00
artemp
e5f1379fea handle escape characters 2015-06-10 11:41:45 +01:00
artemp
f1feedc54c Merge branch 'master' into large_csv 2015-06-10 11:14:19 +01: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
artemp
89d258743a use inheritance to define geometry ( struct geometry : geometry_base<T> ) + provide value_type type alias in geometry 2015-06-10 10:55:34 +01:00
Blake Thompson
08602392a3 Merge branch 'master' into offset 2015-06-09 13:18:31 -05:00
Blake Thompson
d209e5bc33 After some tweaking determined what I feel like are the best values for threshold and limiting sharp corners 2015-06-09 13:15:12 -05:00
Blake Thompson
dd104b0b1b Updated offset converter to remove large spikes 2015-06-09 11:31:50 -05:00
artemp
11e58275e9 fix typedef's 2015-06-09 15:22:01 +01:00
Blake Thompson
75f7cb26bb Reversed the offsets 2015-06-09 09:18:52 -05:00
artemp
f4ec97489d add 'csv' dir 2015-06-09 10:33:01 +01:00
artemp
908f03bc19 add csv_grammar 2015-06-09 10:21:38 +01:00
Blake Thompson
a74c4abe57 Reverted to original offset directions for now 2015-06-08 19:33:00 -05:00
Dane Springmeyer
2a01b2da03 Merge branch 'master' of github.com:mapnik/mapnik into offset 2015-06-08 13:54:04 -07:00
Jiri Drbalek
76b7466719 fix rendering raster without scaling 2015-06-08 17:31:56 +00:00
Dane Springmeyer
d7bffd51f2 shuffle marker_helpers includes 2015-06-06 08:19:54 -07:00
Dane Springmeyer
29c9e97d76 minor code cleanup in process_group_symbolizer 2015-06-06 08:09:06 -07:00
Blake Thompson
4de33bd483 Updated offset so that it only requires onetime through and rewind is not required to be called. This was done because some adapters do not respond well to rewind. 2015-06-05 17:12:42 -05:00
Blake Thompson
35f4ae5bc7 Tune threshold some for offset converter 2015-06-05 12:03:52 -05:00
Blake Thompson
c3574c1008 Initial commit changing offsets 2015-06-05 10:04:24 -05:00
Dane Springmeyer
dcfa0b655c fix #2863 by adding back compatibility of point symbolizer interior placement on point geometries + update visual tests 2015-06-04 07:45:44 -07:00