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