Commit graph

1858 commits

Author SHA1 Message Date
artemp
8fa0742a53 + make client methods non-static in classes derived from
mapnik::singleton<> (TODO: apply to all)
+ ensure client methods are accessed through instance() method
2012-09-07 14:51:25 +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
artemp
a513d3f97d + code: avoid exposing unsafe static methods in datasource_cache ( #1451)
+ python: remove redundent 'instance' method (mapnik.DatasourceCache)
+ python: reflect plugin_directories method
+ tests: update python usage

TODO: consider using similar approach in FontEngine etc..
TODO: consider returning reference from singleton::instance() to
      safeguard from accidental deleting a 'singleton' pointer
2012-09-05 12:53:37 +01:00
Hermann Kraus
786f798cab Use double instead of unsigned while parsing XML.
Closes #1469.
2012-09-05 02:15:58 +02:00
Dane Springmeyer
f29726edf1 no need for a default message for datasource_exception 2012-09-03 11:41:51 -07:00
Dane Springmeyer
551f1e0c66 c++ style 2012-09-03 10:52:36 -07:00
Dane Springmeyer
a12b8f1d2f c++ style 2012-09-03 10:27:48 -07:00
Dane Springmeyer
56ae40d059 c++ style 2012-09-03 10:02:39 -07:00
Dane Springmeyer
90391f3bee remove unused typedef 2012-08-29 18:39:16 -07:00
Colin Rundel
bd5df80f75 Minimal roll back const changes
Changes to expression_ptr and path_expression_ptr are causing runtime issues with the python bindings
2012-08-29 16:41:48 -04:00
Colin Rundel
dc3763885c More parser clean up - color parser
Dropped color_factory class in favor of single color_parser function. Moved implementation to new color_factory.cpp since it is odd to have two headers (color.hpp, color_factory.hpp) and only one source file.
2012-08-29 16:41:48 -04:00
Colin Rundel
10001f1d4b Expression parsing simplification
Similar idea to path expression parsing cleanup
2012-08-29 16:41:44 -04:00
Colin Rundel
1d0c817170 Make path_expression_ptr have const contents, cleanup 2012-08-29 16:41:43 -04:00
Colin Rundel
0e5f71408e Simplified path_parse implementation
path_parse and path_parse_from_string were redundant, replaced with overloaded path_parse function to achieve the same functionality.

Additional consistency cleanup in load_map.cpp.
2012-08-29 16:41:43 -04:00
Dane Springmeyer
de5970f45e shuffle the mapnik::hue_to_rgb method - no need for it to be in the cpp file 2012-08-28 20:08: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
f348d177ee fix the include install directory nesting 2012-08-27 18:54:08 -07:00
Dane Springmeyer
a56c63bed1 start installing agg headers so that c++ programs using mapnik can use more of the mapnik api - closes #1383 2012-08-27 18:45:04 -07:00
Dane Springmeyer
83e2bc70ff include what you use 2012-08-27 18:39:33 -07:00
Dane Springmeyer
c9bd0c8e51 Merge branch 'master' of github.com:mapnik/mapnik 2012-08-27 17:59:14 -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
Colin Rundel
12f2c247b3 Added set_name to font_set class 2012-08-27 16:09:29 -04:00
Dane Springmeyer
c7c8c468ab apply patch from @rundel to make color grammar more modular (TODO - do this with all grammars) - closes #1440 2012-08-26 17:50:30 -07:00
Hermann Kraus
1acac72b7a Remove fastmath.hpp as it is no longer needed.
Closes #1301.
2012-08-26 02:28:30 +02:00
Dane Springmeyer
fa0678cc5a json generator: fix escape chars as per json spec, which is a subset of c/c++ 2012-08-25 11:24:45 -07:00
Konstantin Käfer
fd3aa8a01a Merge branch 'expose_feature_style_processor' into conv_simplify 2012-08-25 15:02:18 +02:00
Konstantin Käfer
7c9700237f move feature_style_processor to an implementation header file
This allows other applications to create custom instances of the feature_style_processor with their own template arguments without forcing freuquent recompiles in mapnik itself
2012-08-25 13:35:41 +02:00
Panagiotis Skintzos
e34dc99f3a Exposed the label collision detector outside of Cairo renderer and added Python bindings (issue #1107) 2012-08-25 11:43:31 +02:00
Hermann Kraus
f40464a815 Remove old placement_finder code and rename placement_finder_ng => placement_finder. 2012-08-25 00:27:58 +02:00
Hermann Kraus
5fbda3e579 Merge line placement code paths for Text- and ShieldSymbolizer.
Enables label-position-tolerance for ShieldSymbolizer.
2012-08-25 00:16:57 +02: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
13bcd3f17f now working on mapnik v2.2.0-pre 2012-08-23 15:19:56 -07:00
Dane Springmeyer
a25aac80f7 setting up for mapnik v2.1.0 release 2012-08-23 14:50:36 -07:00
Dane Springmeyer
c0539406d8 fix includes post bf3efbeab8 - refs #1435 2012-08-23 11:34:13 -07:00
Dane Springmeyer
a3254965fe double csv parsing speeds when handling wkt encoded geometries - refs #1436 2012-08-23 09:07:06 -07:00
Dane Springmeyer
bf3efbeab8 move image filter grammar to cpp and re-use in load map by attaching to xml_tree - closes #1435 2012-08-23 08:13:22 -07:00
Dane Springmeyer
ce03b3599b expose svg output for geometries - refs #1437 (TODO: support svg_multi_generator) 2012-08-22 19:13:37 -07:00
Dane Springmeyer
fc63bd0d24 avoid compile error due to namespace clash with wkt generator - refs #1437 2012-08-22 19:11:01 -07:00
Dane Springmeyer
23808b0523 finish full back comptibility for raster-mode - refs #1206 and #1432 2012-08-22 18:09:01 -07:00
Dane Springmeyer
6edbec86d9 apply patch from @lightmare to better hanle 2 point geometries - refs #1425 2012-08-22 13:34:31 -07:00
Dane Springmeyer
a02801beb9 geometry.hpp does not need to use geom_util.hpp - this include cleanup exposed #1430 2012-08-22 13:27:44 -07:00
Dane Springmeyer
948531e9d0 fix namespacing for wkt generator code - refs #1330 2012-08-22 09:54:01 -07:00
Dane Springmeyer
e8101a070a partially repair backward compatibility in python for 'marker-type' - refs #1427 and #1285 2012-08-21 16:36:15 -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
Dane Springmeyer
a75014c056 convert interior_position to return bool 2012-08-21 11:23:36 -07:00
Dane Springmeyer
b76c8e5c64 +reflect building symbolizer in python 2012-08-20 18:17:00 -07:00
Dane Springmeyer
55646ce236 fix group_by on layer to be std::string const& and reflect in python 2012-08-20 16:26:41 -07:00
Hermann Kraus
accbc139a5 Preallocate memory for glyphs. 2012-08-20 00:08:13 +02:00
Mickey Rose
5ca715c1e0 transform expressions: disallow space-separated compound arguments, refs #1389 2012-08-19 19:30:51 +02:00
Hermann Kraus
a1f0af112e Support ShieldSymbolizer. 2012-08-17 18:31:55 +02:00
artemp
9810557cdc + geojson geometry parser implementation 2012-08-17 12:47:41 +01:00
artemp
21f86761a7 + json: split feature_grammar into geometry and feature grammars 2012-08-17 11:25:21 +01:00
Hermann Kraus
d8fad34aa3 Remove lots of old code in symbolizer_helpers and restructure code to
avoid the need for different helpers for text and shield symbolizers.
2012-08-17 02:54:08 +02:00
Dane Springmeyer
372f384365 fix typo: missing comma in severity enum 2012-08-16 16:09:52 -07:00
Dane Springmeyer
a986aedd05 remove 'info' and 'fatal' severities for logging to simplify framework - closes #1400 2012-08-16 15:52:32 -07:00
Konstantin Käfer
b243f03c90 use a set to make visvalingam a lot faster 2012-08-16 22:26:58 +02:00
Dane Springmeyer
bfc92a469c fix and doc out behavior of register_fonts 2012-08-16 12:29:13 -07:00
Konstantin Käfer
22150f908f add facilities to choose the simplification algorithm 2012-08-16 16:53:38 +02:00
Konstantin Käfer
eace6eeb2b don't crash on empty geometries 2012-08-16 15:59:05 +02:00
Dane Springmeyer
c7c8d910c4 fix linking with svg2png on windows - closes #1375 2012-08-15 19:16:11 -07:00
Dane Springmeyer
de3afda3bc remove css_color_grammar_deprecated.hpp 2012-08-15 16:59:22 -07:00
Dane Springmeyer
4cf1484b53 disable colorize-alpha comp-op as per #1371 2012-08-15 14:46:58 -07:00
Dane Springmeyer
71e0edc7bf forward declare CoordTransform in map.hpp 2012-08-15 10:33:31 -07:00
Dane Springmeyer
2b108b7cdb fixup includes 2012-08-15 10:26:20 -07:00
artemp
a991c73a98 + geojson grammar : close linear_rings 2012-08-15 16:53:28 +01:00
artemp
c4765d72ce + close linear_rings in WKT parser 2012-08-15 16:42:46 +01:00
artemp
aecf0531f5 + remove metawriters for the upcoming 2.1 release 2012-08-15 09:47:03 +01:00
Hermann Kraus
f9edcb71e0 Reenable support for metawriters.
Implementations in individual metawriters are still missing.
2012-08-15 02:11:11 +02:00
Dane Springmeyer
7a5f06656c allow setting marker width/height together with transform 2012-08-14 17:11:08 -07:00
artemp
34ce663460 + change agg-stack-filter grammar to expect fun(a,b) notation 2012-08-14 20:03:49 +01:00
artemp
8d14ac7e00 + use comma and space as delimiters 2012-08-14 19:57:28 +01:00
Konstantin Käfer
483ba77084 otf visvalingam/whyatt simplification 2012-08-14 20:40:37 +02:00
Konstantin Käfer
dcd7a07c8e simplify-tolerance property boilerplate 2012-08-14 17:04:57 +02:00
Dane Springmeyer
e2b3322934 use typedef for color_type 2012-08-13 11:26:34 -07:00
Hermann Kraus
1dba0581c2 Merge branch 'master' into harfbuzz
Conflicts:
	src/cairo_renderer.cpp
2012-08-12 12:32:35 +02:00
Hermann Kraus
ec58dd9f18 Implement jalign for line placements. 2012-08-12 03:34:48 +02:00
Hermann Kraus
37a5552bbd Implement offsets and multiline rendering. 2012-08-12 02:46:26 +02:00
Hermann Kraus
14891379d0 Add compatibility layer with normal path interface. 2012-08-11 23:26:45 +02:00
Hermann Kraus
46fa3cab43 Reenable grid renderer. 2012-08-11 21:47:45 +02:00
Hermann Kraus
9927ae6f60 Change text_renderer class. 2012-08-11 21:22:26 +02:00
Hermann Kraus
ffc3a5d52a Add bounding box calculation. 2012-08-11 20:34:57 +02:00
Hermann Kraus
2e22d740cf Store the value of sin(angle) and cos(angle) instead of recomputing them every time. 2012-08-11 19:14:28 +02:00
Hermann Kraus
503c1862ba Simplify code. 2012-08-11 04:19:11 +02:00
Hermann Kraus
48290546d9 Remove duplicate code. 2012-08-11 02:48:56 +02:00
Hermann Kraus
6eebda886d Implement scoped_state. 2012-08-10 02:39:03 +02:00
Hermann Kraus
2a1925c3ff Respect dx value. 2012-08-10 02:21:46 +02:00
Hermann Kraus
2252e128bd Add rewind function. 2012-08-10 02:14:05 +02:00
artemp
b05344863a + implement markers_dispatch to match AGG output 2012-08-09 17:46:55 +01:00
artemp
973bc00fd7 + correct types 2012-08-09 12:41:08 +01:00
artemp
67b93fac50 + geojson generator : allow empty properties 2012-08-08 16:00:01 +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
53c873ca49 make public the grid_renderer buffer type like AGG renderer 2012-08-06 11:37:27 -07:00
Hermann Kraus
3db18cfa50 Correctly handle glyph clusters. 2012-08-06 01:26:24 +02:00
Hermann Kraus
b7ac16d460 Bug fix: Stored state was incomplete. 2012-08-06 00:32:28 +02:00
Hermann Kraus
e380a20b6c Merge branch 'master' into harfbuzz
Conflicts:
	src/symbolizer_helpers.cpp
2012-08-05 16:29:09 +02:00
Hermann Kraus
6a27a2ae76 Implement auto-upright. 2012-08-05 14:57:14 +02:00
Hermann Kraus
5115658ecc Function to print pixel_position to stream. 2012-08-05 01:52:13 +02:00
Hermann Kraus
0b1c983d40 Add option for selecting which text should be upright. 2012-08-05 01:51:42 +02:00
Hermann Kraus
30ee700b7c Store full state. 2012-08-05 01:17:32 +02:00
Hermann Kraus
f20e90a524 Improve angle calculation. 2012-08-05 00:14:29 +02:00
Hermann Kraus
53fa3ff1e1 Implement line placements. 2012-08-04 23:14:32 +02:00
Hermann Kraus
5cb7cb8c59 Remove old code. 2012-08-04 22:11:44 +02:00
Hermann Kraus
593b401c16 Fix some bugs in vertex_cache. 2012-08-04 20:50:32 +02:00
Hermann Kraus
b299ca2533 Rename path_processor => vertex_cache because a different class with the same name already exists. 2012-08-04 19:14:48 +02:00
Hermann Kraus
f8739c7504 Add angle() and set_offset(). 2012-08-04 18:22:19 +02:00
Hermann Kraus
cbcafe89e3 Add functions to save/restore path processor's state. 2012-08-04 17:47:29 +02:00
Hermann Kraus
29274294b3 Only the constructor needs to be a template. 2012-08-04 16:58:07 +02:00
Hermann Kraus
30672d91cb Add function to enlarge bbox2d. 2012-08-04 02:12:15 +02:00
Hermann Kraus
5e259bf064 Remove unused code. 2012-08-04 02:09:49 +02:00
Hermann Kraus
f5af6d3d26 Update path_processor to handle non-continuous paths. 2012-08-04 02:01:36 +02:00
Dane Springmeyer
9284c6369d correct rendering behavior of marker-opacity, which should not, as per svg, override fill-opacity and stroke-opacity but should combine with it 2012-08-03 14:14:03 -07:00
Hermann Kraus
ef0aae3733 Merge branch 'master' into harfbuzz
Conflicts:
	src/build.py
2012-08-03 19:27:09 +02:00
artemp
9e95d88acd + make typedefs public 2012-08-03 15:39:20 +01:00
artemp
5f26d82ca2 + correct typedef logic (avoid redefining types) 2012-08-03 15:38:02 +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
Hermann Kraus
2b6cc00806 Simplify code by always returning the same data type no matter what placement type is used. 2012-08-03 01:42:18 +02:00
Dane Springmeyer
e62739d146 fix render_marker for grid renderer and other minor syncing - refs #1309 2012-08-02 13:10:05 -07:00
Hermann Kraus
b062af211a Implement find_points_on_line(). 2012-08-02 17:53:02 +02:00
Dane Springmeyer
6f15731c37 use std::fixed when outputting bbox's to string 2012-08-01 16:40:06 -07:00
Hermann Kraus
984f136351 Add dummy functions for line placements and reenable line placement code in symbolizer helpers. 2012-08-02 00:37:43 +02: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
artemp
2dcf940853 Merge remote-tracking branch 'origin/master' 2012-08-01 14:00:36 +01:00
artemp
fc6a22c014 + c++ style 2012-08-01 11:07:45 +01:00
Dane Springmeyer
16084ff335 support both interior placement and point for markers - helps prepare for #952 2012-07-31 18:13:50 -07: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
48c391da0d reduce copying of svg attributes via @lightmare - refs #1360 2012-07-31 16:56:22 -07:00
Dane Springmeyer
c3c2902b92 move ellipse contruction code to marker_helpers 2012-07-31 16:40:30 -07:00
Hermann Kraus
b97840660c Merge branch 'debugsymbolizer' into harfbuzz 2012-08-01 01:17:26 +02:00
Hermann Kraus
f3326115ac Add debug symbolizer. 2012-08-01 01:16:48 +02:00
Hermann Kraus
5929c3c9db Add "rotate-displacement". 2012-07-31 23:05:31 +02:00
Dane Springmeyer
e69c6037b7 mapnik coding style 2012-07-30 23:07:12 -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
b963b6c2b3 Merge remote-tracking branch 'origin' 2012-07-30 18:35:03 +01:00
artemp
8931509adc + move middle_point into label namespace 2012-07-30 18:31:15 +01:00
Hermann Kraus
435f716821 Reenable TextSymbolizer in Cairo renderer. 2012-07-30 02:59:06 +02:00
Hermann Kraus
a57123f8be Add collision detector support. 2012-07-30 02:17:43 +02:00
Hermann Kraus
d6c8fe37a9 Handle \n chars. 2012-07-30 01:23:04 +02:00
Hermann Kraus
66cbf45cd7 Rename symbols to match coding standards. 2012-07-29 18:10:41 +02:00
Hermann Kraus
b3c5969c3e Implement wrap_char. 2012-07-29 17:58:46 +02:00
Hermann Kraus
d3c473bbdc Calculate text position the same way as it was done in Mapnik 2.0. 2012-07-29 03:50:22 +02:00
Hermann Kraus
9cdb9a7bf3 Fix build errors introduced by 4e3e5cb0b0. 2012-07-29 01:31:10 +02:00
Hermann Kraus
4e3e5cb0b0 Merge branch 'master' into harfbuzz
Conflicts:
	bindings/python/mapnik_shield_symbolizer.cpp
	include/mapnik/agg_renderer.hpp
	include/mapnik/cairo_renderer.hpp
	src/build.py
2012-07-28 20:59:42 +02:00
Hermann Kraus
71247085d2 Correct size calculation. 2012-07-28 20:45:17 +02:00
Hermann Kraus
212760b507 Rename symbols to match coding standards. 2012-07-28 20:32:11 +02:00
Hermann Kraus
981c11c563 Implement find_point_placement(). 2012-07-28 20:31:02 +02:00
Dane Springmeyer
81937f7317 only allow restyling of svg paths that already have visible display of stroke/fill 2012-07-28 09:27:37 -07:00
Hermann Kraus
a953d535ad Use pixel_position consistently everywhere. 2012-07-28 16:34:44 +02:00
Hermann Kraus
6b3810c9b0 Add init_alignment() function. 2012-07-28 02:04:01 +02:00