85 Commits

Author SHA1 Message Date
artemp
a8991cd600 refactor clipping_extent into separate header for sharing 2014-08-05 17:22:13 +01:00
artemp
2c3173c1aa support halo-comp-op property (#2267) 2014-06-17 15:11:34 +01:00
Dane Springmeyer
2c661ed3d5 support for render time variables 2014-05-11 13:08:24 -07: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
ecf8c20938 completely fix (across various g++ versions) clipping regression - closes #2049 2013-10-23 18:09:22 -07:00
Dane Springmeyer
78f7de16b8 apply bbox clipping fix to shield symbolizer as applied to text in 96fff72837ec2fde - refs #2049 2013-10-23 17:39:46 -07:00
artemp
7adee4ab36 c++11 : remove boost::make_shared includes 2013-10-17 15:09:56 +01:00
Dane Springmeyer
0224ce3019 add support for seamless blurring - closes #1478 2013-10-03 16:37:09 -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
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
32760318a4 iwyu 2013-01-03 23:19:54 -08:00
Dane Springmeyer
a27b95558b remove uneeded includes 2012-10-03 13:48:05 -07: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
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
c677b4f47c ensure the bounds used for avoid-edges and minimum-padding is non-buffered - refs #1283 2012-07-04 18:34:04 -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
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
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
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
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
Artem Pavlenko
1b210ba456 + use compositing renderer for markers,points and shields 2012-05-15 16:13:08 +01:00
Artem Pavlenko
77dfac5622 + re-introduce transform on symbolizer_with_image 2012-05-01 16:47:33 +01:00
kunitoki
af201551b8 got rid of old CVS $Id comments kludge in files 2012-04-08 02:45:01 +02:00
Artem Pavlenko
40b9553722 + add clipping to text/shield/markers
Conflicts:

	include/mapnik/symbolizer_helpers.hpp
2012-03-09 12:54:13 +00:00
Hermann Kraus
b4eddaab24 Move variables from text_placements_info to placement_finder.
Reuse placement_finder objects.
Pass feature to placement_finder.
Refs #1048.
2012-03-04 01:49:01 +01:00
Hermann Kraus
46f80cc6aa Use double instead of int and avoid rounding when possible.
Closes #1078.
2012-02-20 19:32:34 +01:00
Hermann Kraus
bb3ad18c95 Rename starting_{x,y} to center to reflect actual meaning. 2012-02-18 13:07:23 +01:00
Hermann Kraus
7b22d69932 Revert "+ fix shield/text positioning - we still need to floor both text and shield"
floor is removed from position calculation now, resulting in better marker and text matching.
Refs #1078.

This reverts commit 009a1e45a75836385dd6318ac5cc9cc0d2b26c35.
2012-02-17 00:59:20 +01:00
Artem Pavlenko
009a1e45a7 + fix shield/text positioning - we still need to floor both text and shield
position for consistent rendering.
2012-02-15 23:27:33 +00:00
Dane Springmeyer
17d13cff67 whitespace fixes - closes #911 2012-02-01 17:53:35 -08:00
Dane Springmeyer
07d7d7d537 convert to using feature_ptr rather than const& for renderers 2012-02-01 16:37:05 -08:00
Hermann Kraus
09459683e9 Update symbolizer helpers for ShieldSymbolizer.
Correctly handle point placement for TextSymbolizer. (Tries each possible placement for each point).
2012-01-29 04:49:02 +01:00
Hermann Kraus
dbc1280731 Process more than one geometry.
Start work on ShieldSymbolizer.
2012-01-26 20:05:38 +01:00
Hermann Kraus
fdd58903f9 Disable rendering of TextSymbolizer and ShieldSymbolizer.
This avoids breaking compiles with the next changes.
2012-01-22 18:24:28 +01:00
Hermann Kraus
5fd7035527 Move font engine functions from .hpp to .cpp. 2012-01-21 01:47:02 +01: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
kunitoki
f1fb0c1939 - 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
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
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
Hermann Kraus
8474976353 Prepare for merging "text_placement_info" and "placement". 2011-05-30 01:16:21 +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