Commit graph

1684 commits

Author SHA1 Message Date
Dane Springmeyer
bbd1b052f7 fix spelling in comment 2012-07-23 11:38:59 -07:00
Hermann Kraus
c0180d59ed Change glyph_positions interface to be easier to use. 2012-07-22 21:47:07 +02:00
Hermann Kraus
9408f2e169 Add comments. 2012-07-22 21:42:32 +02:00
Hermann Kraus
0b16174ddb Remove unused code. 2012-07-22 02:11:15 +02:00
Hermann Kraus
b53849d441 Merge branch 'master' into harfbuzz
Conflicts:
	include/mapnik/font_engine_freetype.hpp
	include/mapnik/symbolizer_helpers.hpp
	src/agg/process_shield_symbolizer.cpp
	src/agg/process_text_symbolizer.cpp
	src/cairo_renderer.cpp
	src/font_engine_freetype.cpp
	src/formatting/list.cpp
	src/grid/process_shield_symbolizer.cpp
	src/grid/process_text_symbolizer.cpp
	src/symbolizer_helpers.cpp
	tests/visual_tests/styles/harfbuzz.xml
2012-07-21 20:19:22 +02:00
Hermann Kraus
b8a54e6a4f Add line breaking.
Note: Text rendering is currently disabled.
2012-07-21 04:17:58 +02:00
Dane Springmeyer
669c4906d4 avoid c-linkage warning with datasources - closes #1323 2012-07-20 18:34:41 -07:00
Hermann Kraus
d2918590b5 Remove unused files. 2012-07-21 02:55:34 +02:00
Dane Springmeyer
e36081a5c0 change geometry_utils::from_wkb to return a bool that signifies if at least one wkb path was parsed - refs #1333 and #1305 2012-07-20 15:09:01 -07:00
Dane Springmeyer
a968150f6b fix compile after geometry util namespacing 2012-07-20 11:18:33 -07:00
Hermann Kraus
a8cf13113a Update itemizer to allow operation on text ranges (for line breaking).
Fix handling of reordered text runs (refs #519).
2012-07-20 18:40:47 +02:00
artemp
fd209b2958 + put labeling routines into its owm 'label' namespace 2012-07-20 17:32:38 +01:00
artemp
516f7c75b1 + expose geometry type in expression grammar to allow following
filter expressions : [mapnik::geometry_type] = Polygon (#546)
2012-07-20 12:28:25 +01:00
artemp
e0c2304d42 + store size by value 2012-07-19 18:44:29 +01:00
artemp
4625e509b4 + rename vertex() back to get_vertex() to avoid g++ getting confused 2012-07-19 17:10:27 +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
9e1914a4df + remove label position alogos from geometry class 2012-07-19 16:36:06 +01:00
artemp
f6fa57da26 + add VertexSource based implementations of label position algos 2012-07-19 16:31:47 +01:00
artemp
994f9abb01 + apply _mapnik_ coding style 2012-07-19 16:23:39 +01:00
artemp
c8cfde58f7 + pass box2d<double> by const ref
+ make member const& too
2012-07-19 16:22:45 +01:00
Hermann Kraus
525dad7623 Add line breaking algorithm. 2012-07-19 02:30:27 +02:00
Hermann Kraus
27c5e50dcb Use offsets for correct positioning of glyphs.
Refs #1208.
2012-07-17 23:29:05 +02:00
Dane Springmeyer
6d95076954 sync grid renderer with agg for text/shields/point - refs #1309 2012-07-16 11:51:14 -07:00
artemp
1e6be7abc3 + add accessor methods 2012-07-13 10:25:12 +01:00
Dane Springmeyer
b20481115f marker width/height should be double 2012-07-12 18:39:12 -07:00
Dane Springmeyer
02644aeed1 add explicit bool operator to negate to silence msvc warnings - closes #1307 2012-07-12 16:38:13 -07:00
artemp
d828377c7c + fix operator= typo 2012-07-12 20:00:02 +01:00
artemp
461f5cfe08 + use separate stroke-opacity and fill-opacity 2012-07-12 15:38:25 +01:00
artemp
d3bc55761b + define keys container in client code not in grid/grid_view,
e.g doesn't have to be std::map<...>
2012-07-12 10:57:57 +01:00
artemp
279bfe7f0f + remove unused mutating methods
+ cleanup&style
2012-07-12 10:21:57 +01:00
artemp
030639a7b8 + remove meaningless -> std::set<std::string> property_names() 2012-07-12 10:18:35 +01:00
artemp
da5d4961f1 + return from operator= 2012-07-12 09:54:03 +01:00
Dane Springmeyer
da775051ea allow non const copy access to property_names on grid and grid_view objects 2012-07-11 18:58:25 -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
8cf9a5a082 + more const correctness 2012-07-11 10:32:08 +01:00
artemp
35ab93667f + enforce const
+ pass arguments by const ref
2012-07-11 10:13:38 +01:00
Dane Springmeyer
3e895ac6b7 implement built in support for ellipse and arrow markers, make markers_symbolizer default to POINT placement and ellipse drawing, add back compatibility for deprecated marker-type property - refs #1285 and #1304 2012-07-10 22:38:53 -07:00
Dane Springmeyer
cd66495ec5 support setting fill and stroke opacity on the fly in svg marker rendering 2012-07-10 22:36:03 -07:00
Dane Springmeyer
3efab11bdb start carrying through the geometry clipping extent in the grid renderer 2012-07-10 18:39:06 -07:00
Dane Springmeyer
310ed4a05d remove references to now unused mapnik::arrow 2012-07-10 18:11:43 -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
Hermann Kraus
beed2d08f2 Implement missing functions.
This is the first version that actually renders text. And it's working correctly!
2012-07-11 02:21:30 +02:00
Hermann Kraus
9f2ec07cd8 Store format with each glyph to make code less complex. 2012-07-11 00:22:25 +02:00
Dane Springmeyer
4f507e2fa3 expose the ability to parse an svg from an in-memory string 2012-07-10 08:59:35 -07:00
artemp
db2bd535de + impl operator<< for filters
+ boost::karma based filter generator
2012-07-10 12:51:08 +01:00
artemp
fe8daa4a2a pass filter_tag by const ref 2012-07-10 12:50:27 +01:00
artemp
e18fe4eccd + fix unused parameter warning 2012-07-10 12:49:14 +01:00
artemp
c8b2031428 + fix unused parameter warning 2012-07-10 12:48:32 +01:00
artemp
73e15f0c75 + fix unused parameter warnings 2012-07-10 12:48:09 +01:00
Hermann Kraus
8bbceb1a41 Update renderer. 2012-07-10 09:30:59 +02:00
Dane Springmeyer
79ef09d1a3 create grid feature context with correct sorting - closes #1306 2012-07-09 18:40:41 -07:00
Dane Springmeyer
cbf821c762 move key grid functions to cpp file 2012-07-09 17:32:36 -07:00
Hermann Kraus
a8ba813423 Implement new prepare glyphs function. 2012-07-09 22:35:02 +02:00
Hermann Kraus
514a0da09e Define new interface for glyph_positions. 2012-07-09 22:23:54 +02:00
artemp
20d935ea1e + remove explicit keyword
+ make width and height 'optional' - default init (0)
+ change members order
2012-07-09 10:18:41 +01:00
Hermann Kraus
17efe0601b Make sure everything compiles again after font engine changes. 2012-07-08 17:19:55 +02:00
Hermann Kraus
eeeb058104 Clean up font_engine_freetype.[ch]pp. 2012-07-08 13:18:12 +02:00
Hermann Kraus
f0937451a2 Update symbolizer_helpers to support new placement finder. 2012-07-07 17:41:49 +02: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
artemp
a9cb16303f + fix member variables names 2012-07-06 13:55:46 +01:00
artemp
8598202f8f Merge remote-tracking branch 'origin/master' 2012-07-06 13:51:49 +01:00
artemp
04589282bb + format 2012-07-06 13:50:44 +01:00
artemp
6e03fd7bb1 + store last 'move_to' coordinates
+ ensure sub-paths use correct 'last_vertex'
  when relative move_to commands is used
2012-07-06 13:41:54 +01:00
Dane Springmeyer
7499013843 deprecate 'mode' on raster_symbolizer and map it to new comp-op - closes #1257 2012-07-05 17:47:26 -07:00
Hermann Kraus
ddb1fa995f Start work on new placement finder. 2012-07-06 02:09:48 +02:00
Dane Springmeyer
2f45de8fea serialize comp-op in save_map - refs #1292 2012-07-05 17:06:41 -07:00
Dane Springmeyer
9dd69d091b merge with master 2012-07-05 15:40:16 -07:00
Dane Springmeyer
d8c719f05e finish exposing scale_factor to cairo_renderer 2012-07-05 14:54:58 -07:00
artemp
847f284a97 + make stroke and fill optional
+ return expression_ptr by const ref
+ change init order
2012-07-05 17:11:52 +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
Hermann Kraus
6af5fd7151 Merge branch 'master' of github.com:mapnik/mapnik 2012-07-04 21:00:59 +02:00
Hermann Kraus
7a967d7047 Correctly perform get_text() on <xmltext> nodes. 2012-07-04 20:51:34 +02:00
Hermann Kraus
c709f17761 Add namespace. 2012-07-04 20:39:07 +02:00
artemp
9b14a7206a remove arrow/ellipse ad-hoc markers - see #1285 2012-07-04 14:50:11 +01:00
artemp
0a146e0b5c remove unused renderer_scanline_solid 2012-07-04 09:23:01 +01:00
artemp
4b9346ab5f + better name for boolean member to avoid clashing with object name. 2012-07-03 12:45:07 +01:00
artemp
a6784270bb + pass args by const ref 2012-07-03 11:16:10 +01:00
artemp
7d2c695849 + remove unused font_manager_ 2012-07-02 13:28:40 +01:00
Hermann Kraus
6e4915ef83 Use shared pointers for text_layout. 2012-07-02 01:06:30 +02:00
Hermann Kraus
aecd6820c2 Use char_properties_ptr everywhere. 2012-07-02 00:10:55 +02:00
Hermann Kraus
47dea8ed52 Use char_properties_ptr in more files. 2012-07-01 23:14:35 +02:00
Hermann Kraus
7d241c5353 Use shared pointer to track char_properties.
Store positions instead of strings in text_item.
2012-07-01 22:35:20 +02:00
Hermann Kraus
e537b0e8dd Remove old code. 2012-07-01 02:47:39 +02:00
Hermann Kraus
ead99b1411 Calculate glyph dimensions. 2012-06-30 21:40:41 +02:00
Hermann Kraus
bf66b71f3e Add copyright message. 2012-06-30 19:50:05 +02:00
Hermann Kraus
91d80dc7c1 Use UTF16 directly to avoid reencoding and allow easy mapping of chars to glyphs. 2012-06-30 18:32:59 +02:00
Hermann Kraus
89b727d2fc Correctly set script and direction. 2012-06-30 18:03:31 +02:00
Hermann Kraus
2e50936b13 Use mapnik's face_manager instead of loading the font on our own. 2012-06-30 17:09:46 +02:00
Hermann Kraus
63e8b6d6db Some changes to make testing easier. 2012-06-30 10:04:18 +02: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
8849ba7d4d Merge remote-tracking branch 'origin/master' 2012-06-29 08:57:11 +01:00
Dane Springmeyer
67e9b0d616 move marker width/height to expressions - closes #1102 and replaces #1255 2012-06-28 19:54:25 -07:00
Hermann Kraus
62ccc7d313 Send processed text directly to text_layout. 2012-06-29 00:48:04 +02:00
Hermann Kraus
7c7dd0fa80 Add files from https://github.com/herm/harfbuzz-test. 2012-06-28 23:01:23 +02:00
Artem Pavlenko
36d5a20a8a Merge remote-tracking branch 'mirecta/line-offset' 2012-06-28 13:05:04 +01:00
Mickey Rose
9ccce2f1d9 offset_converter: add threshold to avoid cutting large closed rings off 2012-06-26 22:38:38 +02:00
Artem Pavlenko
cec9b5798e Revert "cleaner approach to a compile time magic alpha number for grid buffers"
(doesn't link : clang version 3.2 (trunk 158601))

This reverts commit 98753db9fd.
2012-06-26 16:53:07 +01:00
Artem Pavlenko
f8a7d06034 Merge remote-tracking branch 'origin/master' 2012-06-26 15:02:28 +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
98753db9fd cleaner approach to a compile time magic alpha number for grid buffers 2012-06-25 17:57:52 -07:00
Dane Springmeyer
b71553682b grid_pixel does not need a 32bit base_shift since alpha is not used 2012-06-25 17:31:43 -07:00
Mickey Rose
61e3c4dde7 offset_converter: pre-compute offset vertices and detect self-intersection on-the-fly 2012-06-25 18:34:42 +02:00
Artem Pavlenko
20255966c3 + text_symbolizer: add largest-bbox-only boolean property
default:true
2012-06-25 15:00:53 +01:00
Artem Pavlenko
048316232c + fix: remove clip_ member var 2012-06-25 14:57:45 +01:00
Dane Springmeyer
5b61c093e5 initialize grid buffers to std::numeric_limits<int>::min() and use that value to mean no-hit or non-interactive pixels - closes #1065 2012-06-23 22:41:07 -04:00
Dane Springmeyer
eb4740b50f fix behavior of compositing via python api now that we have premultiplication issues sorted out in core - refs #1262 and #314 and #1211 2012-06-21 15:44:57 -04:00
Dane Springmeyer
9193ac4446 Merge branch 'master' of github.com:mapnik/mapnik 2012-06-19 17:37:45 -04:00
Dane Springmeyer
f60d85e2e7 fix handling of premultiplication in svg rendering - refs #1262 2012-06-19 17:37:24 -04:00
Tom MacWright
aa5a726b92 Rename color-spin composite operation to colorize alpha
to make it less confusing alongside actual color manipulation
modes.
2012-06-19 17:16:25 -04:00
Dane Springmeyer
48a543b5d5 implement style-level opacity - closes #314 2012-06-19 15:10:28 -04:00
Artem Pavlenko
c5864453a0 + only premultiply src 2012-06-18 18:50:32 -04:00
Artem Pavlenko
38f35d6f97 + add missing ',' 2012-06-18 14:41:43 -04:00
Artem Pavlenko
9b61c0effe Merge remote-tracking branch 'origin/master'
Conflicts:
	deps/agg/include/agg_pixfmt_rgba.h
	include/mapnik/image_compositing.hpp
	src/cairo_renderer.cpp
	src/image_compositing.cpp
2012-06-18 14:36:15 -04:00
Artem Pavlenko
c71944bf32 + use HSV color space (as in GIMP)
+ rename 'luminosity' to 'value'
2012-06-18 14:30:01 -04:00
Tom MacWright
f6c10bbb7e Add color_spin composite operation. 2012-06-18 11:10:04 -04:00
Artem Pavlenko
dc89f6fac4 Merge remote-tracking branch 'origin/master' 2012-06-17 15:21:27 -04:00
Artem Pavlenko
14d365d572 + hue, saturation, color and luminosity blending modes (HSL based)
(http://en.wikipedia.org/wiki/Blend_modes#Hue.2C_saturation_and_luminosity)
2012-06-17 15:19:29 -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
7da01b9605 Merge branch 'master' of github.com:mapnik/mapnik 2012-06-15 05:18:26 -07:00
Dane Springmeyer
b12e73fbc7 Merge branch 'master' of github.com:mapnik/mapnik 2012-06-14 19:44:28 -04:00
Artem Pavlenko
689e8ec96d + make feature's optional: -(feature % lit(',')) 2012-06-14 14:40:54 +01:00
Artem Pavlenko
34470af474 + allow empty arrays in "coordinates" property 2012-06-14 14:40:14 +01:00
Dane Springmeyer
d33496baa7 split up code that handles datasource plugin registration 2012-06-13 19:25:59 -04:00
Artem Pavlenko
1f383abbad + fix conflict 2012-06-12 14:18:29 +01:00
Artem Pavlenko
1774456a2e + fix GeoJSON output in metawriter_json
(FIXME: output proper geometry types - don't shortcut to Multi***)

Conflicts:

	include/mapnik/metawriter_json.hpp
2012-06-12 14:05:53 +01:00
Dane Springmeyer
eb8f27bee7 Merge branch 'master' of github.com:mapnik/mapnik 2012-06-07 13:17:44 -05:00
Mickey Rose
1e3c48afb1 split parse_transform.hpp, set dynamic transform expression from python 2012-06-07 17:06:45 +02:00
Dane Springmeyer
51d3310012 grid encoding: reuse key string 2012-06-07 07:27:42 -07:00
Artem Pavlenko
013f0aa62f + add templated ctor and avoid including agg_trans_affine.h 2012-06-07 11:51:23 +01:00
Artem Pavlenko
11c34b1599 Merge branch 'transform_expr' of https://github.com/mirecta/mapnik 2012-06-07 10:20:05 +01:00
Dane Springmeyer
957c40f763 move to int32 for grid rendering buffer - closes #1196 2012-06-06 16:36:38 -07:00
Dane Springmeyer
76211243a4 remove now unused blending modes as they have been replaced with AGG compositing modes - refs #1206 2012-06-06 16:16:30 -07: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
Mickey Rose
dad0bdacfc add value_null operators, improve is_null, move mapnik::value definition into separate namespace
(cherry picked from commit 653bca6bea1abb2e45c66e76fd5e4fe7dc10a91a)
2012-06-06 17:34:17 +02:00
Mickey Rose
46c2d1c710 add operators for computing the envelope of a transformed box2d
(cherry picked from commit 9ad342cbed150948561c08e98957bc014dedc7f3)
2012-06-06 17:34:02 +02:00
Dane Springmeyer
291bc9b8ba explicitly include projection header 2012-06-04 17:16:44 -07:00
Dane Springmeyer
11e81fdb03 finish exposing markers symbolizer in python - closes #612 2012-06-04 13:42:51 -07:00
Artem Pavlenko
404ddf329d Revert "+ avoid copying"
This reverts commit de71db7d38.

Conflicts:

	include/mapnik/vertex_converters.hpp
2012-05-31 15:55:20 +01:00
Artem Pavlenko
bf7500a8b0 Merge pull request #1234 from mirecta/unary_expr
unary minus operator on mapnik::value and in expression_grammar
2012-05-31 05:51:07 -07:00
Artem Pavlenko
500f57cf60 + make vertex() and rewind() methods const
+ remove unused coord_transforms
+ rename coord_transform2 to coord_transform
2012-05-31 12:13:09 +01:00
Artem Pavlenko
6190cf22f1 + pass Args by const-ref 2012-05-31 10:40:23 +01:00
Artem Pavlenko
7eb8d175da + cleanup 2012-05-31 09:37:00 +01:00
Artem Pavlenko
de71db7d38 + avoid copying 2012-05-31 09:33:55 +01:00
Dane Springmeyer
9a18cb2cf6 amend 733c2df0a8 - graphics.hpp is needed on windows 2012-05-29 17:10:41 -07:00
Dane Springmeyer
5feb9750e5 amend eaa53b0 and #1232 to compile with clang++ by avoiding first pass instanciation of intentionally invalid templates - refs #985 2012-05-29 15:28:35 -07:00
Mickey Rose
a6b4bb88ce unary minus operator on mapnik::value and in expression_grammar 2012-05-29 23:45:13 +02:00
Dane Springmeyer
eaa53b0904 Merge pull request #1232 from mirecta/issue-985
fix/prevent to_expression_string misuse #985
2012-05-29 14:41:23 -07:00
Dane Springmeyer
109081bef3 Revert "fix transform (patch from #1204)"
This reverts commit b42e4988ec.
2012-05-29 14:06:47 -07:00
Dane Springmeyer
e8e8ba1f96 Revert "followup to b42e4988e, fix svg transforms for svg render as well as render_id - refs #1204"
This reverts commit ac9dc4762a.
2012-05-29 14:06:23 -07:00
Mickey Rose
09b05b48b0 fix/prevent to_expression_string misuse #985 2012-05-29 22:53:39 +02:00