Commit graph

418 commits

Author SHA1 Message Date
artemp
c7af665cc7 + process SEG_CLOSE 2012-07-31 10:59:09 +01:00
artemp
a3b7d07da0 + select clipper based on geometry type 2012-07-31 10:56:13 +01:00
Dane Springmeyer
39a1477eb2 allow marker-width and marker-height to apply directly to ellipse rx/ry - maintaining ability to precisely control ellipse dimensions, combine with transforms, and avoid scaling line-widths - refs #1348 and #1347 2012-07-30 23:20:20 -07:00
Dane Springmeyer
e482998c51 rename path_ptr to the more explicit svg_path_ptr and set up markers_symbolizer rendering for upcoming changed 2012-07-30 21:45:46 -07:00
Dane Springmeyer
0d97b851fa markers: support opacity on bitmaps, and move to supporting both opacity and fill-opacity 2012-07-30 18:31:21 -07:00
artemp
774e1b1d77 + avoid applying scaling_factor twice for raster markers
+ cleanup
2012-07-25 11:43:43 +01:00
Dane Springmeyer
b4f3d6da11 include what you use 2012-07-24 18:35:41 -07:00
Dane Springmeyer
ec12d02209 iterate image_filters by const& - refs #1330 2012-07-24 14:01:46 -07:00
artemp
5ac4d2ec93 + add raster markers support 2012-07-24 14:04:25 +01:00
artemp
553e767169 + remove const modifiers 2012-07-24 09:44:14 +01:00
Dane Springmeyer
a968150f6b fix compile after geometry util namespacing 2012-07-20 11:18:33 -07:00
artemp
fd209b2958 + put labeling routines into its owm 'label' namespace 2012-07-20 17:32:38 +01:00
artemp
8e2774fe84 + remove debug output 2012-07-19 16:59:33 +01:00
artemp
ab0722efce + AGG: refactor process_markers_symbolizer to use vertex_converters 2012-07-19 16:37:54 +01:00
artemp
7b10400be9 + update rendering code to work with new labeling methods
+ rename num_points() to size()
+ rename get_vertex() to vertex()
2012-07-19 16:36:44 +01:00
artemp
560aca20fa Merge remote-tracking branch 'origin/master' 2012-07-17 17:11:59 +01:00
artemp
195b8ad887 + affine transform for raster markers - #1279 2012-07-17 17:10:24 +01:00
Dane Springmeyer
6d95076954 sync grid renderer with agg for text/shields/point - refs #1309 2012-07-16 11:51:14 -07:00
artemp
c7960a2093 + support clipping on/off in text_symbolizer_helper,
shield_symbolizer_helper and process_markers_symbolizer
  TODO: revisit implementation to avoid code duplication
