Commit graph

1737 commits

Author SHA1 Message Date
artemp
76569cccb8 + select clipper based on geometry type
+ process SEG_CLOSE command
2012-07-31 10:57:42 +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
Dane Springmeyer
6f174287a2 amend 822531a which broke polygon geometry labeling - refs #1350 2012-07-30 18:29:26 -07:00
artemp
b963b6c2b3 Merge remote-tracking branch 'origin' 2012-07-30 18:35:03 +01:00
artemp
822531a114 + filter on geometry type to use centroid (Polygon) or
middle_point (LineString) label placement
2012-07-30 18:32:42 +01:00
Dane Springmeyer
81937f7317 only allow restyling of svg paths that already have visible display of stroke/fill 2012-07-28 09:27:37 -07:00
Dane Springmeyer
e213f49d7c re-implement conditional stroke application in markers_symbolizer initially added in 9d756165e0, amended in 9f064960e3, and wrongly disabled in bd74d18f6d 2012-07-27 19:21:46 -07:00
artemp
fe4cfea536 + add call to close_path() if SEG_CLOSE 2012-07-26 15:49:58 +01:00
artemp
ec2d0cc210 + wkb reader : close polygons 2012-07-26 15:20:56 +01:00
artemp
07ec5c31d0 + turns off white space skipping 2012-07-26 11:45:34 +01:00
Dane Springmeyer
4fbe353d4a make stock ellipse a true ellipse 2012-07-25 19:29:43 -07:00
Dane Springmeyer
bd74d18f6d no need anymore to have parse_stroke return a bool 2012-07-25 18:26:34 -07:00
Dane Springmeyer
9f064960e3 load_map: a stroke-width=0 is valid for markers now (for restyling svg) 2012-07-25 18:19:41 -07:00
Dane Springmeyer
2680f941eb clean up unused code and includes 2012-07-25 09:31:57 -07:00
artemp
774e1b1d77 + avoid applying scaling_factor twice for raster markers
+ cleanup
2012-07-25 11:43:43 +01:00
artemp
f0ada2b284 + remove colorizer (@springmeyer - was it intentional?) 2012-07-25 10:00:08 +01:00
Dane Springmeyer
ad90db2eb0 remove duplicate declaration 2012-07-24 23:40:28 -07:00
Dane Springmeyer
1dfde7846b default to not clipping for markers_symbolizer as a temporarily workaround for #1341 2012-07-24 19:56:08 -07:00
Dane Springmeyer
6396b443ef default to MARKER_POINT_PLACEMENT for markers 2012-07-24 19:48:22 -07:00
Dane Springmeyer
074b385999 include what you use 2012-07-24 19:08:26 -07:00
Dane Springmeyer
b4f3d6da11 include what you use 2012-07-24 18:35:41 -07:00
Hermann Kraus
3860ae9447 Merge branch 'master' of github.com:mapnik/mapnik 2012-07-25 01:18:51 +02:00
Dane Springmeyer
ebf87969e4 move css_color and path_expression grammars to cpp 2012-07-24 15:43:32 -07:00
Hermann Kraus
3054145103 Merge branch 'master' of github.com:mapnik/mapnik 2012-07-25 00:21:30 +02:00
Hermann Kraus
d35821d058 Fix deprecation warnings. Part 1
Refs #1340.
2012-07-25 00:20:58 +02:00
Dane Springmeyer
3f444302f0 move wkb_generator.cpp to cpp to reduce grammar compilation burden in the python bindings 2012-07-24 15:04:39 -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
29deca8db8 shave off 4 seconds from xml_node.cpp compile time (16 -> 12) by moving transform grammar to cpp - refs #1267 2012-07-23 18:12:10 -07:00
Dane Springmeyer
348dfff0c7 move feature_grammar to cpp file reducing compile time mem usage for feature_collection_parser.cpp - refs #1267 2012-07-23 17:03:06 -07:00
Dane Springmeyer
8f803b9897 reduce build time of xml_tree by half and memory usage by 1/3 - refs #1267 2012-07-23 16:15:27 -07:00
Dane Springmeyer
9c5dbc20c5 properly skip empty geometries - refs #1333 and #1305 an #1132
+ remove redundant ar.size() > 0 check
+ use std::auto_ptr<geometry_type> to avoid memory leaks and
  improve exception safety.
