Commit graph

379 commits

Author SHA1 Message Date
Dane Springmeyer
758428a2ca add support for rendering svg icons with point placement in markers symbolizer (originally markers just supported special line placement) - closes #953 - refs #952 2011-11-16 09:56:35 -08:00
Dane Springmeyer
6257ac57c9 sqlite: futher refactoring of sqlite plugin, allowing all tests to pass 2011-11-03 19:51:37 -04:00
Dane Springmeyer
d965bcbeae sqlite: futher refactoring of sqlite plugin, allowing all tests to pass 2011-11-03 19:51:37 -04:00
Artem Pavlenko
a35b9c4eaa add support for fractional text size
( use FT_Set_Char_Size )
NOTE: ensure it works as expected, currently
I see different results from different fonts.
2011-10-28 11:24:08 +01:00
Artem Pavlenko
87c1d126b8 add support for fractional text size
( use FT_Set_Char_Size )
NOTE: ensure it works as expected, currently
I see different results from different fonts.
2011-10-28 11:24:08 +01:00
kunitoki
f1fb0c1939 - fix copyright to 2011 (script to do this will follow) 2011-10-23 15:04:25 +02:00
kunitoki
596757a269 - fix copyright to 2011 (script to do this will follow) 2011-10-23 15:04:25 +02:00
Artem Pavlenko
986edc3c6e Merge pull request #909 from MapQuest/expose-label-collision-detector
Exposed the label collision detector
2011-10-21 12:20:21 -07:00
Artem Pavlenko
c7e1174d6b Merge pull request #909 from MapQuest/expose-label-collision-detector
Exposed the label collision detector
2011-10-21 12:20:21 -07:00
Matt Amos
a2b4f9db59 Use make_shared as suggested by coding guidelines. 2011-10-13 19:34:28 +01:00
Matt Amos
b5c4bb77de Exposed the label collision detector outside the agg_render object
and via Python, allowing detectors to be re-used across renderings.
2011-10-12 01:05:35 +01:00
Matt Amos
3f47de0e81 Fixed bug in shield line placement when dx/dy are used to shift
the label relative to the placement point.
2011-10-12 01:02:28 +01:00
Artem Pavlenko
a88a49960d + update shield-symbolizer to use 'transformed' label extent (#808) 2011-09-25 17:58:13 +00:00
Artem Pavlenko
12072606d6 + fixed bounding box calculation to use transform (#808) 2011-09-23 15:52:32 +00:00
Alberto Valverde
4ff5404a57 added includes for config.hpp (PROJ_ENEVLOPE_POINTS) 2011-09-16 14:35:47 +00:00
Alberto Valverde
4444907855 ported warer warping functionallity to cairo renderer. Closes #887 2011-09-16 14:34:14 +00:00
Alberto Valverde
97431c8de4 made mesh_size configurable 2011-09-16 12:21:21 +00:00
Alberto Valverde
dd5713740d support for other filters other than bilinear when warping rasters. default near scaling is about 20% faster than before. However, for some reason, bilinear is nor about 300% slower 2011-09-16 11:09:08 +00:00
Alberto Valverde
ec11ba8311 fixed calculation of target polygon when warping rasters. Shrinked rasterizer window back to pre r3344 size since it was to mask artifacts due to the badly calculated polygon 2011-09-15 08:29:59 +00:00
Alberto Valverde
e6cb8eb8b3 slightly larger rasterizer window for better quality 2011-09-14 16:25:10 +00:00
Alberto Valverde
66b66d0754 using define for PROJ_ENVELOPE_POINTS 2011-09-14 16:22:23 +00:00
Alberto Valverde
85c165d327 reverted to old calculation of scale_method 2011-09-14 12:36:09 +00:00
Alberto Valverde
a7c12a3765 removed redundant bounds checks (I asuume AGG already makes sure not to write outside the buffer). Moved object creation from inside loop 2011-09-14 11:50:06 +00:00
Alberto Valverde
ad31aa717a better bounds checking 2011-09-14 00:13:46 +00:00
Alberto Valverde
785303f2dc not using coords of center of pixel since it is now in origin coordinates 2011-09-13 23:55:04 +00:00
Alberto Valverde
1edc6ceceb using AGG for interpolating when warping (for real now) 2011-09-13 23:48:55 +00:00
Alberto Valverde
226e382214 projecting map extent before calculating resolution in order to obtain sensible values. Commented out AGG interpolating when warping because it doesn't work. I must have been linking against the wrong thing when developing, sorry, will fix tomorrow 2011-09-13 23:20:51 +00:00
Alberto Valverde
5508af6b76 typo 2011-09-13 17:14:36 +00:00
Alberto Valverde
6ffbd07174 use AGG for interpolation when warping rasters 2011-09-13 15:41:39 +00:00
Dane Springmeyer
6968adaf40 remove unneeded clip 2011-09-13 01:44:08 +00:00
Dane Springmeyer
9bda9c7019 support raster reprojection - adapted from work at https://github.com/albertov/mapnik2/ - nice work alberto and meteogrid - closes #663 2011-09-12 18:41:44 +00:00
Dane Springmeyer
3ad234bce8 early return from rendering text labels if polygon width does not meet minimum threashold - refs #840 2011-09-10 08:50:07 +00:00
Dane Springmeyer
67d7a3a6f0 add alternative line rasterizer that can be enabled to draw faster lines at the expense of dropping short geometries - for thin lines has nicer look but should not be used with think lines - refs #873 2011-09-09 23:45:49 +00:00
Dane Springmeyer
6003a647f3 add needed include for evaluating expressions to prepare for moving feature_style_processor to cpp file 2011-09-01 00:43:46 +00:00
Dane Springmeyer
abcba2bc34 #759 is fixed, revert r3008 2011-07-16 00:25:30 +00:00
Robert Coup
8e8f43e50f Fix incorrect blending of rasters with alpha channel. Use pixfmt_rgba32_plain rather than pixfmt_rgba32, and undo old changes to blender_rgba<>::blender_pix which aren't needed anymore. Thanks @rfw, @cdestigter, @albertov [fixes #759] 2011-07-15 03:59:44 +00:00
Dane Springmeyer
f156e147d3 rollback to using pre r2543 methods for bilinear scaling (non agg) - to be used until #759 is resolved 2011-07-07 21:24:17 +00:00
Dane Springmeyer
476e04c4c7 add gamma to polygon-pattern-symbolizer, useful for avoiding AA affects at tile edges so that global patterns can have seamless alignment 2011-06-28 22:37:35 +00:00
Dane Springmeyer
4dde8e8d9e warning if non svg file passed to markers_symbolizer 2011-06-24 20:34:21 +00:00
Hermann Kraus
8474976353 Prepare for merging "text_placement_info" and "placement". 2011-05-30 01:16:21 +00:00
Dane Springmeyer
3469c20f1c adapt to new svg renderer template 2011-05-17 06:19:41 +00:00
Dane Springmeyer
b578c02c54 make renderer type a template argument of agg svg renderer 2011-05-17 06:18:06 +00:00
Alberto Valverde
d5dafdc2be reverted patch which was committed by mistake 2011-05-12 18:11:16 +00:00
Alberto Valverde
0e0c4aa82c integrated test case from #759 2011-05-12 18:09:03 +00:00
Dane Springmeyer
90fbd6a204 use boost::make_shared to avoid explicit new and ensure fast and exception safe allocation 2011-05-10 21:09:54 +00:00
Artem Pavlenko
53c8225246 + Shield/text misalignment patch from Ldp
( http://trac.mapnik.org/ticket/739 )
2011-05-10 21:05:40 +00:00
Artem Pavlenko
498809dde8 + don't scale shield (scale_factor is applied in agg_renderer<T>::render_marker) 2011-05-09 13:51:50 +00:00
Dane Springmeyer
f925c395e5 apply patch from kevin for #756 2011-05-06 00:33:49 +00:00
Dane Springmeyer
d05b0c539f apply major refactor of RasterColorizer by ben moores from https://github.com/BenMoores/mapnik-trunk/wiki/RasterColorizer - closes #523 2011-05-04 00:20:17 +00:00
Dane Springmeyer
2c275729b1 initialize variables 2011-05-03 21:38:35 +00:00
Dane Springmeyer
157d52e38f add option to collect the total extent of all placement bboxs to enable passing along to metawriters - modified patch from kevin.kreaiser - closes #755 2011-04-30 00:06:27 +00:00
Dane Springmeyer
9da2d701a5 further template the svg_renderer based on pixfmt 2011-04-26 17:38:18 +00:00
Dane Springmeyer
2699ba42d0 avoid unused parameter compiler warnings 2011-04-04 04:35:28 +00:00
Dane Springmeyer
eafac7fc7b comment out currently unused agg renderer headers 2011-04-01 06:14:55 +00:00
Dane Springmeyer
14068cad23 move segment y_order sort to header that can be used by each renderer 2011-03-22 00:02:50 +00:00
Hermann Kraus
714f918332 Fix indentation. 2011-02-28 13:29:39 +00:00
Hermann Kraus
4af0696b9d Add support for multiple placements.
NOTE: In some places indention is not updated to keep this patch readable. This will be fixed in the next revision.
2011-02-28 13:17:46 +00:00
Dane Springmeyer
545960a340 fix point_placement enum checking 2011-02-24 18:05:07 +00:00
Dane Springmeyer
a317c5d051 add 'capitalize' option to text-transform - closes #715 2011-02-21 20:43:26 +00:00
Artem Pavlenko
046d99f3be + remove debug printout 2011-02-02 15:09:54 +00:00
Dane Springmeyer
fd2d9d7ff3 enable aliased lines using stroke-gamma for line_symbolizer - closes #689 2011-02-02 01:46:14 +00:00
Dane Springmeyer
75649b8863 add 'interior' point placement option to point_symbolizer - closes #709 2011-02-01 08:16:32 +00:00
Dane Springmeyer
e803b1c2ec add 'interior' placement option to text_symbolizr - patch from Toby Collet - closes #709 2011-02-01 08:13:08 +00:00
Robert Coup
bea611a185 Fix positioning problem with scale() transforms for SVG symbols. Centering transform applied in the wrong order. Thanks to Toby Collett. 2011-01-31 09:56:31 +00:00
Dane Springmeyer
5bf6efafb0 apply patch from Craig de Stigter for better scaling methods using agg image filters - closes #656 2011-01-27 03:47:54 +00:00
Dane Springmeyer
57f15aa74e forward declare agg:trans_affine and mapnik::marker classes to allow compiling against libmapnik without agg headers - see #703 2011-01-26 09:19:00 +00:00
Robert Coup
386a4f5daf #654 - add support for linear and radial gradients in SVG symbols. Thanks to Toby Collett for the coding & Paul Wicks for funding. 2011-01-26 01:18:40 +00:00
Dane Springmeyer
7955178468 respect alpha of symbolizer for LINE placement as well as POINT and VERTEX placement 2010-12-10 22:31:57 +00:00
Artem Pavlenko
6713df5937 + if avoid_edges=true check 'contains' using un-buffered extent. 2010-11-22 11:25:36 +00:00
Artem Pavlenko
d5f0a497a8 + auto detect paths orientation
+ not need to set clip box on rasterizer it's
  already set (fixes gap when label is overlapping border)
2010-11-10 14:40:05 +00:00
Artem Pavlenko
ab101401cd + simplify geometry implementation
+ removed multiple geometry typedefs
+ use geometry_type
+ revert to storing vertices in vector_vertex
  (previous implementation using std::vector was
   fragmenting heap causing performance issues with large geometries)
+ FIXME: hit_test is broken!
2010-11-03 13:19:15 +00:00
Dane Springmeyer
3011f53205 add support to PointSymbolizer for 'ignore_placement' - #564 2010-10-15 02:15:40 +00:00
Dane Springmeyer
c8d5280b00 only render stroke on markers if it actually has a width 2010-10-15 00:12:51 +00:00
Artem Pavlenko
2f84e31e09 + revert using shield displacement in placement_finder
+ correct shield placement logic
   (TODO: ensure scale_factor works correctly)
2010-10-05 11:41:07 +00:00
Artem Pavlenko
4dbafdcec0 + apply scale_factor to shield/text displacement
+ fix recentering logic
2010-09-30 11:40:24 +00:00
Artem Pavlenko
8163be1cc2 + align text to pixel dim for svg shields 2010-09-27 10:07:21 +00:00
Artem Pavlenko
bbc797aeff + pass scale_factor to text placement 2010-09-27 09:58:30 +00:00
Artem Pavlenko
0727df6319 + recentre svg symbol before applying user transform 2010-09-27 09:58:21 +00:00
Artem Pavlenko
77da818cd9 + recentre SVG symbols before rendering
(todo: maybe better recentre SVGs at loading time)
2010-09-25 12:12:59 +00:00
Artem Pavlenko
71bfe37601 + align text placement to pixel boundary 2010-09-24 12:55:03 +00:00
Dane Springmeyer
c35310445a rename text_convert to text_transform to match css naming convention (also matching enums to css) 2010-09-18 19:10:18 +00:00
Artem Pavlenko
46f9a7188a + don't compensate dx/dy 2010-09-10 13:49:21 +00:00
Artem Pavlenko
acd05cb5cd + align text and shields to pixels 2010-09-10 13:15:34 +00:00
Artem Pavlenko
56bca0d194 + re-use placement for subsequent points 2010-09-10 13:15:06 +00:00
Dane Springmeyer
b307013ba2 add additional support for dynamically drawing ellipses in the markers_symbolizer, now supporting both line/point placement, metawriters for point placement, and width/height/stroke attributes - TODO - reflect in python bindings, buggy matrix transform for ellipses 2010-08-19 17:33:01 +00:00
Hermann Kraus
b6f839b0f1 Calculate exact bounding boxes for GlyphSymbolizer. 2010-08-13 00:51:58 +00:00
Hermann Kraus
7fea0f7a6c Metawriter support for LineSymbolizer and LinePatternSymbolizer 2010-08-12 21:39:29 +00:00
Hermann Kraus
fb4baa4fcf Metawriter support for LineSymbolizer and LinePatternSymbolizer 2010-08-12 19:12:15 +00:00
Marcin Rudowski
bd8f189bd1 fix raster blending, ported r2137, fixing #589 2010-08-12 06:59:35 +00:00
Hermann Kraus
5867aadb66 Metawriter support for ShieldSymbolizer. 2010-08-11 03:25:15 +00:00
Hermann Kraus
de5d191a02 Metawriter support for GlyphSymbolizer. 2010-08-10 12:44:29 +00:00
Hermann Kraus
30470bd52b Metawriter support for TextSymbolizer. 2010-08-10 12:19:19 +00:00
Hermann Kraus
035e99d2f0 Only initialize proj_transform once in metawriter_json_stream. 2010-08-02 12:14:27 +00:00
Dane Springmeyer
e021f27f96 explicitly convert doubles to int to avoid compiler warnings 2010-07-21 00:59:40 +00:00
Artem Pavlenko
c943447509 + fix comment 2010-07-19 11:10:20 +00:00
Artem Pavlenko
8b8e247e62 + add support for background-image attribute
( background image is repeated both vertically
   and horizontally )
2010-07-19 11:10:03 +00:00
Artem Pavlenko
c7770ce6b1 Scaled text of shield symbolizer
(cherry-picked from mapnik-resolution branch)
2010-07-14 13:51:27 +00:00
Hermann Kraus
d5b0432dd7 Many metawriter improvements:
- Easier to configure
- Correct JSON output
- Handling more than one renderer run (writing pre-/postamble is no longer done in constructor/destructor)
- Collect all attributes required by metawriters
2010-07-12 15:27:33 +00:00
Hermann Kraus
9a0bcf23be Added basic infrastructure for metawriter and support for JSON output (limited to PointSymbolizer atm) 2010-07-06 00:37:05 +00:00
Artem Pavlenko
70b2453065 + add explicit support for shield displacement
(NOTE:text displacement is relative shield!)
2010-06-28 21:32:30 +00:00
Artem Pavlenko
9b3809443c + fix naming style in mapnik::Map 2010-06-25 15:23:35 +00:00
Dane Springmeyer
83f91867bc remove raster_symbolizer and line_pattern_symbolizer from agg_renderer, moved to src/agg in r1929 2010-06-24 19:51:51 +00:00
Artem Pavlenko
36928706bb + apply scale_factor in building sym 2010-06-24 16:02:50 +00:00
Artem Pavlenko
b472808fb1 + refactor remaining processing methods in agg_renderer
+ move agg_renderer.cpp to src/agg
2010-06-24 15:57:25 +00:00
Dane Springmeyer
0959f8ef16 + add support to polygon_patter_symbolizer for global pattern alignment in addition to local/feature (default) alignment - closes #203 2010-06-20 22:36:49 +00:00
Dane Springmeyer
74850a4839 break out polygon_pattern_symbolizer 2010-06-20 03:56:03 +00:00
Dane Springmeyer
43bc58f158 break out text symbolizer 2010-06-19 21:01:30 +00:00
Dane Springmeyer
1566b486fa break out agg-based glyph, line, and polygon symbolizers 2010-06-19 20:52:44 +00:00
Dane Springmeyer
fd17b14120 restore rendering of default point_symbolizer square, useful for debugging 2010-06-19 20:32:00 +00:00
Artem Pavlenko
e645338237 + use FT_Stroker to stroke glyphs outlines
(we can have outlined text now!)
+ allow fractional halo_radius
+ TODO: Rename halo_fill to stroke
               halo_radius to stroke-width
+ TODO: Implement proper 'halo' effect
2010-06-16 15:15:13 +00:00
Artem Pavlenko
f7fe6dbf15 + apply opacity and text-opacity 2010-06-15 12:28:06 +00:00
Artem Pavlenko
f43c36daad + separate state mutating svg ops from underlying data
to allow multi-threded access to svg symbols (SVG commands
  are stored in std::vector<vertex_type> )
2010-06-14 16:38:02 +00:00
Artem Pavlenko
30b87400ca + put rasterizer def into sepatate header 2010-06-13 12:03:42 +00:00
Artem Pavlenko
7f03186cdf + don't recentre SVG markers 2010-06-10 16:35:01 +00:00
Artem Pavlenko
b1b730d94c + add middle_point() method
+ fixed 'point' positioning
  in shield_symbolizer
2010-06-10 16:34:52 +00:00
Artem Pavlenko
d39ed1d364 + apply scale_factor in agg_renderer 2010-06-10 14:12:28 +00:00
Artem Pavlenko
48921a412d + refactor (TODO!) 2010-06-08 11:14:31 +00:00
Artem Pavlenko
4a986bc5ff + format 2010-06-08 11:14:23 +00:00
Artem Pavlenko
2b3858df07 + cache SVG marker bounding box 2010-06-08 10:16:31 +00:00
Artem Pavlenko
c500451cd8 + refactor SVG parsing/rendering code into separate logical units
to facilitate multi-threading:
    * SVG data (todo: enforce const)
    * SVG parsing/reading mutable
    * SVG rendering (read-only access to the data)
2010-06-08 10:16:22 +00:00
Artem Pavlenko
f67f6c4ec1 + add transformation matrix support 2010-06-03 12:36:00 +00:00
Artem Pavlenko
bc5730f006 + shield_symbolizer: support SVG images rendering
TODO: This is a first take, proper refactoring required!!!
2010-06-03 12:35:51 +00:00
Artem Pavlenko
5e43fefdba + don't qualify with mapnik:: namespace 2010-06-03 12:35:43 +00:00
Artem Pavlenko
ac468f05c2 + removed commented out lines 2010-06-03 12:34:45 +00:00
Artem Pavlenko
6cc6eac442 + move marker init out of geometry loop 2010-06-02 12:53:23 +00:00
Artem Pavlenko
246731874b + apply 'mapnik-format' to *.cpp *.hpp 2010-06-02 11:03:30 +00:00
Artem Pavlenko
9069df6492 + cleanup 2010-06-02 10:53:13 +00:00
Artem Pavlenko
484dce8943 + impl transform parameter (follow SVG spec) in point_symbolizer 2010-06-01 15:27:19 +00:00
Artem Pavlenko
12b74bc1cc + split agg_renderer implementation into diff
translation units
2010-06-01 13:31:08 +00:00