Commit graph

899 commits

Author SHA1 Message Date
Dane Springmeyer
383d8a3f15 add proj_transform forward/backward box2d implementation 2011-04-13 19:40:44 +00:00
Dane Springmeyer
903d1b49ef add a clip method to mapnik::box2d 2011-04-13 19:19:23 +00:00
Artem Pavlenko
7191d56a16 + throw image_reader_exception if we can't read tiff file
+ catch image_reader_exceptions in raster.input
+ re-throw in bind()
2011-04-11 21:17:10 +00:00
Artem Pavlenko
0e0b7a578c + implement memory mapping using boost::interprocess
+ cache mapped memory regions for re-use
2011-04-06 13:02:31 +00:00
Dane Springmeyer
2699ba42d0 avoid unused parameter compiler warnings 2011-04-04 04:35:28 +00:00
Dane Springmeyer
33f6cbf13d jpeg reader: make to sure call jpeg_finish_decompress if scanlines have been read 2011-04-04 04:03:03 +00:00
Dane Springmeyer
2d1e2ef998 add valid() method to box2d, and comment subtraction override as it does not have any function currently 2011-04-04 03:50:09 +00:00
Dane Springmeyer
27cc2f0dc5 catch errors in build time pkg-config parsing - closes #738 2011-04-02 03:11:42 +00:00
Dane Springmeyer
8f4386b7b2 use dynamically allocated, scoped array instead of variable-size array, which ISO C++ forbids 2011-04-02 03:07:45 +00:00
Dane Springmeyer
470f48beab avoid compiler warning of 'cast between pointer-to-function and pointer-to-object is an extension' with clang/gcc 2011-04-02 00:43:20 +00:00
Dane Springmeyer
d0e98eb3f1 handle return of fread 2011-04-01 23:54:58 +00:00
Dane Springmeyer
c1a6a54060 remove tabs 2011-04-01 20:47:26 +00:00
Dane Springmeyer
b65c932ac0 avoid -pedantic warnings 2011-04-01 07:20:41 +00:00
Dane Springmeyer
84ea9e6101 avoid clang++ -pedantic compiler warnings 2011-04-01 06:24:57 +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
Artem Pavlenko
ec4ef1bb34 + add missing files from 735_metawriter_inmem.patch 2011-03-16 16:50:02 +00:00
Artem Pavlenko
e580078d26 + apply MetaWriter patch from zerebubuth
( see #735 for details )
2011-03-16 13:32:04 +00:00
Artem Pavlenko
b543d7f1f4 + add optional length parameter to allow
passing not-null terminated char strings
2011-03-16 13:31:56 +00:00
Robert Coup
8ace5b7e6b position shield symbolizer symbols centered (ie. with text), rather than top-left in cairo output. re #737 - thanks @jburgess for testing and @Ldp for the patch. 2011-03-15 22:25:37 +00:00
Dane Springmeyer
c93984f06f fix spelling 2011-03-15 20:50:30 +00:00
Hermann Kraus
f9040c6026 Show error message when invalid placement algorithm is selected. 2011-03-11 14:18:34 +00:00
Dane Springmeyer
4079fd7d08 make feature caching optional, and disabled by default (to avoid std::bad_alloc in low memory environments). Can be set as new layer property 'cache-features' - closes #657 2011-03-01 17:09:29 +00:00
Dane Springmeyer
efb19dea6c make the requirement of boost_regex unicode support optional by detecting if boost_regex was itself built with ICU support 2011-02-28 20:00:56 +00:00
Dane Springmeyer
2ea0340e2d avoid unintialized variable warnings in g++ 2011-02-28 18:30:38 +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
4206c46f58 revert unintended change 2011-02-25 21:02:33 +00:00
Dane Springmeyer
03ee4570be make sure to install svg and wkt include files - thanks kiorky for initial patch - closes #718 2011-02-25 21:00:05 +00:00
Dane Springmeyer
545960a340 fix point_placement enum checking 2011-02-24 18:05:07 +00:00
Artem Pavlenko
d5bcf8dccb + fix include paths
+ update src/SConscript
2011-02-24 15:54:59 +00:00
Artem Pavlenko
57db45095f + boost.spirit WKT parser using mapnik::geometry_type
as synthesized attribute.
2011-02-24 15:47:53 +00:00
Artem Pavlenko
93514d57a2 + add missing geometry types
+ correct geometry types in wkb reader
2011-02-24 15:47:36 +00:00
Dane Springmeyer
9d351be091 update cairo renderer to include text-transform 'captitalize' support 2011-02-21 20:46:07 +00:00
Dane Springmeyer
a317c5d051 add 'capitalize' option to text-transform - closes #715 2011-02-21 20:43:26 +00:00
Carlos López
83a7b4710e Fixed a bug that caused half of the vertexes to disappear from the SVG path.
+ mapnik::geometry_iterator was replaced by mapnik::svg::path_iterator
+ svg::path_output_grammar was simplified
+ the container for this grammar is now coord_transform2, instead of geometry
+ added typedef size_type to coord_transform2 and removed it from geometry
2011-02-14 03:40:25 +00:00
Dane Springmeyer
f348c489ad fix property names in load_map error response 2011-02-11 21:32:47 +00:00
Dane Springmeyer
a9cda83300 check XML attributes for markers_symbolizer 2011-02-09 07:51:52 +00:00
Dane Springmeyer
0d5d014474 *warning* breaking change: move to consisten use of dashes (see #644), and start validating property names by printing warning if they are not valid (closes #110) 2011-02-05 03:15:17 +00:00
Dane Springmeyer
154dc59c5a serialize all dashes, no underscores, as per #644 2011-02-05 03:11:09 +00:00
Dane Springmeyer
c5833a6db8 remove unmaintained autotools scripts 2011-02-04 22:22:16 +00:00
Artem Pavlenko
046d99f3be + remove debug printout 2011-02-02 15:09:54 +00:00
Dane Springmeyer
50532801f3 change min_distance and min_padding to minimum_distance and minimum_padding to match python and mimimum_version 2011-02-02 04:20:53 +00:00
Dane Springmeyer
c8b816e498 add missing serialization of marker width and height 2011-02-02 03:47:52 +00:00
Dane Springmeyer
3197bea9ee add missing serialization of max_char_angle_delta and label_position_tolerance 2011-02-02 03:42:15 +00:00
Dane Springmeyer
c52c91c98a serialize point_placement 2011-02-02 02:17:06 +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
7043c416fa enable if/else type behavior in rules using style level keyword to control whether all rules will be evaluated or just the first that matches - closes #706 - thanks to original patch from kkaefer 2011-02-01 22:55:50 +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
78ec8b1724 fix reading of height value for building_symbolizer - TODO: make expression (#704) 2011-01-28 20:46:49 +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
Dane Springmeyer
481aeb6c98 comment debug output 2011-01-26 09:17:01 +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
a79018d0a0 make sure to check relative paths behavior up front, and handle background-image properly - closes #702 2011-01-25 20:47:56 +00:00
Carlos López
85bfb11c03 SVG renderer grammars working with iterator of geometry, but generating wrong path vertexes (all vertexes are output as 0s). 2011-01-23 23:10:05 +00:00
Marcin Rudowski
5a55d99f9a making TextSymbolizer label placement consistant with agg renderer to give more similar output 2011-01-23 22:45:28 +00:00
Carlos López
bdfaee32a6 SVG_RENDERER is compiling now, but it won't generate path data, only simple svg tags.
+ It is working with vertex_vector, instead of vertex_vector2.
+ The body of every function related to path generation was commented out so mapnik would compile with SVG_RENDERER=True.
+ TODO: Create an iterator for geometry.
2011-01-22 06:47:20 +00:00
Artem Pavlenko
98b7f62155 + remove template from mapnik::rule
+ rename globaly rule_type -> rule
 ( ticket #552 )
2011-01-13 21:35:01 +00:00
Dane Springmeyer
d54a767dd4 make sure to put cairo/cairomm ldflags into the linkflags for the libmapnik environment 2011-01-13 20:32:19 +00:00
Dane Springmeyer
e0a765429f if a directory is not passed to register_fonts, then assume it is a font file and try registering it 2011-01-11 00:15:57 +00:00
Dane Springmeyer
2fa027855a don't return reference to temporary, and intialize metawriter values 2011-01-10 23:04:34 +00:00
Artem Pavlenko
be458e7ac0 + add support for boost::filesystem v3
(http://www.boost.org/doc/libs/1_45_0/libs/filesystem/v3/doc/deprecated.html)
2011-01-04 15:22:49 +00:00
Dane Springmeyer
47232c265a formatting 2010-12-15 00:42:37 +00:00
Dane Springmeyer
ed22d073c3 fix serialization of missing shield symbolizer properties 2010-12-11 02:07:47 +00:00
Dane Springmeyer
7fc193729c warn or throw if svg transform fails 2010-12-11 01:10:45 +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
Robert Coup
1acc54f1fb TextSymbolizer: make '\n' trigger line break. fixes #584. Thanks bcrosby for porting to trunk 2010-12-09 08:48:46 +00:00
Dane Springmeyer
0eb3718934 actually parse label_position_tolerance from xml 2010-12-01 17:40:33 +00:00
Dane Springmeyer
baaf8041bb scons: linking libmapnik to boost_system is required solaris in 64 bit 2010-12-01 02:49:06 +00:00
Artem Pavlenko
6713df5937 + if avoid_edges=true check 'contains' using un-buffered extent. 2010-11-22 11:25:36 +00:00
Dane Springmeyer
b71c75bdeb clang++ caught bug - we need to first call lt_dlinit. Also add better error output based on returns from dladvise functions and simplify compile flag 2010-11-19 23:02:58 +00:00
Lucio Asnaghi
ba034abb1f + support of WKB geometry collection 2010-11-18 21:52:20 +00:00
Lucio Asnaghi
23e1904dca + fixed bad errors when parsing wkb 2010-11-18 20:33:45 +00:00
Dane Springmeyer
0b1d68f1f6 if libtool >=2.x.x is available, utilize the ability to set dlopen flags, so that plugins can be registered on linux without direct linking or modifying dlopen flags at runtime (like we currently do in python bindings) 2010-11-17 19:45:51 +00:00
Lucio Asnaghi
86a248d443 - leverage building extent (box2d) from string: multiple usage in datasources 2010-11-14 14:38:43 +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
Dane Springmeyer
4f9dce9a0c only zoom to active layers 2010-11-08 18:57:30 +00:00
Dane Springmeyer
209b0697dc upgrade a hello world plugin and cairo renderer to fully use new geometry_type 2010-11-03 16:26:30 +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
Artem Pavlenko
0361061053 + fix text_minimum_padding.diff (#547) patch 2010-11-03 13:19:04 +00:00
Artem Pavlenko
0823b83900 + apply Nino Walker's patch text_minimum_padding.diff #547
TODO:  consider simplifying text symbolizer options
2010-11-03 13:18:56 +00:00
Dane Springmeyer
9281e6dcd8 avoid compiler warnings 2010-10-24 06:44:48 +00:00
Robert Coup
1dce437120 #622 add optional late-binding of datasources 2010-10-24 06:34:18 +00:00
Dane Springmeyer
aef676c090 add changes missed in r2287 2010-10-15 02:16:37 +00:00
Dane Springmeyer
3011f53205 add support to PointSymbolizer for 'ignore_placement' - #564 2010-10-15 02:15:40 +00:00
Dane Springmeyer
5d13869da1 if only width or height are supplied for a marker, make a circle - ellipses can be drawn by different width/height values 2010-10-15 00:14:18 +00:00
Dane Springmeyer
c8d5280b00 only render stroke on markers if it actually has a width 2010-10-15 00:12:51 +00:00
Dane Springmeyer
ca5d44032e explicitly set the runpath to libmapnik for the python bindings - in combination with ability to set 'CUSTOM_LDFLAGS' this closes #354 2010-10-12 04:40:00 +00:00
Dane Springmeyer
688b1f2299 add an 'extra_attributes' property to the map to store mapnik::parameters that don't make sense as full attributes but need to be carried through from load_map() to save_map() for applications that use mapnik to serialize to xml such as Cascadenik and Quantumnik (currently useful storage for 'minimum_version' and 'font_directory') 2010-10-07 19:34:36 +00:00
Dane Springmeyer
2fc2b4c443 add 'font_directory' attribute to map to allow for regstration of fonts within - in combination with r2025 this closes #168 2010-10-07 01:49:07 +00:00
Dane Springmeyer
806971e56d formatting 2010-10-05 20:13:03 +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
Alberto Valverde
9c79d52ca0 Modified cairo_pattern in order to let cairo handle ownership of the image
buffer. This solves the issue mentioned in [2254] properly as it wasn't solved
properly before.
The bug is uncovered in cairo 1.10.0 and caused that images added to pdf
surfaces did not appear at all. My guess is that newest cairo reads the
pattern surface lazily when "trasnfering" it to the target surface and by the
time it does it the cairo_pattern which owns the buffer has already been
destroyed.
2010-10-01 11:22:39 +00:00
Alberto Valverde
215c223f68 Fixing issue when painting images into cairo PDFSurfaces which appears when using cairo 1.10.0. The context's surface needs to be marked as dirty after painting or else images won't be flushed. Earlier versions of cairo weren't as strict abouth this. Thanks to Company @ #cairo for helping out 2010-09-30 15:26:38 +00:00
Artem Pavlenko
4dbafdcec0 + apply scale_factor to shield/text displacement
+ fix recentering logic
2010-09-30 11:40:24 +00:00
Dane Springmeyer
49e6fa4480 fixup compile of cairo rendering backend after r2248 2010-09-28 18:27:42 +00:00
Artem Pavlenko
69221d1438 + apply scale_factor to spacing and minimum_distance
in placement_finder
2010-09-27 10:36:53 +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
Dane Springmeyer
5c424d2e7c add impl for grayscale_to_alpha (e.g. devseed world glass effect) - #609 2010-09-24 17:08:12 +00:00
Dane Springmeyer
0a300c8be7 impl of alpha setting in C++ core - should work now via python - #609 2010-09-24 16:12:23 +00:00
Dane Springmeyer
b3810a5f6a stub in new alpha manipulation functions for mapnik image - #609 2010-09-24 15:37:19 +00:00
Tom Hughes
05ab656b57 The upcoming 4.8.0 release of PROJ.4 is supposed to be threadsafe, so
lets believe them and not use any locks if we are building against
version 4.8.0 or later.

Instead we use the new proj_ctx_alloc routine to create a context and
pass that when initialising the projection structure.
2010-09-24 15:26:50 +00:00
Artem Pavlenko
8b92943608 + max_char_angle default to 25 degrees 2010-09-24 12:55:14 +00:00
Artem Pavlenko
86f4027d9d + store max_char_angle in radians
+ default to 25.0 degrees
2010-09-24 12:55:08 +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
Dane Springmeyer
523b09701e Add the ability to pass custom CXXFLAGS and LDFLAGS that will be prioritized above other compiler and linker flags 2010-09-18 18:02:15 +00:00
Dane Springmeyer
e22c187e95 expose an indexing operator on box2d to allow for easy pythonic access to bounds parts 2010-09-16 14:41:29 +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
14971ed88c + initialise displacement_ with shield_displacement 2010-09-10 13:15:25 +00:00
Artem Pavlenko
56bca0d194 + re-use placement for subsequent points 2010-09-10 13:15:06 +00:00
Dane Springmeyer
df42fcde56 locking is required around pj_init_plus (partial revert of 2063) as it appears pj_init_plus will fail under high concurrent load even with proj 4.7.0 (only seen when reprojecting data) and will likely require use of a context (available in next release) if we wish to remove locks 2010-08-27 22:05:15 +00:00
Dane Springmeyer
9674171eb4 fixes for building on solaris and opensolaris, in addition to automatic running of ldconfig (will benefit builds on linux and fail silently otherwise) 2010-08-26 01:21:47 +00:00
Dane Springmeyer
22fc14ef05 + ability to pass coord2d to box2d::re_center in core and python 2010-08-19 21:35:27 +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
Dane Springmeyer
1fcb0eebec serialize stroke separately from line_symbolizer, setting up for other symbolizers to share stroke attributes 2010-08-19 15:45:53 +00:00
Dane Springmeyer
b5f36154fc parse stroke properties separately from parsing a line symbolizer - setting up for being able to easily add strokes to other symbolizers 2010-08-19 12:20:30 +00:00
Dane Springmeyer
a7e9cc7e87 make output of empty json (if no features are hit) on by default, and rename parameter from 'only-nonempty' to 'output-empty' 2010-08-19 05:50:08 +00:00
Hermann Kraus
d3bb11456f Last Summer of Code changes: Support metawriter in upgrade_map_xml.py, fix attribute collector. 2010-08-16 19:14:21 +00:00
Hermann Kraus
55d9bf3290 Add glyph dimension caching and move functions from .hpp to .cpp 2010-08-13 18:41:54 +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
Hermann Kraus
4cb09a8aca Fix small bugs. 2010-08-12 16:58:37 +00:00
Marcin Rudowski
bd8f189bd1 fix raster blending, ported r2137, fixing #589 2010-08-12 06:59:35 +00:00
Hermann Kraus
24fb874c7d Add metawriter support to save_map.cpp 2010-08-12 00:11:01 +00:00
Hermann Kraus
7dea58b625 Metawriter for Cairo. 2010-08-11 11:45:56 +00:00
Hermann Kraus
5867aadb66 Metawriter support for ShieldSymbolizer. 2010-08-11 03:25:15 +00:00
Hermann Kraus
a88ab24a72 Handle straight lines specially.
Add comment about coordinate systems.
2010-08-11 02:26:14 +00:00
Dane Springmeyer
0637d59b5c make SVG processor dependent (for now) on SVG_RENDERER scons option 2010-08-10 23:46:11 +00:00
Dane Springmeyer
6cce96dd06 upgrade default projection of epsg:4326 to match exactly what proj4 stores in /usr/local/share/epsg for 4326 (aka WGS84) 2010-08-10 18:18:31 +00:00
Hermann Kraus
7c5d0336c9 Small fixes + improvements. 2010-08-10 15:31:14 +00:00
Hermann Kraus
990df317fd "size" is not an optional GlyphSymbolizer attribute. 2010-08-10 14:46:39 +00:00
Hermann Kraus
de5d191a02 Metawriter support for GlyphSymbolizer. 2010-08-10 12:44:29 +00:00
Hermann Kraus
4dc2a466f8 Add symbolizer_base constructor to all symbolizers. 2010-08-10 12:43:21 +00:00
Hermann Kraus
ada706844a Remove unused function. 2010-08-10 12:20:02 +00:00
Hermann Kraus
30470bd52b Metawriter support for TextSymbolizer. 2010-08-10 12:19:19 +00:00
Hermann Kraus
85cd4b67c3 Get full fontsize information. 2010-08-10 12:05:38 +00:00
Hermann Kraus
9857583064 Parse metawriter attributes in all symbolizers. 2010-08-10 12:03:45 +00:00
Carlos López
fda7f66204 Added missing files from last commit. 2010-08-10 08:25:09 +00:00
Carlos López
e390715c58 Added support for processing multiple symbolizers to svg renderer. 2010-08-10 08:23:02 +00:00
Dane Springmeyer
6da5983e94 add xinclude support for libxml2 based parser - thanks oldtopos - closes #567 2010-08-10 06:01:16 +00:00
Hermann Kraus
0fdf3a2463 Pass parameter as const&. 2010-08-07 20:03:05 +00:00
Hermann Kraus
fb7913619a Bug fix: Don't warn about undefined metawriter when no metawriter is assigned to a symbolizer. 2010-08-07 20:00:43 +00:00
Dane Springmeyer
ca2aec8463 remove unneeded mutex include 2010-08-07 17:54:45 +00:00
Artem Pavlenko
f9b9c14500 pass parameters by const ref 2010-08-05 11:56:11 +00:00
Hermann Kraus
5725c694c6 Add "only-nonempty" to XML config. 2010-08-02 12:37:15 +00:00
Hermann Kraus
035e99d2f0 Only initialize proj_transform once in metawriter_json_stream. 2010-08-02 12:14:27 +00:00
Hermann Kraus
03718169b1 Only write non-empty tiles. 2010-08-02 01:35:18 +00:00
Hermann Kraus
75dcf67c92 Add some helper functions. 2010-08-02 00:37:15 +00:00
Hermann Kraus
0ae110015b Metawriter: Only write features that are actually rendered. 2010-08-01 15:07:50 +00:00
Hermann Kraus
8f8903baa5 Bugfix + better performance. 2010-07-31 10:20:56 +00:00
Carlos López
eec4864f41 SVG renderer now outputs path tags for polygons, with a fixed stroke color and size. 2010-07-30 22:15:50 +00:00
Carlos López
9af87ba8db SVG generator outputs path vertices in user coordinates. 2010-07-30 18:40:41 +00:00
Hermann Kraus
3791e95eda Some metawriter fixes. 2010-07-29 16:49:47 +00:00
Artem Pavlenko
170c36b14b + correct SVG_RENDERER flag usage in src/SConscript 2010-07-29 10:10:37 +00:00
Carlos López
6872d13968 Implemented svg_renderer::process_polygon_symbolier that uses the SVG path grammar, which outputs coords in map coords. 2010-07-28 06:50:25 +00:00
Carlos López
39a1038eb8 Added missing files: include/mapnik/svg/svg_generator.hpp and include/mapnik/svg/svg_generator_path_grammar.hpp. 2010-07-26 06:23:43 +00:00
Carlos López
f44333fa4e Added dummy grammar to generate SVG paths from geometries, as well as an SVG generator component. 2010-07-26 04:25:09 +00:00
Hermann Kraus
87fd78f313 Add support for dynamic filename in metawriters. 2010-07-25 22:41:18 +00:00
Hermann Kraus
7df4474f0b Add metawriter properties to Map object. 2010-07-25 21:05:30 +00:00
Hermann Kraus
20d5eb5698 Make "default-output" attribute optional. 2010-07-25 21:03:35 +00:00
Dane Springmeyer
dc99025348 make compile of svg renderer optional (but on by default) 2010-07-22 21:53:52 +00:00
Carlos López
b5b94a868c Changed template parameter type from stream to iterator and added a specialization for std::ostream_iterator. 2010-07-22 04:48:11 +00:00
Dane Springmeyer
f802d21865 speed optimizations by more careful use (or avoidance) of locking around projection code 2010-07-21 23:05:22 +00:00
Carlos López
f2a419bda7 Added template specialization svg_renderer<std::ofstream> to output SVG to file. Run tests/cpp_tests/svg_renderer_tests/file_output_test.cpp to generate one. 2010-07-21 07:43:13 +00:00
Carlos López
94e8ee3a9f Generation of output is now done through a stream iterator instead of the stream directly, which improves performance. Also made more compact generator for xml header, root element and bgcolor. 2010-07-21 03:34:46 +00:00
Dane Springmeyer
e021f27f96 explicitly convert doubles to int to avoid compiler warnings 2010-07-21 00:59:40 +00:00
Carlos López
07f329a538 Added generation of background color to svg_renderer. 2010-07-20 17:37:42 +00:00
Carlos López
bb44d76ee1 Added generation of SVG root element with width and height attributes. Also added test for testing the output generated by svg_renderer (combined_test.cpp). 2010-07-20 06:41:16 +00:00
Carlos López
789ff19824 Added generation of XML declaration and doctype definition to svg_renderer. 2010-07-20 01:35:01 +00:00
Carlos López
30e85c4d58 Added template parameter and data member to svg_renderer for holding the output stream. 2010-07-20 00:40:37 +00:00
Carlos López
eb7da9bcf5 Added the path of the svg_renderer's files to scons for compilation. There is no variable yet to disable their compilation. 2010-07-19 19:48:34 +00:00
Artem Pavlenko
91a109120b + align attribute names with W3C standards
rename 'bgcolor' to 'background-color'
+ update upgrade_map_xml.py
2010-07-19 12:01:34 +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
4bf42fe2d7 + pass std::string argument by const& 2010-07-19 11:09:44 +00:00
Hermann Kraus
384c703557 Remove unneeded headers from save_map.{cpp,hpp} 2010-07-19 00:21:53 +00:00
Hermann Kraus
2c10bb68ef Enable metawriter_json to operate on any stream object. 2010-07-18 23:49:11 +00:00
Dane Springmeyer
51a791eb77 scons: only attach uninstall actions if actually uninstalling - #311 2010-07-18 21:26:50 +00:00
Dane Springmeyer
267b48de49 add ability to uninstall all tracked scons targets using an 'uninstall' argument like 'scons uninstall' - closes #311 2010-07-18 20:39:05 +00:00
Dane Springmeyer
7918184d13 add helper functions for recursively registering fonts, and ensure they match one of the known freetype2 supported fonts (by ext) - closes #559 2010-07-15 23:04:51 +00:00
Dane Springmeyer
4f9d6e135c output metadata about the searched plugin directories if a plugin cannot be found - closes #568 2010-07-15 21:11:41 +00:00
Carlos López
d273101adc Added empty svg_renderer class, with unimplemented methods. 2010-07-15 05:32:31 +00:00
Dane Springmeyer
08e96be4a1 scons: better handling of PYTHON_INCLUDES and HAVE_LIBXML2 2010-07-15 00:20:50 +00:00
Dane Springmeyer
d549cfe30a scons: only apply HAS_CAIRO & HAS_PYCAIRO flags to cairo related files 2010-07-14 22:47:34 +00:00
Artem Pavlenko
a2909f30bf + call arrange_orienrtations which fixes polygon orientations 2010-07-14 15:52:15 +00:00
Artem Pavlenko
5c2f51504a + call base class ctor 2010-07-14 14:46:26 +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
7e10a32503 Created a class for metawriter_properties. 2010-07-14 10:34:18 +00:00
Dane Springmeyer
4d477a47cd scons: conditionally add CXXFLAGS for headers needing Cairo support 2010-07-14 04:40:33 +00:00
Dane Springmeyer
ae0274cc6b make sure to only use mutexes if THREADING=multi/MAPNIK_THREADSAFE=True 2010-07-14 01:28:28 +00:00
Hermann Kraus
03d6ef98c9 Undo accidential change. 2010-07-13 20:27:06 +00:00
Hermann Kraus
b218480835 Added default attributes for metawriter. 2010-07-13 20:24:44 +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
Dane Springmeyer
9889517497 only print info about metawriter when in debug mode 2010-07-06 05:49:48 +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
4fbcb989c1 + fixed to_expression_string converter for
<expr>.match(<pattern>) operator
2010-06-29 11:56:42 +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
Artem Pavlenko
392ae66941 + catch config_error in color::color(str) ctor 2010-06-21 11:06:42 +00:00
Artem Pavlenko
088f18263c + reverting r1734 (alberto) 2010-06-21 10:48:26 +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
Dane Springmeyer
36a8e19ad4 fixup more enums as done in r1893 2010-06-19 05:27:11 +00:00
Artem Pavlenko
e81b1abb8f + add implementation files 2010-06-18 15:39:57 +00:00
Artem Pavlenko
cf26db081a + refactor path expressions parser 2010-06-18 15:39:32 +00:00
Artem Pavlenko
b6089295e7 + put enumerartion macros into mapnik namespace
( clang++ emmits errors otherwise)
2010-06-18 15:39:07 +00:00
Artem Pavlenko
c99dff801a + forward decl mapnik::Map 2010-06-18 15:38:29 +00:00
Artem Pavlenko
79458691a1 + 'mutable' can't be applied to ref 2010-06-18 10:53:42 +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
f0d579f742 + fixed ctor 2010-06-15 13:43:27 +00:00
Artem Pavlenko
e572b83d3a + fix copy ctor in symbolizer_with_image 2010-06-15 13:36:41 +00:00
Artem Pavlenko
b27357848d + set opacity on markers_symbolizer 2010-06-15 13:36:33 +00:00
Artem Pavlenko
9c47291f88 + use text-opacity in text_renderer 2010-06-15 12:28:13 +00:00
Artem Pavlenko
f7fe6dbf15 + apply opacity and text-opacity 2010-06-15 12:28:06 +00:00
Artem Pavlenko
d69dfe6656 + update load/save opacity/text-opacity 2010-06-15 12:27:58 +00:00
Artem Pavlenko
d4643e6d87 + add get/set opacity impl 2010-06-15 12:27:50 +00:00
Artem Pavlenko
9826cf98c5 + move opacity parameter to the base class
(symbolizer_with_image)
+ rename opacity to text_opacity in text_symbolizer
  to avoid name clashing
2010-06-15 12:27:42 +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
6030efab50 + specialise svg parsers to expect const char* input 2010-06-14 13:18:17 +00:00
Artem Pavlenko
d0b1e62c2d + removed deprecated direct access to io_ptr 2010-06-14 13:18:09 +00:00
Artem Pavlenko
d410377f10 + corrected <defs> skipping logic 2010-06-14 10:29:37 +00:00
Artem Pavlenko
b309bba36e + pass scale_factor to feature_style_processor 2010-06-14 10:29:29 +00:00
Artem Pavlenko
68522e39fc + use agg implementation for circle,ellipse and rounded_rect 2010-06-13 13:45:59 +00:00
Artem Pavlenko
30b87400ca + put rasterizer def into sepatate header 2010-06-13 12:03:42 +00:00
Artem Pavlenko
d272326d88 + skip <defs>...</defs> 2010-06-11 14:09:05 +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
11fad966cb + add experimental 'scale_factor'
TODO: discuss with Carlos and Dane if this is a better approach
  than having scale_factor in mapnik::Map object.
2010-06-10 14:12:20 +00:00
Artem Pavlenko
25dcebc18a + correct 'opacity' parameter logic
(SVG spec: 'The uniform opacity setting to be applied across an entire object.')
2010-06-10 14:12:12 +00:00
Artem Pavlenko
4dcef9d1a3 + disable setting paths orientation 2010-06-10 14:11:55 +00:00
Artem Pavlenko
9d98df89f1 + parse 'transform' parameter 2010-06-10 14:11:48 +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