2012-07-11 14:47:39 +01:00
artemp
35ab93667f + enforce const
+ pass arguments by const ref
2012-07-11 10:13:38 +01:00
Dane Springmeyer
bcc8da4dea agg markers_symbolizer rendering: only create objects if actually rendering 2012-07-10 22:31:51 -07:00
Dane Springmeyer
afa9dc3c7c move svg marker modifiers to hpp file for re-use in other renderers 2012-07-10 18:09:19 -07:00
artemp
f656efaa49 + apply dynamic width and/or height
+ make 'width/height' pair and 'transform' mutually exlusive
2012-07-09 10:22:19 +01:00
Dane Springmeyer
3823890b40 rollback 34c3128b0c, move 'scaling' to proper enum, and move image_scaling functions to new cpp/hpp 2012-07-06 16:45:58 -07:00
Dane Springmeyer
9dd69d091b merge with master 2012-07-05 15:40:16 -07:00
artemp
59c1f9ac21 + inherit stroke, stroke-width and fill if provided in markers_symbolizer 2012-07-05 17:17:35 +01:00
Dane Springmeyer
c677b4f47c ensure the bounds used for avoid-edges and minimum-padding is non-buffered - refs #1283 2012-07-04 18:34:04 -07:00
artemp
9b14a7206a remove arrow/ellipse ad-hoc markers - see #1285 2012-07-04 14:50:11 +01:00
artemp
6bc3f06afd + remove arrow/ellipse 2012-07-04 14:22:44 +01:00
artemp
ab4e717813 + fix stock markers transformations
FIXME : use markers cache to load and store stock markers
2012-07-04 11:56:52 +01:00
Dane Springmeyer
e93c5604a6 use detector extent for shields that is also sensitive to buffer_size - refs #1283 2012-07-03 13:32:27 -07:00
Dane Springmeyer
757816a1b8 respect scale_factor in affine transform used for collision detector in point_symbolizer - refs #1274 2012-06-29 17:25:34 -07:00
Dane Springmeyer
7f531498c6 pass scale_factor to text_renderer in order to scale up halo_radius - refs #1273 and refs #695 2012-06-29 13:05:28 -07:00
artemp
caa50402dc + apply scale_factor to raster markers (bilinear) 2012-06-29 12:31:41 +01:00
artemp
34c3128b0c + use Map::scale_factor_ 2012-06-29 12:30:36 +01:00
Dane Springmeyer
67e9b0d616 move marker width/height to expressions - closes #1102 and replaces #1255 2012-06-28 19:54:25 -07:00
Artem Pavlenko
bfa7052e84 + markers: fix stock arrow's transformations 2012-06-27 13:46:52 +01:00
Artem Pavlenko
5bc9f73506 + markers_symbolizer: support affine geometry transformations
+ fix markers bounding box calc
+ fix spacing logic to use transformed marker width
2012-06-26 15:00:42 +01: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
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
Dane Springmeyer
48a543b5d5 implement style-level opacity - closes #314 2012-06-19 15:10:28 -04:00
Dane Springmeyer
3272707548 premultiply marker images once, before caching - refs #1262 2012-06-19 08:36:03 -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
751d246f3c move agg rasterization to use and expect consistently premultiplied buffers - refs #1262 2012-06-18 18:47:30 -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
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
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
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
857a6950f7 fix warning message for pending features for markers 2012-06-04 11:11:29 -07: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
1b210ba456 + use compositing renderer for markers,points and shields 2012-05-15 16:13:08 +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
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
8085110e8f + add opacity parameter 2012-05-10 18:14:53 +01:00
Artem Pavlenko
609739d1b7 + always use compositing renderer 2012-05-10 12:09:03 +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
9ba04738d6 + don't expose agg headers 2012-05-04 10:23:49 +01:00
Artem Pavlenko
e23fdb276f + pass scale_factor to vertex_converter 2012-05-02 17:22:54 +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
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
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
03d42e59a5 + allow specifying premultiply flag for src and dst images
+ fix logic in agg_renderer (TODO)
2012-04-20 14:53:11 +01:00
Artem Pavlenko
668d6f2325 image-filters: initial implementation 2012-04-18 12:14:23 +01:00
Artem Pavlenko
5361550e8d + add optional affine-transform converter 2012-04-18 09:45:11 +01:00
Artem Pavlenko
9af11c5ef2 only allocate internal buffer if required 2012-04-18 09:37:02 +01:00
Artem Pavlenko
45b0dd6482 + support smooth conv in polygon_pattern_symbolizer 2012-04-10 15:46:38 +01:00
kunitoki
a902a08aab - added logging to file
- started working on the logger bindings
- cleanups some error reporting with cerr/clog in the library
2012-04-10 00:25:31 +02:00
kunitoki
b60c508c1c - finish thrashing all the useless ifdef MAPNIK_LOG 2012-04-09 21:41:56 +02:00
Artem Pavlenko
2fb00247eb remove unused headers 2012-04-09 12:34:09 +01:00
Artem Pavlenko
c5a27d7398 + use vertex converters 2012-04-09 11:12:34 +01:00
Artem Pavlenko
fdc80ad278 + use BOOST_FOREACH 2012-04-08 12:12:12 +01:00
kunitoki
af201551b8 got rid of old CVS $Id comments kludge in files 2012-04-08 02:45:01 +02:00
kunitoki
1f351e0e09 implement new debug system 2012-04-08 02:20:56 +02:00
Artem Pavlenko
e513b4772d + use vertex_converters 2012-04-06 10:10:20 +01:00
Artem Pavlenko
738ff501fe remove CompositingSymbolizer 2012-04-05 17:04:11 +01:00
Artem Pavlenko
34c984b2b8 + support compositing across all symbolizers
(currently polygon and line symbolizers)
2012-04-05 15:59:11 +01:00
Artem Pavlenko
e7f0e8aac0 + support configurable vertex converter 2012-04-03 19:49:57 +01:00
Artem Pavlenko
6236a63156 + make clip_poly converter optional (default: true) 2012-04-03 16:31:01 +01:00
Artem Pavlenko
cbcb8d6aad + use fusion::vector to pass arguments 2012-04-03 13:40:51 +01:00
Artem Pavlenko
81566a8f80 + use pre-multiplied pixel format in agg_renderer
(de-multiply in end_map_processing())
+ support for compositing at style level
+ image blur (TODO)
2012-04-03 13:10:30 +01:00
Artem Pavlenko
8038561984 + move renderer to agg_helpers 2012-03-28 12:02:03 +01:00
Artem Pavlenko
9840c7df4c Merge branch 'master' into compositing
Conflicts:
	include/mapnik/util/dasharray_parser.hpp
	src/agg/process_line_symbolizer.cpp
	src/image_compositing.cpp
