Commit graph

491 commits

Author SHA1 Message Date
Dane Springmeyer
00a2f54346 further refine the mapnik::request object which can be passed to custom agg_renderer 2013-02-25 19:33:08 -05:00
Dane Springmeyer
2648f8f49a first stab at moving mutable render request properties out of apply_to_layer 2013-02-20 19:52:54 -08:00
Dane Springmeyer
e16567fecb fixup std:: prefixing of cmath functions - closes #1694 2013-01-17 13:53:48 -08:00
Dane Springmeyer
18e23be9c0 merge work from mappy/abonnasseau allowing buffer-size to be overiddend by layer - closes #1566 2013-01-15 18:53:34 -08:00
Dane Springmeyer
f315a87874 further cleanup of expression related headers 2013-01-08 15:12:39 -08:00
Dane Springmeyer
866597c8c3 Fix -Wshadow warnings 2013-01-04 11:06:03 -08:00
Dane Springmeyer
32760318a4 iwyu 2013-01-03 23:19:54 -08:00
artemp
8b66128c89 + take into account alpha when rendering building frame
(TODO: consider more options - roof fill,??)
2013-01-02 16:50:28 +00:00
Dane Springmeyer
bb27156df0 use internal noncopyable class to speed up compile times slightly 2012-12-16 18:19:52 -08:00
Dane Springmeyer
772c7f52fc knock out some msvc compiler warnings 2012-12-12 15:59:27 -08:00
Dane Springmeyer
6b84269343 add pad method on box2d to help tighten otherwise verbose code 2012-12-11 13:56:25 -08:00
Dane Springmeyer
95ceee84fa sync cairo shield rendering with agg - closes #1602 - amends bd9609c370 2012-12-02 22:46:58 -08:00
Dane Springmeyer
f39c3ad857 add marker-multi-policy parameter to support user-configurable rendering behavior for multi-geometries when using either point or interior placement - closes #1573, refs #1555 2012-11-20 17:58:39 -08:00
Alexandre Bonnasseau
efff5f0ef0 Issue #1545 - override buffer-size parameter at layer level - revised 2012-11-08 15:51:22 +01:00
Dane Springmeyer
42661cf6e4 wrap long code lines 2012-10-20 16:20:32 -07:00
Dane Springmeyer
357e711312 -avoid potentially premultiplying colors more than once in agg_renderer::setup - closes #1515 2012-10-04 14:24:29 -07:00
Dane Springmeyer
72793fe9b6 explicitly include deque - thanks @lightmare - should fix gcc compile 2012-10-04 12:03:40 -07:00
Dane Springmeyer
c0fd6802ed pattern source is only used by line_pattern_symbolizer so move it to that cpp 2012-10-03 18:23:07 -07:00
Dane Springmeyer
7d5642640d use the proper premultiplied pixel type for render_marker 2012-10-03 13:49:06 -07:00
Dane Springmeyer
a27b95558b remove uneeded includes 2012-10-03 13:48:05 -07:00
Dane Springmeyer
8674e463a6 premultiply before image scaling - closes #1508 (at least for gdal.input) and refs #1498 2012-10-02 21:50:42 -07:00
Dane Springmeyer
798b101f0c finish #1512 and adjust tests to use new parameter 2012-10-01 17:09:28 -07:00
Dane Springmeyer
ef28a1db80 cleanup includes in rule/feature_style_processor and move code to rule.cpp and raster_symbolizer.cpp 2012-10-01 15:01:12 -07:00
artemp
780ea26af3 Merge remote-tracking branch 'origin' into conv_simplify 2012-09-28 19:49:01 +01:00
artemp
3ffe8ec21c + add premultiplied_alpha flag to mapnik::raster 2012-09-28 16:43:05 +01:00
artemp
d7abfc267b Merge branch 'master' into conv_simplify 2012-09-27 08:54:32 +01:00
Dane Springmeyer
1af2faf56b formatting 2012-09-25 14:52:32 -07:00
artemp
01ae1a179d Merge branch 'master' into conv_simplify 2012-09-17 11:35:15 +01:00
Dane Springmeyer
ad8e4e4cc7 Merge pull request #1366 from mapnik/debugsymbolizer
Debug Symbolizer
2012-09-14 16:43:38 -07:00
artemp
f66d4b1afe Merge branch 'master' into conv_simplify 2012-09-13 08:50:59 +01:00
Dane Springmeyer
2a3a402f5d finish fixing pixel alignment for raster rendering in cairo - closes #1471 2012-09-12 13:25:40 -07:00
artemp
8cb2ce41ac raster scaling issue
+ fix rasterizer polygon to be equal to target image
+ align raster to pixel bouyndaries (?)
  ( fixes grey border issue - #1471)
2012-09-12 14:41:27 +01:00
artemp
29423cfc1c Merge branch 'master' into conv_simplify
Conflicts:
	bindings/python/mapnik_markers_symbolizer.cpp
	plugins/input/ogr/ogr_index_featureset.cpp
	plugins/input/shape/dbfile.cpp
	plugins/input/shape/shapefile.hpp
	src/load_map.cpp
2012-09-07 16:46:02 +01:00
artemp
967d6110bf + singleton: return ref from instance() method 2012-09-07 16:23:03 +01:00
artemp
5f8bb423e8 Merge branch 'conv_simplify' of git://github.com/kkaefer/mapnik into kkaefer-conv_simplify 2012-09-06 13:12:39 +01:00
Dane Springmeyer
3d9aa3db10 avoid double drawing of lines with RASTERIZER_FAST 2012-08-30 23:34:43 -07:00
Konstantin Käfer
ae865a59fb Merge branch 'master' into conv_simplify
Conflicts:
	include/mapnik/vertex_converters.hpp
2012-08-28 20:37:27 +02:00
Dane Springmeyer
5120d0398d add build file for headers and svg/output code directories to hold the svg_renderer used for output - refs #1438 2012-08-27 17:58:49 -07:00
Konstantin Käfer
13c46b6cc6 Merge branch 'master' into conv_simplify
Conflicts:
	bindings/python/mapnik_line_symbolizer.cpp
	bindings/python/mapnik_polygon_symbolizer.cpp
2012-08-24 23:29:43 +02:00
Konstantin Käfer
4e1423cefe Merge branch 'master' of git://github.com/mapnik/mapnik into conv_simplify
Conflicts:
	src/cairo_renderer.cpp
2012-08-24 23:24:31 +02:00
Dane Springmeyer
c3dae01055 avoid clipping polygons if reprojecting to work around #1399 until we have a more proper solution (refs #1282) 2012-08-22 17:38:34 -07:00
Dane Springmeyer
9539ce96a6 for 2.1 release hold back clipping on lines with markers to avoid #1426 (refs #1424) 2012-08-21 13:27:35 -07:00
Dane Springmeyer
0eff77c03e return without rendering if label placement algorithm returns false indicating a degenerate geometry - closes #1423 and refs #1424 2012-08-21 12:51:39 -07:00
artemp
572f3d3f49 + avoid applying scale_factor twice 2012-08-16 10:42:12 +01:00
artemp
aecf0531f5 + remove metawriters for the upcoming 2.1 release 2012-08-15 09:47:03 +01:00
Dane Springmeyer
7a5f06656c allow setting marker width/height together with transform 2012-08-14 17:11:08 -07:00
Konstantin Käfer
dcd7a07c8e simplify-tolerance property boilerplate 2012-08-14 17:04:57 +02:00
artemp
2d20e4aee4 + agg : building_symbolizer - apply scale_factor to stroke width 2012-08-10 11:12:31 +01:00
Dane Springmeyer
cf192ee771 further refactoring of marker_helpers to help set up for using from grid renderer 2012-08-06 11:39:09 -07:00
Dane Springmeyer
3d91ca3821 sync agg/grid line symbolizer rendering - refs #1309 2012-08-06 08:29:08 -06:00
artemp
6fc8f3ab89 + instantiate svg_renderer with pixfmt_comp_type 2012-08-03 15:39:44 +01:00
artemp
8c98d8a199 + pre-multiply rendering buffer after applying background color and/or pattern 2012-08-03 15:37:05 +01:00
Dane Springmeyer
8ea21d866d move more code to marker_helpers.hpp to set up for grid impl of new markers code - refs #1282 2012-08-02 22:52:21 -07:00
Dane Springmeyer
c1d124f6d9 Account for offset value to avoid severe clipping with large offsets - refs #1282 2012-08-02 21:00:52 -07:00
Dane Springmeyer
e62739d146 fix render_marker for grid renderer and other minor syncing - refs #1309 2012-08-02 13:10:05 -07:00
Dane Springmeyer
693cc88142 sync grid renderer with agg for point_symbolizer - refs #1309 2012-08-02 11:13:44 -07:00
Dane Springmeyer
c2c006f9c2 support setting opacity on bitmaps in render_marker - refs #1364 2012-08-02 10:52:09 -07:00
Dane Springmeyer
56e11423ef inflate clipping extent for line patterns - refs #1282 2012-08-02 07:26:55 -07:00
Dane Springmeyer
7211436313 avoid clipping artifacts with line_symbolizer by using stroke sensitive clipping extent - refs #1282, #1185, #1215 2012-08-01 16:43:00 -07:00
Dane Springmeyer
092a1bf625 impl debug box drawing in geo extents 2012-08-01 16:40:48 -07:00
Dane Springmeyer
2351877cad Merge branch 'master' of github.com:mapnik/mapnik 2012-08-01 11:08:04 -07:00
artemp
3db39f2b78 + revert using clip_poly_line to avoid rendering artifacts
(TODO: consider modifying agg::conv_clip_polyline)
2012-08-01 17:06:35 +01:00
artemp
6c173cd9d4 + cleanup 2012-08-01 16:30:11 +01:00
Dane Springmeyer
e90ccb7a3a Merge branch 'master' of github.com:mapnik/mapnik 2012-08-01 08:00:55 -07:00
artemp
5541ea0271 + layer : minimum-extent and buffer-size
+ agg::process_xxx : remove ad-hoc query_extent modifiers
+ ctrans : simplify vertex skipping
2012-08-01 15:44:36 +01:00
Dane Springmeyer
295c661af2 start setting up to sync markers_symbolizer between agg and grid renderer 2012-07-31 19:19:45 -07:00
Dane Springmeyer
16084ff335 support both interior placement and point for markers - helps prepare for #952 2012-07-31 18:13:50 -07:00
Hermann Kraus
cdbba2eb38 Remove unnecessary includes. 2012-08-01 02:50:53 +02:00
Dane Springmeyer
9d9c525de0 revert 1dfde78 and properly avoid clipping for point type geometries in markers_symbolizer while moving markers_placement to cpp file to avoid overhead of declaring all possible permutations of vertex convertors - closes #1341 2012-07-31 17:27:52 -07:00
Dane Springmeyer
c3c2902b92 move ellipse contruction code to marker_helpers 2012-07-31 16:40:30 -07:00
Hermann Kraus
f3326115ac Add debug symbolizer. 2012-08-01 01:16:48 +02:00
Dane Springmeyer
d5a6564fe2 Merge branch 'master' of github.com:mapnik/mapnik into marker-ellipse-fix 2012-07-31 13:46:35 -07:00
artemp
d7d833dd13 + cleanup/small fixes 2012-07-31 13:31:22 +01:00
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