Commit graph

1608 commits

Author SHA1 Message Date
Dane Springmeyer
18cf6b1bdd remove unneeded header 2012-06-25 17:28:01 -07:00
Artem Pavlenko
20255966c3 + text_symbolizer: add largest-bbox-only boolean property
default:true
2012-06-25 15:00:53 +01:00
Dane Springmeyer
5b61c093e5 initialize grid buffers to std::numeric_limits<int>::min() and use that value to mean no-hit or non-interactive pixels - closes #1065 2012-06-23 22:41:07 -04:00
Dane Springmeyer
39bae3825e remove plugin usage of lexical cast - refs #1055 2012-06-22 16:49:53 -04:00
Dane Springmeyer
eb4740b50f fix behavior of compositing via python api now that we have premultiplication issues sorted out in core - refs #1262 and #314 and #1211 2012-06-21 15:44:57 -04:00
Dane Springmeyer
21a109790e demultiply the correct buffer (for style-level compositing and opacity) - refs refs #1262 and #314 2012-06-21 15:38:06 -04:00
Dane Springmeyer
af519a41a2 use the current buffer in markers, building, shield, and line pattern symbolizers to ensure that style level opacity and compositing work - refs #1262 and #314 2012-06-21 15:19:45 -04:00
Dane Springmeyer
9dbfb786a9 Merge branch 'master' of github.com:mapnik/mapnik 2012-06-21 14:57:59 -04:00
Dane Springmeyer
8909c13e98 print name of unloadable tiff file 2012-06-20 20:03:08 -04:00
Artem Pavlenko
2201eb6941 Merge remote-tracking branch 'origin/master' 2012-06-20 10:07:10 -04:00
Artem Pavlenko
eba3a88388 + agg_pixfmt_rgba.h : impl blend_color_hspan_alpha
+ agg_renderer_scanline.h : add support for setting alpha
+ process_polygon_pattern_symbolizer.cpp : setting variable opacity
2012-06-20 10:03:24 -04:00
Dane Springmeyer
10c6dc6fcb ensure the composite operation also applies to the 'fast' line rasterizer method - refs #1262 2012-06-19 17:53:59 -04:00
Tom MacWright
aa5a726b92 Rename color-spin composite operation to colorize alpha
to make it less confusing alongside actual color manipulation
modes.
2012-06-19 17:16:25 -04:00
Dane Springmeyer
48a543b5d5 implement style-level opacity - closes #314 2012-06-19 15:10:28 -04:00
Dane Springmeyer
4e16618771 clean up coda comments 2012-06-19 08:43:15 -04:00
Dane Springmeyer
3272707548 premultiply marker images once, before caching - refs #1262 2012-06-19 08:36:03 -04:00
Artem Pavlenko
65156a59ed + read opacity from .xml (polygon_pattern_symbolizer) 2012-06-18 18:53:41 -04:00
Artem Pavlenko
2c876c3a58 + premultiply raster (process_raster_symbolizer) 2012-06-18 18:52:48 -04:00
Artem Pavlenko
a01e1b3b14 Merge remote-tracking branch 'origin/master' 2012-06-18 18:52:06 -04:00
Artem Pavlenko
c5864453a0 + only premultiply src 2012-06-18 18:50:32 -04:00
Dane Springmeyer
62b7a76f29 Merge branch 'master' of github.com:mapnik/mapnik 2012-06-18 18:47:42 -04:00
Dane Springmeyer
751d246f3c move agg rasterization to use and expect consistently premultiplied buffers - refs #1262 2012-06-18 18:47:30 -04:00
Artem Pavlenko
9b61c0effe Merge remote-tracking branch 'origin/master'
Conflicts:
	deps/agg/include/agg_pixfmt_rgba.h
	include/mapnik/image_compositing.hpp
	src/cairo_renderer.cpp
	src/image_compositing.cpp
