Jordan Hollinger
3d1c30db1e
Extracted a lot of code from agg render process_group_symbolizer.
...
Move a lot of processing into a common process_group_symbolizer function.
Also, extract column collection out of process_group_symbolizer function.
This will reduce duplication needed for other renderers.
2014-02-18 15:06:40 -05:00
Matt Amos
efc29649ab
Added test for group symbolizer, fixed segfault.
...
Segfault was due to `glyph_position` structs keeping a pointer to
`glyph_info` objects which went out of scope at a different time.
The (rather ugly) fix for the moment is to copy that information
into the thunk object.
2014-02-18 14:06:05 -05:00
Jordan Hollinger
76329028d2
Find placements and render in process_group_symbolizer.
...
Create a group_symbolizer_helper for group placments, and extract some code from
text_symbolizer_helper into a base class to share with group_symbolizer_helper.
Also, move tolerance_iterator into its own header file. Use helper in
process_group_symbolizer to find placement positions.
2014-02-18 14:01:04 -05:00
Matt Amos
1ccdc5b76d
Added code to render frozen thunks.
...
This renders the saved information from previous calls to the
bounding box extraction code, offset by some amount which should
be determined from running the `placement_finder`. Note that this
doesn't implement that bit, just the rendering.
2014-02-18 11:11:07 -05:00
Matt Amos
b85e7d0764
Added method to extract bounding boxes for symbolizers.
...
This is done by creating a fake 'virtual' environment at a fake
point and running the symbolizer render code. The actual render
is saved in a thunk for after the group layout has been done.
2014-02-18 11:11:06 -05:00
Jordan Hollinger
fbc2a0d1e3
Framework for group symbolizer.
...
This includes XML parsing of group symbolizer and related objects and
process_group_symbolizer method in the AGG renderer. This also includes
code to collect group symbolizer indexed columns, create sub features,
and match them to group rules.
2014-02-18 11:07:52 -05:00
Dane Springmeyer
89f72f02e8
pass feature to vertex_converters - refs #2148/#2140
2014-02-08 22:10:14 -08:00
Dane Springmeyer
83bde5fef2
use premultiplied renderer for points/shields - closes #2117
2014-01-22 22:44:33 -08:00
Dane Springmeyer
7bcbcb0c4f
use premultiplied renderer for points/shields - closes #2117
2014-01-22 22:44:04 -08:00
Dane Springmeyer
4731baab93
use premultiplied renderer for points/shields - closes #2117
2014-01-22 22:43:34 -08:00
artemp
3628b5f237
halo-transform initial impl
2014-01-17 11:47:18 +00:00
Matt Amos
ceaea9a948
Factored out common implementation of polygon symbolizer.
2013-12-09 20:42:00 +00:00
Matt Amos
dd9584bdd6
Factored out markers symbolizer logic.
...
It's not ideal - there's still a bunch of "dispatch" objects from
which the common elements could be factored for greater
readability.
2013-12-09 18:50:00 +00:00
Matt Amos
f01953e8f7
Factored out common implementation of raster symbolizer.
2013-12-06 18:09:24 +00:00
Matt Amos
da5574d247
Factored out common implementation of point symbolizer.
2013-12-06 17:30:06 +00:00
Matt Amos
05982c4caf
Factored out common code for building symbolizer.
...
There's a lot of code common between symbolizers which do things
like layout, setup, etc... So it seems sensible to extract the
common operations & loops into a single place which is
independent of the actual renderer.
I've started doing this with C++11 lambdas, although that might
not be the best implementation long term. Should be easy enough
to change, though.
2013-12-06 16:33:26 +00:00
Matt Amos
a76e441174
Factored out common renderer fields.
...
The idea here is that much of the code in the renderers and the
various `process_*` rendering methods is shared, but this sharing
is obfuscated by the lack of sharing of renderer fields and
methods.
This is the first step in trying to factor out commonalities in
order to simplify the implementation of the renderers and make
them easier to understand and modify.
2013-12-05 16:21:55 +00:00
Dane Springmeyer
e9ca9c8790
symbolizer-expressions replayed against latest master
2013-11-27 22:50:15 -08:00
Dane Springmeyer
64d5153aea
Improved support for international text
...
- Implementation by @herm for GSOC 2012 (http://mapnik.org/news/2012/10/06/gsoc2012-status9/ )
- C++11 port, improvements, optimizations by @artemp
- Testing and integration with master by @springmeyer
- Thank you to all the support from @behdad along the way
- Thanks for help testing @toton6868, @stephankn, @nirvn, @mfrasca, @simonsonc and many others
Refs: #2073,#2070,#2038,#2037,#1953,#1820,#1819,#1714,#1634,#1547,#1532,#1319,#1208,#1154,#1146
2013-11-22 00:06:32 -08:00
Dane Springmeyer
c7a6265869
organize text code in subdirectory
2013-11-07 20:09:22 -08:00
Dane Springmeyer
08fa9fd8ec
Merge branch '2.3.x' of github.com:mapnik/mapnik
...
Conflicts:
bindings/python/mapnik_building_symbolizer.cpp
bindings/python/mapnik_debug_symbolizer.cpp
bindings/python/mapnik_line_pattern_symbolizer.cpp
bindings/python/mapnik_line_symbolizer.cpp
bindings/python/mapnik_markers_symbolizer.cpp
bindings/python/mapnik_point_symbolizer.cpp
bindings/python/mapnik_polygon_symbolizer.cpp
bindings/python/mapnik_python.cpp
bindings/python/mapnik_raster_symbolizer.cpp
bindings/python/mapnik_shield_symbolizer.cpp
bindings/python/mapnik_symbolizer.cpp
2013-11-07 09:21:05 -08:00
Dane Springmeyer
0250538149
add support for geometry-transform in pattern symbolizers - closes #2065
2013-11-05 16:40:09 -08:00
artemp
3837c68762
use non-zero filling rule when rasterising lines
2013-10-29 12:26:33 +00:00
artemp
2eaf6a1ead
use even/odd polygon filling rule ref https://github.com/mapbox/tilemill/issues/2110
2013-10-28 15:57:35 +00:00
Dane Springmeyer
730f8e36e2
remove dead code
2013-10-23 18:24:35 -07:00
Dane Springmeyer
f14854912c
backport ecf8c20938
from master
2013-10-23 18:24:04 -07:00
Dane Springmeyer
ecf8c20938
completely fix (across various g++ versions) clipping regression - closes #2049
2013-10-23 18:09:22 -07:00
Dane Springmeyer
cb04fc0b34
apply bbox clipping fix to shield symbolizer as applied to text in 96fff72837
- refs #2049
2013-10-23 17:41:24 -07:00
Dane Springmeyer
bc2ee11d9a
fix text related test failures on ubuntu precise/g++-4.7 - refs #2049
2013-10-23 17:41:15 -07:00
Dane Springmeyer
78f7de16b8
apply bbox clipping fix to shield symbolizer as applied to text in 96fff72837
- refs #2049
2013-10-23 17:39:46 -07:00
Dane Springmeyer
96fff72837
fix text related test failures on ubuntu precise/g++-4.7 - refs #2049
2013-10-24 00:33:26 +00:00
Dane Springmeyer
8272b0b3db
remove dead code
2013-10-22 21:13:02 -07:00
artemp
7adee4ab36
c++11 : remove boost::make_shared includes
2013-10-17 15:09:56 +01:00
artemp
3edfc69c81
== c++11
...
use std::tuple with std::get<>
2013-10-11 12:36:04 +01:00
artemp
7f035f9226
+ remove unused vertex tags
2013-10-10 13:43:59 +01:00
Dane Springmeyer
ddf2226b6f
merge with branch 2.3.x
2013-10-05 15:37:29 -07:00
Dane Springmeyer
0224ce3019
add support for seamless blurring - closes #1478
2013-10-03 16:37:09 -07:00
Dane Springmeyer
8e9028e931
use std::fabs not fabs
2013-10-03 13:28:42 -07:00
Dane Springmeyer
681f8853d3
pull in changes from master
2013-09-24 22:57:01 -07:00
artemp
09ce29489e
use const std::unique_ptr<> instead of boost::scoped_ptr<>
2013-09-20 14:22:58 +01:00
artemp
b315eb2167
+ use std::shared_ptr and std::make_shared
2013-09-20 14:01:27 +01:00
Dane Springmeyer
9df4deac73
consistent use of agg::rgba8_pre to construct premultiplied colors - refs #2011
2013-09-19 19:41:46 -07:00
Dane Springmeyer
5b78b6b2dc
fix #2011
2013-09-19 19:19:11 -07:00
artemp
ec0bdb21ad
Merge branch 'geometry-types' into c++11
2013-09-16 14:18:22 +01:00
artemp
b690015d63
Merge branch 'master' into c++11
2013-09-09 12:32:47 +01:00
Dane Springmeyer
c5dd5487a5
Merge pull request #1966 from mapnik/background-image-comp-op
...
Map background-image-comp-op and background-image-opacity
2013-09-05 12:25:47 -07:00
artemp
d4b9a48cb1
+ geometry::types Exterior/Interior polygon loops
2013-09-03 12:15:31 +01:00
artemp
4f4e2b001e
Merge branch 'master' into c++11
...
Conflicts:
SConstruct
benchmark/run.cpp
bindings/python/mapnik_datasource.cpp
bindings/python/mapnik_feature.cpp
bindings/python/python_optional.hpp
include/mapnik/css_color_grammar.hpp
include/mapnik/expression_grammar.hpp
include/mapnik/feature.hpp
include/mapnik/feature_style_processor_impl.hpp
include/mapnik/image_filter_types.hpp
include/mapnik/image_util.hpp
include/mapnik/json/geometry_generator_grammar.hpp
include/mapnik/json/geometry_grammar.hpp
include/mapnik/processed_text.hpp
include/mapnik/tiff_io.hpp
include/mapnik/util/geometry_svg_generator.hpp
include/mapnik/util/geometry_wkt_generator.hpp
include/mapnik/utils.hpp
include/mapnik/webp_io.hpp
include/mapnik/wkt/wkt_grammar.hpp
plugins/input/shape/shape_datasource.cpp
plugins/input/shape/shapefile.hpp
src/expression_grammar.cpp
src/expression_string.cpp
src/image_util.cpp
src/json/feature_collection_parser.cpp
src/json/feature_parser.cpp
src/miniz.c
src/symbolizer_helpers.cpp
src/tiff_reader.cpp
src/webp_reader.cpp
tests/cpp_tests/geometry_converters_test.cpp
tests/cpp_tests/image_io_test.cpp
tests/cpp_tests/map_request_test.cpp
tests/python_tests/image_test.py
tests/visual_tests/test.py
2013-08-30 09:46:09 +01:00
Petr Dlouhý
69185339a5
offset enabled for LinePatternSymbolizer
2013-08-22 10:35:44 +02:00
Dane Springmeyer
78b4980352
finish exposing mapnik.Feature.from_geojson
2013-07-30 15:45:46 -04:00
Dane Springmeyer
fad9af5263
add support for applying custom comp_op and opacity when blending map background image into background color at render time - refs mapnik/mapnik-support#8
2013-07-25 01:00:38 -04:00
Dane Springmeyer
6269b42ffc
iwyu
2013-07-23 18:41:59 -04:00
Dane Springmeyer
4d3ab5e3aa
agg_renderer: remove uneeded define of AGG_RENDERING_BUFFER row_ptr_cache<int8u> since it is already hardcoded in agg_renderer_buffer.h and agg_config.h
2013-07-22 14:49:10 -04:00
Dane Springmeyer
f999615cec
ensure agg rendering buffer uses proper dimensions since these may become more dynamic in the near future - refs #1478
2013-07-19 01:29:01 -04:00
Dane Springmeyer
8634a04938
add support for drawing all geometry verticies with debug symbolizer mode=vertex and expose in python - closes #1848
2013-05-21 19:21:35 -07:00
artemp
58927b404c
c++11
...
+ replace BOOST_FOREACH with for( : )
+ remove boost/foreach.hpp
+ fix benchmarks (17,18)
2013-04-24 16:40:35 +01:00
Hermann Kraus
fe526fd3d6
Fix PointSymbolizer collision bounding boxes.
2013-03-24 15:50:18 +01:00
artemp
aa122ea907
+ local vars locality
2013-03-22 11:54:34 +00:00
Dane Springmeyer
4e6b6d5a62
ensure the line clipping box is padded using scale_factor as well - closes #1767
2013-03-19 16:15:50 -07:00
Dane Springmeyer
7d868558d7
fix a variety of msvc compiler warnings about signed/unsigned implicit conversion
2013-03-15 13:37:48 -07:00
Dane Springmeyer
44c02a10c5
reduce overhead of flexible agg gamma setting per symbolizer - closes #1174
2013-03-14 17:05:06 -07:00
Dane Springmeyer
06803de192
iwyu
2013-03-14 15:13:02 -07:00
Dane Springmeyer
6cbceafc45
avoid direct freetype usage in core/public hpp file so that mapnik C++ depedencies do no need to known the freetype include paths
2013-03-12 18:12:54 -07:00
Dane Springmeyer
20fcdc8034
iwyu
2013-03-12 16:56:47 -07:00
Dane Springmeyer
b8de6e6f34
no need for an intermediate bbox for rasters
2013-03-08 20:55:45 -08:00
Dane Springmeyer
e66d007627
add halo-rasterizer option for text symbolizer
...
- closes #1298
- allows for much faster halo drawing and simliar quality for
radius values in the 1-2 px range
- also moves grid_renderer away from using freetype stroker completely
since halo quality is not critical for this renderer
2013-03-08 20:32:39 -08:00
Dane Springmeyer
76042a1700
parse and setup ability to known original, declared svg width/height - refs #1122
2013-03-08 17:40:19 -08:00
Dane Springmeyer
2fcd531345
pixel snap raster markers and svg files loaded from the file system - partially addresses #1316
2013-03-08 16:24:41 -08:00
Dane Springmeyer
198dbcd4ca
fix raster alignment post #1748
2013-03-06 17:53:13 -08:00
Dane Springmeyer
c36795e0a9
respect both sx and sy in setting up affine transform for raster scaling since they may be different - closes #1748
2013-03-06 17:41:20 -08:00
artemp
e9f03a565f
+ explicit polygon path closing
2013-03-01 11:08:58 -05:00
artemp
918174c127
+ don't consider x,y from SEG_CLOSE (clipper init them to 0's)
2013-03-01 11:08:58 -05:00
Dane Springmeyer
7b9f9fe260
fix logic error causing direct-image-filters to not be enabled unless normal image-filters are also enabled
2013-02-28 15:26:27 -05:00
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