2012-03-26 09:05:02 +01:00
Dane Springmeyer
3f26c439c9 fix marker width/height to mean pixels - which it should have all along - closes #1134 2012-03-23 20:28:12 -07:00
Artem Pavlenko
97eb078adb + re-use renderer (TODO) 2012-03-23 09:34:26 +00:00
Dane Springmeyer
d991427737 formatting 2012-03-22 16:37:24 -07:00
Artem Pavlenko
bc2589960b + add missing files 2012-03-21 17:34:41 +00:00
ldp
1542e3e513 add ignore-placement to MarkersSymbolizer 2012-03-18 22:35:02 +01:00
Artem Pavlenko
66beaaa05b + support smoothing in conv_dash 2012-03-15 10:42:30 +00:00
Artem Pavlenko
70512dc03b + add optional smothing to line_symbolizer
( TODO: conv_dash )
2012-03-15 10:26:53 +00:00
Artem Pavlenko
3e4733c51a + refactor join/cap settings (agg_helper.hpp) 2012-03-14 17:21:04 +00:00
Artem Pavlenko
f1a0887628 + apply smooth converter after clipping and transformations
+ inflate query_extent
2012-03-14 16:12:36 +00:00
Artem Pavlenko
108b99725c + refactor gamma setting logic to avoid code duplication
( agg_helpers.hpp )
2012-03-14 15:45:35 +00:00
Artem Pavlenko
87b22c29b2 + add optional polygon smoothing ( 0.0 < smooth < 1.0 )
using agg_conv_poly1_curve
2012-03-14 15:01:31 +00:00
Dane Springmeyer
93995d7c4b apply mapnik_format.el formatting 2012-03-13 07:56:11 -07:00
Hermann Kraus
2b68cea0a1 Merge branch 'new-xml'
Conflicts:
	include/mapnik/config_error.hpp
	include/mapnik/ptree_helpers.hpp
	src/formatting/text.cpp
	src/libxml2_loader.cpp
	src/load_map.cpp
	src/metawriter_factory.cpp
	src/text_placements/registry.cpp
	src/text_placements/simple.cpp
2012-03-13 11:11:28 +01:00
Artem Pavlenko
254b3c9fa7 Merge branch 'master' into geometry-clipping
Conflicts:
	SConstruct
	include/mapnik/symbolizer_helpers.hpp
	src/placement_finder.cpp
2012-03-09 14:18:41 +00:00
Artem Pavlenko
a763d03110 resolve conflict 2012-03-09 13:33:16 +00:00
Artem Pavlenko
514ec14cc9 + add clipping to polygon/line_pattern_syms 2012-03-09 12:57:14 +00:00
Artem Pavlenko
13ea874585 + inflate query extent to avoid line joining artifacts 2012-03-09 12:55:22 +00:00
Artem Pavlenko
40b9553722 + add clipping to text/shield/markers
Conflicts:

	include/mapnik/symbolizer_helpers.hpp