2012-06-18 14:36:15 -04:00
Artem Pavlenko
c71944bf32 + use HSV color space (as in GIMP)
+ rename 'luminosity' to 'value'
2012-06-18 14:30:01 -04:00
Tom MacWright
f6c10bbb7e Add color_spin composite operation. 2012-06-18 11:10:04 -04:00
Artem Pavlenko
dc89f6fac4 Merge remote-tracking branch 'origin/master' 2012-06-17 15:21:27 -04:00
Artem Pavlenko
14d365d572 + hue, saturation, color and luminosity blending modes (HSL based)
(http://en.wikipedia.org/wiki/Blend_modes#Hue.2C_saturation_and_luminosity)
2012-06-17 15:19:29 -04:00
Artem Pavlenko
6281dec04b + add missing headers 2012-06-17 15:16:13 -04:00
Dane Springmeyer
998bf593ef svg parsing: support empty paths and avoid leaking file descriptors in the case of invalid paths - closes #1256 2012-06-16 23:54:14 -04:00
Dane Springmeyer
014fe26f70 Merge branch 'master' of github.com:mapnik/mapnik into copy-grid-features 2012-06-16 17:29:45 -04:00
Dane Springmeyer
d0b838b7a4 Merge branch 'master' of github.com:mapnik/mapnik 2012-06-16 15:50:59 -04:00
Dane Springmeyer
0516c2f59a amend cd7ad3e15e by avoiding use of setjmp which does not compile with latest png (as per #772) - see also #1258 2012-06-16 15:50:46 -04:00
Dane Springmeyer
bd7ad7cd3c address #1198 by moving away from caching grid features and (back) to copying attributes - also roll back to passing feature_impl& rather than feature_ptr (which is now unneeded) 2012-06-15 22:17:26 -04:00
Dane Springmeyer
00853a118c expand clipping box for lines to avoid trimmed edges - TODO - make sensitive to line width - refs #1215 2012-06-15 15:37:08 -04:00
Dane Springmeyer
d33496baa7 split up code that handles datasource plugin registration 2012-06-13 19:25:59 -04:00
Mickey Rose
1e3c48afb1 split parse_transform.hpp, set dynamic transform expression from python 2012-06-07 17:06:45 +02:00
Artem Pavlenko
03e6f9d023 Merge pull request #1245 from simonsonc/png-exceptions
Catch and throw PNG exceptions - fixes #1213
2012-06-07 04:00:40 -07:00
Artem Pavlenko
11c34b1599 Merge branch 'transform_expr' of https://github.com/mirecta/mapnik 2012-06-07 10:20:05 +01:00
Dane Springmeyer
957c40f763 move to int32 for grid rendering buffer - closes #1196 2012-06-06 16:36:38 -07:00
Carl Simonson
cd7ad3e15e Catch and throw PNG exceptions - fixes #1213
The png library uses setjmp/longjmp to throw exceptions when reading. If this
is not set up, the png library calls abort(). This change handles the errors
and throws a C++ exception instead.

This issue was found by testing images from pngsuite at
http://www.schaik.com/pngsuite/. These images are included and a unit test was
added to test both images that should be successful and images that should
throw an exception.
2012-06-06 17:52:41 -05: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
Mickey Rose
46c2d1c710 add operators for computing the envelope of a transformed box2d
(cherry picked from commit 9ad342cbed150948561c08e98957bc014dedc7f3)
2012-06-06 17:34:02 +02:00
Dane Springmeyer
eb779b1580 only link libjpeg if we are building with jpeg support 2012-06-04 15:23:08 -07:00
Dane Springmeyer
11e81fdb03 finish exposing markers symbolizer in python - closes #612 2012-06-04 13:42:51 -07:00
Dane Springmeyer
f3073f3693 agg/grid renderers - match cairo by using buffered detector dimensions for placement_finder collision tests 2012-06-04 13:41:35 -07:00
Dane Springmeyer
c8c2d98c0e avoid compiler warnings with msvc 2012-06-04 11:36:27 -07:00
Dane Springmeyer
857a6950f7 fix warning message for pending features for markers 2012-06-04 11:11:29 -07:00
Artem Pavlenko
024ebfdfe3 + better not to use errno (via perror) for std::iostreams
(it works with gcc and friends but non-standard)
2012-06-01 12:19:42 +01:00
Artem Pavlenko
90c3415d9b + don't premultiply pattern source
+ cleanup
2012-05-31 13:26:16 +01:00
Artem Pavlenko
500f57cf60 + make vertex() and rewind() methods const
+ remove unused coord_transforms
+ rename coord_transform2 to coord_transform
2012-05-31 12:13:09 +01:00
Artem Pavlenko
6e23b64244 + don't draw 'frame' to match AGG renderer output 2012-05-30 16:29:39 +01:00
Artem Pavlenko
f4539474fc + scale_factor is 1.0 in cairo renderer
TODO: should consider using variable scale_factor as in AGG
2012-05-30 16:27:55 +01:00
Artem Pavlenko
9ae70c4823 + take into account opacity from fill and stroke rgba8 colour 2012-05-30 16:26:34 +01:00
Dane Springmeyer
a359c60236 include cairo-version header explicitly 2012-05-29 16:57:58 -07:00
Mickey Rose
09b05b48b0 fix/prevent to_expression_string misuse #985 2012-05-29 22:53:39 +02:00
Artem Pavlenko
f3c774baa4 + add grain-extract blending mode (gimp) 2012-05-29 15:09:33 +01:00
Artem Pavlenko
9dc4cb34cc + point symbolizer needs 'image-transform' via @lightmare 2012-05-29 12:03:14 +01:00
Artem Pavlenko
d85605eba1 + avoid unnecessary mapnik::feature_ptr copying 2012-05-29 11:54:12 +01:00
Hermann Kraus
472e81fe68 Correctly transform marker bounding box.
Refs #1119.
2012-05-28 02:46:34 +02:00
Hermann Kraus
0697461488 Add compatiblity layer for C++ code. 2012-05-27 01:15:03 +02:00
Artem Pavlenko
6bea57d690 + implement grain-merge blending mode (GIMP) 2012-05-25 10:35:43 +01:00
Dane Springmeyer
09426bf324 remove option to link againt external AGG - our local copy has critical fixes and is required 2012-05-24 17:05:51 -07:00
Dane Springmeyer
5b0351875b handle older (< 1.10.0) cairo versions that lack support for advanced compositing ops (target: cairo 1.8.10-2ubuntu1 on lucid) 2012-05-18 11:31:08 -07:00
Artem Pavlenko
1b210ba456 + use compositing renderer for markers,points and shields 2012-05-15 16:13:08 +01:00
Artem Pavlenko
55d5d8596d + pass by const-ref
+ remove explicit keyword from default ctor
2012-05-15 14:40:24 +01:00
Artem Pavlenko
9c9753d2c8 + fix: set_image_transform 2012-05-15 14:20:56 +01:00
Artem Pavlenko
9599711e0e Merge remote-tracking branch 'origin/master' 2012-05-14 17:33:45 +01:00
Artem Pavlenko
e08339aee9 + use custom span_image_filter preserve alpha 2012-05-14 17:32:12 +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
Dane Springmeyer
54f54ed775 rename composite args 2012-05-11 15:31:35 -07:00
Dane Springmeyer
8ae867f6de default values for composite args to maintain api compatibility 2012-05-11 15:19:05 -07:00
Dane Springmeyer
e8f28f6582 rename typedef to avoid confusion with mapnik:filter:filter_type 2012-05-11 12:42:29 -07:00
Artem Pavlenko
7380a6a001 + fix raster_symbolizer: add x/y dst args to composite 2012-05-11 10:55:58 +01:00
Artem Pavlenko
c469a63615 + use standard compositing ops (process raster symbolizer) 2012-05-10 18:17:14 +01:00
Artem Pavlenko
5f5ca030b7 + parse symbolizer_base (raster) 2012-05-10 18:15:32 +01:00
Artem Pavlenko
8085110e8f + add opacity parameter 2012-05-10 18:14:53 +01:00
Artem Pavlenko
260a098447 + update to use non-optional comp_op 2012-05-10 12:10:37 +01:00
Artem Pavlenko
609739d1b7 + always use compositing renderer 2012-05-10 12:09:03 +01:00
Artem Pavlenko
8cd898ce35 + make comp_op non-optional ( default: src-over)
+ move ctors implementations into *.cpp
2012-05-10 12:05:40 +01:00
Dane Springmeyer
ab73f13525 rename the image transform for clarity 2012-05-09 18:15:34 -07:00
Artem Pavlenko
953db9b209 + use vertex_converters where applicable 2012-05-09 15:45:44 +01:00
Artem Pavlenko
aad7c5e384 + implement compositing for text
+ refactor image_32
2012-05-09 12:39:23 +01:00
Artem Pavlenko
36c5e348d0 + fix: add missing smooth_tag() 2012-05-07 16:43:48 +01:00
Artem Pavlenko
426e191f9a + simplify/cleanup 2012-05-07 16:38:17 +01:00
Artem Pavlenko
9c88495a07 + enable 'smooth' converter 2012-05-07 16:37:44 +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
449a40685a + remove "fast" rasterizer as it produces suboptimal results 2012-05-07 14:39:39 +01:00
Artem Pavlenko
1bf6510aeb + remove ad-hoc extent multiplier 2012-05-07 12:57:07 +01:00
Artem Pavlenko
960de61bb7 + add compositing 2012-05-07 12:49:26 +01:00
Artem Pavlenko
835105ddc1 + cleanup 2012-05-07 12:35:43 +01:00
Artem Pavlenko
d0a24c1ae5 + pass correct clipping tag 2012-05-07 12:18:16 +01:00
Artem Pavlenko
3607281018 + fix compositing 2012-05-07 12:15:25 +01:00
Artem Pavlenko
4a9387ea44 + use typedef's 2012-05-07 12:15:04 +01:00
Artem Pavlenko
a789ffd2a8 Merge branch 'master' into compositing 2012-05-07 10:24:47 +01:00
Artem Pavlenko
9ba04738d6 + don't expose agg headers 2012-05-04 10:23:49 +01:00
Dane Springmeyer
f571cd9763 fixup clamping logic for markers symbolizer and sync with agg implementation 2012-05-03 16:45:40 -04:00
Artem Pavlenko
c475f2f995 + cairo: fix polygon pattern rendering 2012-05-03 15:28:57 +01:00
Artem Pavlenko
b0a0ab6d3c + Cairo: symbolizer level compositing 2012-05-03 14:34:17 +01:00
Artem Pavlenko
164ba630d9 + add requirement for renderers-> provide processor_impl_type
to allow process_xxx functions declaration in base class
+ re-enanble cairo renderer
2012-05-03 12:19:26 +01:00
Artem Pavlenko
1b33c584e7 + use MAPNIK_LOG_DEBUG 2012-05-03 12:17:37 +01:00
Artem Pavlenko
e23fdb276f + pass scale_factor to vertex_converter 2012-05-02 17:22:54 +01:00
Artem Pavlenko
44c5efbf75 + add miterlimit parameter 2012-05-02 17:04:24 +01:00
Artem Pavlenko
6d8ce26313 + allow negative offset
+ re-enable affine_transform
2012-05-02 16:30:19 +01:00
Artem Pavlenko
a475b6e0bc + add offset_converter 2012-05-02 15:13:46 +01:00
Artem Pavlenko
28b02737cd fix transform serialization for markers_symbolizer 2012-05-01 16:52:19 +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
9d002ee620 fix whitespace post 2f8d08c36 2012-04-23 19:21:26 -07:00
Dane Springmeyer
2f8d08c366 Merge pull request #1190 from ssinger/fix_segfault
Avoid dereferencing a null error structure
2012-04-23 19:19:42 -07:00
Steve Singer
4b4f2326cc Avoid dereferencing a null error structure 2012-04-23 22:00:31 -04:00
Dane Springmeyer
6a27a28de2 avoid taking reference to temporary - fixes segfaul seen on linux (but not on osx) 2012-04-23 21:28:07 -04:00
Dane Springmeyer
3ded9e06bd ensure libmapnik is built before python bindings are linked 2012-04-23 17:38:01 -07:00
Dane Springmeyer
674f7bc238 fix syntax error - refs #1189 2012-04-23 11:33:59 -07:00
Dane Springmeyer
c3004e7a01 scons: ensure compiles only happen if actually installing - closes #1189 2012-04-23 11:29:50 -07:00
Artem Pavlenko
eb16d2867f use src-over as a default comp mode 2012-04-23 16:15:56 +01:00
Artem Pavlenko
a4cdc7a1c0 + make comp_op boost::optional<>
+ use plain pixf when style_level_compositing=true
2012-04-23 15:41:18 +01:00
Artem Pavlenko
377f851a69 + fix src-over lookup
+ corrected names to follow SVG spec
2012-04-23 13:02:02 +01:00
Dane Springmeyer
27f601d1f0 fix boost filesystem2 compile 2012-04-20 17:39:52 -07:00
Dane Springmeyer
622ce7e590 skip font files and face names with leading '.' - interpret as hidden 2012-04-20 15:31:06 -07:00
Artem Pavlenko
03d42e59a5 + allow specifying premultiply flag for src and dst images
+ fix logic in agg_renderer (TODO)
2012-04-20 14:53:11 +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
Dane Springmeyer
b3c618e764 avoid warnings 2012-04-18 07:09:23 -07:00
Dane Springmeyer
2f65a7612d allow cairo compile 2012-04-18 07:09:12 -07:00
Artem Pavlenko
668d6f2325 image-filters: initial implementation 2012-04-18 12:14:23 +01:00
Artem Pavlenko
a5a5e74a11 affine transform -> symbolizer_base 2012-04-18 09:47:28 +01:00
Artem Pavlenko
294de4b95a + update to read "transform" attribute at symbolizer_base level 2012-04-18 09:46:19 +01:00
Artem Pavlenko
5361550e8d + add optional affine-transform converter 2012-04-18 09:45:11 +01:00
Artem Pavlenko
831538b522 move svg transform to symbolizer_base 2012-04-18 09:42:19 +01:00
Artem Pavlenko
9af11c5ef2 only allocate internal buffer if required 2012-04-18 09:37:02 +01:00
Dane Springmeyer
5767c65470 improve the map.query_point/query_map_point implementation, now throwing for invalid coords or projection transformations 2012-04-13 11:28:30 -07:00
Dane Springmeyer
c50c401aa4 make a non-existant marker file a MAPNIK_LOG_ERROR not MAPNIK_LOG_WARN so that the message shows up even if MAPNIK_LOG is off - refs #1175 2012-04-12 16:06:40 -07:00
Dane Springmeyer
44d7a38f23 work around perf issue with logging in wkb.cpp - refs #1175 2012-04-11 18:57:56 -07:00
Dane Springmeyer
19972fb87e improve svg error output if parsing fails 2012-04-11 11:45:56 -07:00
Dane Springmeyer
d64d2555e1 marker_cache: improve logging output 2012-04-11 11:28:09 -07:00
Dane Springmeyer
1941a700a4 add compile time warning if building against proj < 4.8 2012-04-11 08:23:41 -07:00
Dane Springmeyer
f5da52bb22 Merge branch 'master' of github.com:mapnik/mapnik 2012-04-11 08:06:47 -07:00
Dane Springmeyer
7cca1489b7 fix memory leak of pj_ctx if a projection cannot be initialized 2012-04-11 08:06:29 -07:00
Artem Pavlenko
76b95518c2 call xmlFree before throwing an exception 2012-04-11 14:44:19 +01:00
Artem Pavlenko
57d6d62440 + support 'display' property, if set to 'none' don't parse children #1137
+ fix memory leak : xmlTextReaderGetAttribute -> string must be deallocated by the caller
+ call xmlTextReaderMoveToElement after xmlTextReaderMoveToFirstAttribute loop to restore
  reader position.

Conflicts:

	src/svg_parser.cpp
2012-04-11 14:36:39 +01:00
Artem Pavlenko
bba21e3d9c + support 'display' property, if set to 'none' don't parse children #1137
+ fix memory leak : xmlTextReaderGetAttribute -> string must be deallocated by the caller
+ call xmlTextReaderMoveToElement after xmlTextReaderMoveToFirstAttribute loop to restore
  reader position.
2012-04-11 14:00:34 +01:00
Artem Pavlenko
7c0824f40b + read whole image at once if we have enough memory and x0==0 && y0==0
(adds support for Adam7 interlacing )
2012-04-10 15:51:30 +01:00
Artem Pavlenko
5758b47813 + read whole image at once if we have enough memory and x0==0 && y0==0
(adds support for Adam7 interlacing )
2012-04-10 15:47:29 +01:00
Artem Pavlenko
45b0dd6482 + support smooth conv in polygon_pattern_symbolizer 2012-04-10 15:46:38 +01:00
kunitoki
ee2674cda8 - force a file close to flush debug outputs when setting back logging from file to console 2012-04-10 16:46:11 +02:00
kunitoki
81c9dd7b6b - added the ability to set the default global severity from scons configure
- initial check in of setting global severity from getenv (todo)
2012-04-10 16:19:51 +02:00
kunitoki
1a203d3f85 - cleaned up logger interface to better integrate with python bindings
- polished and finished python bindings for logger interaction
2012-04-10 10:14:28 +02:00