Commit graph

1761 commits

Author SHA1 Message Date
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
Hermann Kraus
716dd1c79e Move next_position() to placement finder. 2012-07-28 01:43:11 +02:00
Hermann Kraus
f6ad3243ef Improve line breaking.
Change placement finder API.
2012-07-26 23:44:04 +02:00
artemp
1b805abc23 + add close(x,y) method to geometry 2012-07-26 15:21:25 +01:00
artemp
1844217615 + fix SEG_CLOSE value to be compatible with agg 2012-07-26 15:19:11 +01:00
Dane Springmeyer
fa052c5021 amend 516f7c7 to suport filtering on collections and rename line to linestring for consistency - refs #546 2012-07-25 14:43:32 -07:00
Dane Springmeyer
2680f941eb clean up unused code and includes 2012-07-25 09:31:57 -07:00
Dane Springmeyer
4e60c0cc9b Merge branch 'master' of github.com:mapnik/mapnik 2012-07-25 08:47:19 -07:00
Dane Springmeyer
b68ea3bb1d new patch from @lightmare for protecting against expression.to_string misusage - closes #1232 2012-07-25 08:47:10 -07:00
artemp
e48057b274 + remove unused member variable
+ format
2012-07-25 10:00:58 +01:00
Dane Springmeyer
b6fa8dc0ed include what you use 2012-07-24 18:36:31 -07:00
Dane Springmeyer
80b0b4a888 do not attempt to inline complex templated method on grid - refs #1330 2012-07-24 17:41:08 -07:00
Hermann Kraus
3860ae9447 Merge branch 'master' of github.com:mapnik/mapnik 2012-07-25 01:18:51 +02:00
Hermann Kraus
08cbf1c71c Fix deprecation warnings. Part 2
Closes #1340.
2012-07-25 01:15:44 +02:00
Dane Springmeyer
ebf87969e4 move css_color and path_expression grammars to cpp 2012-07-24 15:43:32 -07:00
Dane Springmeyer
3f444302f0 move wkb_generator.cpp to cpp to reduce grammar compilation burden in the python bindings 2012-07-24 15:04:39 -07:00
Dane Springmeyer
881ff0180a suppress gcc Wunused-but-set-variable warnings 2012-07-24 14:35:19 -07:00
Dane Springmeyer
25a7c6bc01 + use assignment op to initialize built-in types. 2012-07-24 14:20:57 -07:00
artemp
139b5e710f + centroid: return first vertex if num_vertices == 1 2012-07-24 17:34:59 +01:00
artemp
045ef86f41 + formatting.. 2012-07-24 14:03:52 +01:00
artemp
8de27eaf6f + use assignment op to initialize built-in types. 2012-07-24 09:43:05 +01:00
Dane Springmeyer
29deca8db8 shave off 4 seconds from xml_node.cpp compile time (16 -> 12) by moving transform grammar to cpp - refs #1267 2012-07-23 18:12:10 -07:00
Dane Springmeyer
5c20a9f72a suppress unused variable compiler warnings with gcc 2012-07-23 17:29:10 -07:00
Dane Springmeyer
348dfff0c7 move feature_grammar to cpp file reducing compile time mem usage for feature_collection_parser.cpp - refs #1267 2012-07-23 17:03:06 -07:00
Dane Springmeyer
8f803b9897 reduce build time of xml_tree by half and memory usage by 1/3 - refs #1267 2012-07-23 16:15:27 -07:00
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