2012-03-09 12:54:13 +00:00
Artem Pavlenko
c12161bf19 + clip geometries before applying any
transformations.
2012-03-09 12:44:29 +00:00
Hermann Kraus
cd8cfc6527 Improve error messages. 2012-03-08 18:52:53 +01:00
Dane Springmeyer
f1aee03912 forward declare marker so marker_cache api access is cleaner 2012-03-08 08:37:58 -08:00
Hermann Kraus
ad86e9aebc Reenable text meta writers. 2012-03-04 23:25:13 +01:00
Hermann Kraus
b4eddaab24 Move variables from text_placements_info to placement_finder.
Reuse placement_finder objects.
Pass feature to placement_finder.
Refs #1048.
2012-03-04 01:49:01 +01:00
Hermann Kraus
46f80cc6aa Use double instead of int and avoid rounding when possible.
Closes #1078.
2012-02-20 19:32:34 +01:00
Hermann Kraus
2843ff3da8 Fix placement_finder.hpp includes. 2012-02-18 14:03:21 +01:00
Hermann Kraus
bb3ad18c95 Rename starting_{x,y} to center to reflect actual meaning. 2012-02-18 13:07:23 +01:00
Hermann Kraus
7b22d69932 Revert "+ fix shield/text positioning - we still need to floor both text and shield"
floor is removed from position calculation now, resulting in better marker and text matching.
Refs #1078.

This reverts commit 009a1e45a7.
2012-02-17 00:59:20 +01:00
Hermann Kraus
44beaf1bdf Make ShieldSymbolizer variables doubles.
Refs #1078.
2012-02-17 00:03:46 +01:00
Artem Pavlenko
63735982ee + remove const from parameters passed by-value 2012-02-16 15:35:27 +00:00
Artem Pavlenko
009a1e45a7 + fix shield/text positioning - we still need to floor both text and shield
position for consistent rendering.
2012-02-15 23:27:33 +00:00
Artem Pavlenko
6495ea8996 + clip polygons 2012-02-14 18:39:36 +00:00
Dane Springmeyer
0acd2137b8 restore agg renderer clip_box, accidentally disabled in 21d05444 - refs #1075 2012-02-10 15:14:15 -08:00
Dane Springmeyer
8e61d9a6d2 remove used typedefs 2012-02-07 13:42:45 -08:00
Dane Springmeyer
17d13cff67 whitespace fixes - closes #911 2012-02-01 17:53:35 -08:00
Dane Springmeyer
21d05444f7 manual whitespace fix 2012-02-01 17:48:56 -08:00
Dane Springmeyer
07d7d7d537 convert to using feature_ptr rather than const& for renderers 2012-02-01 16:37:05 -08:00
Dane Springmeyer
cf8e036574 warn if non bitmap (svg) files are used for pattern symbolizers as this is not currently supported - refs #1010 and #1045 2012-02-01 12:27:57 -08:00
Artem Pavlenko
b90de4874c Merge branch 'textplacement-merge' into feature-text-merge
Conflicts:
	docs/textrendering.gv
	include/mapnik/building_symbolizer.hpp
	include/mapnik/placement_finder.hpp
	include/mapnik/symbolizer_helpers.hpp
	include/mapnik/text_placements.hpp
	include/mapnik/text_placements_list.hpp
	include/mapnik/text_placements_simple.hpp
	include/mapnik/text_processing.hpp
	plugins/input/shape/shape_utils.hpp
	src/agg/process_shield_symbolizer.cpp
	src/agg/process_text_symbolizer.cpp
	src/cairo_renderer.cpp
	src/grid/process_shield_symbolizer.cpp
	src/grid/process_text_symbolizer.cpp
	src/load_map.cpp
	src/placement_finder.cpp
	src/shield_symbolizer.cpp
	src/text_placements.cpp
	src/text_processing.cpp
	src/text_symbolizer.cpp
	tests/visual_tests/clean.sh
	tests/visual_tests/test.py

Merge herm/textplacement-merge
2012-01-31 11:09:55 +00:00
Hermann Kraus
09459683e9 Update symbolizer helpers for ShieldSymbolizer.
Correctly handle point placement for TextSymbolizer. (Tries each possible placement for each point).
2012-01-29 04:49:02 +01:00
Hermann Kraus
dbc1280731 Process more than one geometry.
Start work on ShieldSymbolizer.
2012-01-26 20:05:38 +01:00
Artem Pavlenko
d1f16bb227 merge textplacement-merge into feature_impl 2012-01-26 13:04:08 +00:00
Hermann Kraus
bdc20f766b Complete symbolizer_helpers.hpp for TextSymbolizer. 2012-01-25 15:44:19 +01:00