2012-07-23 10:39:34 +01:00
Dane Springmeyer
e36081a5c0 change geometry_utils::from_wkb to return a bool that signifies if at least one wkb path was parsed - refs #1333 and #1305 2012-07-20 15:09:01 -07: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
516f7c75b1 + expose geometry type in expression grammar to allow following
filter expressions : [mapnik::geometry_type] = Polygon (#546)
2012-07-20 12:28:25 +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
710b7eb04b + instantiate all vertex_converters permutations
+ pass parameter by const reference
2012-07-19 16:26:10 +01:00
artemp
c0ecb7e980 + use member variable in ctor 2012-07-19 16:24:29 +01:00
Dane Springmeyer
b7630a3eb8 default to fully opaque default marker svg - fixes #1326 2012-07-18 14:07:52 -07: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
Dane Springmeyer
89668e7b26 map bilinear8 to bilinear for now (TODO - add bilinear8 to AGG) 2012-07-16 09:42:01 -07:00
Dane Springmeyer
8fcf10be12 Merge branch 'master' of github.com:mapnik/mapnik 2012-07-15 20:39:21 -07:00
Dane Springmeyer
e9c5ab3d94 sync polygon rendering between agg and grid backends 2012-07-13 16:42:23 -07:00
artemp
0eddc2b5a0 + apply scale_factor 2012-07-13 11:17:35 +01:00
artemp
1e6be7abc3 + add accessor methods 2012-07-13 10:25:12 +01:00
Dane Springmeyer
bc8d6568f5 sync line rendering between grid and agg - refs #1309 2012-07-12 19:34:39 -07:00
Dane Springmeyer
214b24ed12 finish updating marker tests - closes #1304 2012-07-12 19:21:04 -07:00
Dane Springmeyer
fad8eff676 fix scaling of markers when render time resolution != 1 2012-07-12 19:01:59 -07:00
Dane Springmeyer
2fe306e34f fix marker clamping and sync with agg renderer- refs #1309 2012-07-12 18:41:03 -07:00
artemp
461f5cfe08 + use separate stroke-opacity and fill-opacity 2012-07-12 15:38:25 +01:00
artemp
279bfe7f0f + remove unused mutating methods
+ cleanup&style
2012-07-12 10:21:57 +01: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
8cf9a5a082 + more const correctness 2012-07-11 10:32:08 +01:00
artemp
35ab93667f + enforce const
+ pass arguments by const ref
2012-07-11 10:13:38 +01:00
Dane Springmeyer
3e895ac6b7 implement built in support for ellipse and arrow markers, make markers_symbolizer default to POINT placement and ellipse drawing, add back compatibility for deprecated marker-type property - refs #1285 and #1304 2012-07-10 22:38:53 -07:00
Dane Springmeyer
75d2d5bdca remove duplicate variable 2012-07-10 22:34:46 -07:00
Dane Springmeyer
e67463661c sync grid markers_symbolizer rendering with agg 2012-07-10 22:32:19 -07:00
Dane Springmeyer
bcc8da4dea agg markers_symbolizer rendering: only create objects if actually rendering 2012-07-10 22:31:51 -07:00
Dane Springmeyer
3efab11bdb start carrying through the geometry clipping extent in the grid renderer 2012-07-10 18:39:06 -07:00
Dane Springmeyer
c58cbe0341 remove reference to arrow.cpp 2012-07-10 18:12:06 -07:00
Dane Springmeyer
310ed4a05d remove references to now unused mapnik::arrow 2012-07-10 18:11:43 -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
Dane Springmeyer
4f507e2fa3 expose the ability to parse an svg from an in-memory string 2012-07-10 08:59:35 -07:00
artemp
216768fbc0 + output image-filters and direct-image-filters 2012-07-10 12:52:18 +01:00
Dane Springmeyer
79ef09d1a3 create grid feature context with correct sorting - closes #1306 2012-07-09 18:40:41 -07:00
Dane Springmeyer
cbf821c762 move key grid functions to cpp file 2012-07-09 17:32:36 -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
artemp
58bd55b075 + allow independent width and height
+ better namings
2012-07-09 10:21:12 +01:00
artemp
20d935ea1e + remove explicit keyword
+ make width and height 'optional' - default init (0)
+ change members order
2012-07-09 10:18:41 +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
3ddd38116c Merge branch 'master' of github.com:mapnik/mapnik 2012-07-06 11:54:04 -07:00
Dane Springmeyer
b5dc59cabc remove serialization of get_mode, no longer needed 2012-07-06 11:53:54 -07:00
artemp
ee7f72dcce + fix compilation issue 2012-07-06 14:03:44 +01:00
Dane Springmeyer
c44b92193f serialize all properties shared by all symbolizers 2012-07-05 17:23:48 -07:00
Dane Springmeyer
9beceae298 shuffle base parsing for shields so it is clearer the call is being made 2012-07-05 17:10:00 -07:00
Dane Springmeyer
2f45de8fea serialize comp-op in save_map - refs #1292 2012-07-05 17:06:41 -07:00
Dane Springmeyer
0de815ba03 remove raster mode serialization and a few std::clog references in save_map and load_map 2012-07-05 16:07:38 -07:00
Dane Springmeyer
9dd69d091b merge with master 2012-07-05 15:40:16 -07:00
Dane Springmeyer
d8c719f05e finish exposing scale_factor to cairo_renderer 2012-07-05 14:54:58 -07:00
Dane Springmeyer
f7383b81fb properly pass the scale_factor to the cairo_renderer_base 2012-07-05 11:12:46 -07:00
artemp
59c1f9ac21 + inherit stroke, stroke-width and fill if provided in markers_symbolizer 2012-07-05 17:17:35 +01:00
artemp
9d756165e0 + update to work with optional stroke (markers) 2012-07-05 17:16:11 +01:00
artemp
847f284a97 + make stroke and fill optional
+ return expression_ptr by const ref
+ change init order
2012-07-05 17:11:52 +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
Hermann Kraus
6af5fd7151 Merge branch 'master' of github.com:mapnik/mapnik 2012-07-04 21:00:59 +02:00
Hermann Kraus
82d7a63ef6 Replace remaining parse_expression() calls.
Closes #1168.
2012-07-04 20:59:36 +02:00
Hermann Kraus
dd9276b1ef Reuse expression grammar for TextSymbolizer.
Refs #1168.
2012-07-04 20:55:03 +02:00
Hermann Kraus
7a967d7047 Correctly perform get_text() on <xmltext> nodes. 2012-07-04 20:51:34 +02: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
artemp
8ab8f7c420 + add missing miterlimit (grid,cairo) 2012-07-04 10:07:37 +01:00
Dane Springmeyer
7d9b4ce0da settle upon 'geometry-transform' naming - refs #1276 2012-07-03 18:34:11 -07:00
Dane Springmeyer
e4ff79d8d8 re-implement f866ab1f80 and da53af5c98 (re-closing #1277) since somehow these commits dissapeared from master 2012-07-03 18:04:35 -07: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
artemp
290bf735da + use BOOST_FOREACH 2012-07-03 13:38:07 +01:00
artemp
4b9346ab5f + better name for boolean member to avoid clashing with object name. 2012-07-03 12:45:07 +01:00
artemp
a6784270bb + pass args by const ref 2012-07-03 11:16:10 +01:00
artemp
134dc5bbf1 Merge branch 'master' into transform-rename
Conflicts:
	src/load_map.cpp
2012-07-02 15:37:13 +01:00
artemp
7d2c695849 + remove unused font_manager_ 2012-07-02 13:28:40 +01: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
9888ff0d50 remove geometry type tests for postgis that are not longer valid with postgis 2.0 2012-06-29 16:52:54 -07:00
Dane Springmeyer
8412fdbbe6 Merge branch 'master' of github.com:mapnik/mapnik 2012-06-29 16:36:55 -07:00
Dane Springmeyer
da53af5c98 avoid passing empty file attributes into the renderer - closes #1277 2012-06-29 16:36:43 -07:00
Hermann Kraus
512a9af53f Fix font scaling.
Refs #1273.
2012-06-30 01:28:56 +02:00
Dane Springmeyer
f866ab1f80 no need to catch image_reader_exception any more during load map because all errors are now at runtime due to path expressions 2012-06-29 16:21:52 -07:00
Dane Springmeyer
5c9186017b rename 'image-transform' to just 'transform' (for backward compatibility) and call transforms applied to geometries 'view-transform' 2012-06-29 15:59:56 -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
Dane Springmeyer
ef893b5b5f comment on why we use center for justify_alignment 2012-06-29 11:43:37 -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
artemp
bf60dd9299 + don't call 'set_character_sizes' - alredy set in processed_text.cpp:L77 2012-06-29 10:36:10 +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
5519648989 + inflate extent to match agg renderer 2012-06-28 11:58:54 +01:00
Artem Pavlenko
bfa7052e84 + markers: fix stock arrow's transformations 2012-06-27 13:46:52 +01:00
Artem Pavlenko
eb686c6582 + cairo : sync building_symbolizer output with agg 2012-06-26 17:15:11 +01:00
Artem Pavlenko
cec9b5798e Revert "cleaner approach to a compile time magic alpha number for grid buffers"
(doesn't link : clang version 3.2 (trunk 158601))

This reverts commit 98753db9fd.
2012-06-26 16:53:07 +01:00
Artem Pavlenko
f8a7d06034 Merge remote-tracking branch 'origin/master' 2012-06-26 15:02:28 +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
98753db9fd cleaner approach to a compile time magic alpha number for grid buffers 2012-06-25 17:57:52 -07:00
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