Artem Pavlenko
2b3858df07
+ cache SVG marker bounding box
2010-06-08 10:16:31 +00:00
Artem Pavlenko
c500451cd8
+ refactor SVG parsing/rendering code into separate logical units
...
to facilitate multi-threading:
* SVG data (todo: enforce const)
* SVG parsing/reading mutable
* SVG rendering (read-only access to the data)
2010-06-08 10:16:22 +00:00
Artem Pavlenko
a47f6214a7
+ add markers_symbolizer.cpp
2010-06-06 12:10:36 +00:00
Artem Pavlenko
bde8c1196f
+ add default ctor
2010-06-06 12:10:20 +00:00
Dane Springmeyer
9804e7e90d
scons: make libjpeg dependency optional (still required by default)
2010-06-03 19:50:27 +00:00
Artem Pavlenko
7f36d5e2a1
+ derive markers_symbilizer from symbolizer_with_image and inherit
...
filename expression and transformation matrix
2010-06-03 12:35:20 +00:00
Artem Pavlenko
f72fc9b397
+ move transformation matrix to the parent class
2010-06-03 12:35:11 +00:00
Artem Pavlenko
b6414778d6
+ add transformation matrix
2010-06-03 12:35:02 +00:00
Artem Pavlenko
246731874b
+ apply 'mapnik-format' to *.cpp *.hpp
2010-06-02 11:03:30 +00:00
Artem Pavlenko
484dce8943
+ impl transform parameter (follow SVG spec) in point_symbolizer
2010-06-01 15:27:19 +00:00
Dane Springmeyer
a84b397f48
markers_converter.hpp was moved to markers_placement.hpp
2010-05-30 03:17:59 +00:00
Dane Springmeyer
89f6b32b76
apply patch from Herm from #553 adding support for markers_symbolizer to Cairo renderer, new placement finder, and fill/spacing/overlap options - works nicely with new svg support being tested against markers_symbolizer
2010-05-30 03:16:51 +00:00
Dane Springmeyer
74599581ec
apply patch from Herm for fixing compilation on linux - closes #557
2010-05-30 02:16:49 +00:00
Artem Pavlenko
83c0f1ca59
+ remove agg_svg_parser
2010-05-28 16:34:45 +00:00
Artem Pavlenko
a15e86e528
+ add libxml2 based svg parser implementation
2010-05-28 16:34:34 +00:00
Artem Pavlenko
a0a21eaa59
+ fixed transform mult order
2010-05-28 16:34:19 +00:00
Artem Pavlenko
6a5ea3f1a1
+ SVG markers rendering
2010-05-27 14:21:31 +00:00
Artem Pavlenko
bb0ae08280
+ marker_cache impl
2010-05-27 11:41:02 +00:00
Artem Pavlenko
823b7ba0fc
+ SVG markers initial import
2010-05-27 11:19:09 +00:00
Artem Pavlenko
e6e165f1e0
+ use path-like geometries
2010-05-27 10:20:41 +00:00
Artem Pavlenko
b1195c79d7
+ formatting
2010-05-27 10:20:25 +00:00
Artem Pavlenko
3ef0e2f789
+ comment out exit() calls (todo: implement better
...
compile time tests)
2010-05-27 10:20:17 +00:00
Artem Pavlenko
c020acb3a7
+ update attribute collector to handle 'orientation'
2010-05-27 10:19:55 +00:00
Artem Pavlenko
258a62616e
+ implement rotated text logic in placement finder
2010-05-27 10:19:47 +00:00
Artem Pavlenko
77c31e8643
+ add orientation parameter
...
orientation="<expr>" e.g
orientation="10+35" -> rotate by 45 degrees anti-clockwise
(TODO: consider using standard SVG transform!)
2010-05-27 10:19:39 +00:00
Alberto Valverde
38e1570b8b
added a max_value attribute to color_band to handle the case of the last band more gracefully
2010-05-06 07:21:11 +00:00
Dane Springmeyer
97eb553605
expose get/set for allow_overlap in MarkersSymbolizer
2010-04-15 21:47:44 +00:00
Artem Pavlenko
4b4967c351
+ use doubles
2010-04-09 18:47:12 +00:00
Artem Pavlenko
5fcc311764
+ add stroke-dashoffset property
...
+ replace <CssParameter name='xxx'>yyy</CssParameter>
element with 'xxx'=yyy attribute
2010-04-09 18:46:25 +00:00
Artem Pavlenko
feb041f543
+ apply formatting
2010-04-09 18:46:09 +00:00
Artem Pavlenko
61e423473e
+ no need for extra std::string alloc - we
...
+ can specialize css_parser to work with char*
+ (TODO: pass std::string const& as an input arg??)
2010-04-09 18:46:01 +00:00
Artem Pavlenko
f423a39bae
+ corrected name
2010-03-24 18:02:18 +00:00
Artem Pavlenko
1787c2b6ef
+ use <mapnik/filter_factory.hpp>
2010-03-24 18:02:02 +00:00
Artem Pavlenko
1a2b320252
+ sanitize header inclusion a bit
2010-03-24 18:01:53 +00:00
Artem Pavlenko
666ff418dc
+ add specialization for bool in to_expression_string()
2010-03-24 18:01:45 +00:00
Marcin Rudowski
3426e7a0ac
handle case of empty octrees. #540
2010-03-24 17:36:39 +00:00
Marcin Rudowski
8369278662
fixed color quantization in case of one color and transparency. #539
2010-03-24 17:19:33 +00:00
Alberto Valverde
c79865586b
added an angle_mode attribute to GlyphSymbolizer to define the way the angle expression should be interpreted: as an azimuth or as a trigonometric angle
2010-03-22 11:21:17 +00:00
Alberto Valverde
a613dc6397
Created python binding to memory_datasource which can be added Features built programaticcaly. See tests for sample use until docs are done. #528 is almost closed.
2010-03-19 16:16:15 +00:00
Alberto Valverde
be9f874bbc
added an attribute_collector visitor for glyph_symbolizer
2010-03-18 20:32:57 +00:00
Alberto Valverde
d098c98c5e
pre-eliminary GlyphSymbolizer implementation. TODO: XML de/serializing. more tests. remove workaround mentioned in test
2010-03-18 20:05:08 +00:00
Alberto Valverde
31c3d20e43
modified the old arrow_symbolizer interface on glyph_symbolizer and documented it
2010-03-18 20:04:51 +00:00
Alberto Valverde
fc3a1beeef
initial skeleton of glyph_symbolizer (coarsely ported from arrow_symbolizer). Mapnik compiles but symbolizer does nothing useful yet and is going to be heavily modified to make use of expressions to be general enough to be usable for purposes other than rendering arrows representing vector direction/intensity
2010-03-18 20:04:35 +00:00
Artem Pavlenko
d58b04a3f6
+ use math stuff defined in <cmath> e.g std::pow std::log
...
+ fixed identation
+ use c++ style comments //
2010-03-17 21:39:36 +00:00
Artem Pavlenko
4aef1c46c1
+ fix compiler warning
2010-03-17 21:39:28 +00:00
Artem Pavlenko
0fb695c133
+ don't use C style casts
2010-03-17 21:39:20 +00:00
Artem Pavlenko
21dee82146
+ remove mapnik:: classification from inside namespace mapnik {}
...
+ use c++ style casts!
2010-03-17 21:03:10 +00:00
Artem Pavlenko
83b20c3036
Revert "re factor expression grammar/parser stuff"
...
This reverts commit c58b8c4f71813a2490cf135573009c92be1a90c4.
2010-03-15 21:08:56 +00:00
Artem Pavlenko
0f8deb5e73
re factor expression grammar/parser stuff
2010-03-15 21:08:46 +00:00
Artem Pavlenko
1b860f8229
+ merge ctors
2010-03-15 21:08:37 +00:00
Marcin Rudowski
583c9858f0
add missing file from r1691
2010-03-12 19:07:12 +00:00
Dane Springmeyer
d7256295ae
port r1680/r1683/r1690 from 0.7.1-dev branch to trunk
2010-03-12 18:23:06 +00:00
Alberto Valverde
a7ea07ee0d
modified raster_colorizer so the color of the last band is used if the value matches its value exactly. This is to make declaring legends for rasters with discrete values easier (ie: no need to define a dummy band for N+1)
2010-03-12 13:34:32 +00:00
Alberto Valverde
2f1d60b666
pre-eliminary raster coloring support
2010-03-12 13:34:13 +00:00
Dane Springmeyer
3a44dd3258
+ use rint(v) instead of int(round(v)) + add rint implementation - msvc hasn't got one + minor cleanups
2010-03-11 23:19:12 +00:00
Artem Pavlenko
4066e76730
+ removed unused #include
...
+ small cleanup
2010-03-08 11:55:08 +00:00
Artem Pavlenko
b6d0343e4c
+ tidy
2010-03-08 11:55:00 +00:00
Marcin Rudowski
e05fd8f5d8
png256 bugfix and improvements merged from r1663
2010-03-06 16:47:55 +00:00
Marcin Rudowski
34578099c1
merged r1661: fixed png256 for large images + improvements to palette generation: #522
2010-03-06 11:13:44 +00:00
Dane Springmeyer
b540dab73b
apply slighly modified (env->box2d) mapnik-trunk.mr.raster-position2.diff from mar_rud to close #475
2010-03-03 03:23:53 +00:00
Artem Pavlenko
4f4c3782d3
+ calculate resolution using map's current extent
...
(see ticket #502 for discussion, thanks springmeyer and
mar_rud!)
2010-03-01 00:04:05 +00:00
Dane Springmeyer
c3ea59c3c8
don't pass expression_ptr as const
2010-02-03 18:36:01 +00:00
Artem Pavlenko
f4e7a7931f
+ implement x/y resolution
2010-02-03 16:56:42 +00:00
Artem Pavlenko
a98f3c19ff
+ minor formatting
2010-02-03 12:19:41 +00:00
Artem Pavlenko
f3eed56396
+ remove unused code
...
+ add 'add_border' helper method for debugging
raster alignment issues
2010-02-03 12:19:30 +00:00
Dane Springmeyer
c950e38a46
reenamble python access to TextSymbolizer 'name' expression
2010-01-30 03:08:03 +00:00
Dane Springmeyer
c6a29690ce
fix formatting
2010-01-30 00:45:24 +00:00
Dane Springmeyer
6115a1590d
add 'gamma' attribute to PolygonSymbolizer, along with tests against simplified world borders shapefile - setting gamma to .5-.7 can remove gaps in processed_p.shp depending on background color - closes #428
2010-01-13 00:31:45 +00:00
Dane Springmeyer
417468c125
revert r1348 rolling back to layer based bounds clipping - see #486 and #402 for more details
2010-01-11 19:00:56 +00:00
Dane Springmeyer
6c02f67a42
fix include guard
2010-01-11 18:57:45 +00:00
Dane Springmeyer
067fdb884d
sync trunk with new cairo support added previously to 0.7 branch in r1531
2010-01-11 18:55:30 +00:00
Dane Springmeyer
f87790cd5b
merge a few small 0.7 branch changes back into trunk
2010-01-11 00:36:51 +00:00
Artem Pavlenko
2840097822
+ increment version (trunk) to 8.0.0
2010-01-07 11:09:00 +00:00
Dane Springmeyer
5094080f77
fix class names botched in r1509 merge from 0.7 branch
2010-01-05 16:16:31 +00:00
Dane Springmeyer
b3711b07d1
apply fix from Marcin for semitransparency of png256 - closes #477 and resolves discussion at #202
2010-01-05 15:54:25 +00:00
Dane Springmeyer
6bbfc5a1f2
apply patch from marcin to fix problem with occaisionaly garbled/striped png256 output along shape edges - closes #416,#445,#447, improves upon #202
2009-12-31 15:45:58 +00:00
Artem Pavlenko
47dc1e197b
+ merge mapnik2 to trunk
2009-12-16 20:02:06 +00:00
Dane Springmeyer
0ccdac028e
merge r1492 from 0.7 branch into trunk
2009-12-15 22:16:39 +00:00
Dane Springmeyer
f60fa76242
merge 0.7. branch changes back into trunk
2009-12-15 19:25:35 +00:00
Dane Springmeyer
5e2e6a76ad
apply fixes from David Eastcott originally applied to 0.7 branch
2009-12-13 23:30:36 +00:00
Dane Springmeyer
1b91db1db3
pass the scale_denom in a mapnik::query - closes 465
2009-12-10 23:22:48 +00:00
Dane Springmeyer
bd0a1ee08f
cherry pick one more changeset from mapnik2 into trunk
2009-12-07 06:43:02 +00:00
Dane Springmeyer
c01d1d0c69
integrate a few changes from mapnik2 branch - making sure to pass strings by const ref + formatting
2009-12-07 04:15:17 +00:00
Dane Springmeyer
fe3ffe6c2d
rename map.save_map_string to map.save_map_to_string
2009-12-06 22:33:47 +00:00
Dane Springmeyer
d0b4db9ba3
add support for relative paths for entities when using libxml2 and loading xml from string - thanks dodobas for the initial patch
2009-12-06 22:18:45 +00:00
Lucio Asnaghi
0aeb286bfa
- make the library compile with more strict flags ( closes #407 )
2009-12-04 15:00:06 +00:00
Dane Springmeyer
b041bd7ba8
proper namespacing and remove tabs
2009-12-03 17:08:05 +00:00
Dane Springmeyer
33c702ffa3
remove duplicate include
2009-11-28 22:11:27 +00:00
Artem Pavlenko
6e48eb3504
Revert "+ add templated operator==" -- not
...
a good idea at all :). TODO!
This reverts commit da976bb51f8e47e93ab1c42e41501db30c149b8b.
2009-11-11 11:11:18 +00:00
Artem Pavlenko
71b28a0914
+ add templated operator==
2009-11-11 10:56:21 +00:00
Artem Pavlenko
9f51cfdede
+ apply mapnik formatting
...
+ change order of template specialization (tidy)
2009-11-08 10:35:29 +00:00
Dane Springmeyer
d1f1f6971b
avoid loss of true black on BIG_ENDIAN
2009-11-02 23:55:16 +00:00
Dane Springmeyer
c29c8b459e
add BIG_ENDIAN support to graphics rectangle methods
2009-11-02 22:48:39 +00:00
Dane Springmeyer
878143960e
support BIG_ENDIAN and jpeg output
2009-11-02 20:55:26 +00:00
Dane Springmeyer
f8248faf4d
support BIG_ENDIAN and png256
2009-11-02 20:54:35 +00:00
Dane Springmeyer
1b4443e800
add support for BIG_ENDIAN to 'blendPixel2', to support propertly colored text labels
2009-11-02 19:57:02 +00:00
Dane Springmeyer
8e5d4368bb
add missing header so that MAPNIK_BIG_ENDIAN is propertly defined
2009-11-02 19:18:52 +00:00
Dane Springmeyer
34f2214396
apply alternative method of comparing map and layer bounds to support PointDatasource (patch from phispi, test from JRohrer), closes #402
2009-10-21 21:24:44 +00:00
Artem Pavlenko
2dcf88b392
+ wall-clock timer from auf
...
(see #439 for more details)
2009-10-20 20:32:53 +00:00
Artem Pavlenko
a3a5859466
Patch from David Eastcott :
...
1. Modified Text Symbolizer
a) corrected line fragment centering (for 2nd and subsequent lines, when line breaks occur).
b) adjusted vertical alignment calculation so that:
i) middle -> has the center of the text line(s) at the point origin
ii) bottom -> has the text line(s) below the point origin
iii) top -> has the text line(s) above the point origin
c) added new text_symbolizer attribute: 'wrap_before', value range: true/false, default == false
allows line breaks at first wrap_char before wrap_width as an alternative to the original
which was to create the line break at the first wrap_char after wrap_width
d) added new text_symbolizer attribute: 'horizontal_alignment', value range: left/middle/right, default == middle
i) left -> has all text line(s) to left of the point origin
ii) middle -> has all text line(s) centered on the the point origin
iii) right -> has all text line(s) to the right of the point origin
NOTE: dx, dy position adjustments are applied after alignments and before Justify.
e) added new text_symbolizer attribute: 'justify_alignment', value range: left/middle/right, default == middle
i) left -> after alignments, has all text line(s) are left justified (left to right reading)
ii) middle -> after alignments, has all text line(s) center justified
iii) right -> after alignments, has all text line(s) right justified (right to left reading)
f) added new text_symbolizer attribute: 'opacity', value range: 0.0 thru 1.0; 1.0 == fully opaque
g) modified positioning to compensate for both line_spacing and character_spacing, to ensure proper
centering of the text envelope. Also ensure that centering occurs correctly even if no wrapping
occurs. Line spacing is uniform and consistent and compensates for errors between text_size and
the actual size (ci.height is inconsistent, depending on case and character); fixes issue with
multi-line text where some lines have a slight gap and others are compressed together.
2. Modified shield_symbolizer
a) added the attributes:
i) allow_overlap
ii) vertical_alignment
iii) horizontal_alignment
iv) justify_alignment
v) wrap_width
vi) wrap_character
vii) wrap_before
viii) text_convert
ix) line_spacing
x) character_spacing
xi) opacity
b) added new shield_symbolizer attribute: 'unlock_image', value range: true/false, default == false
i) false == image and text placement behaviour same as before
ii) true == image placement independant of text, image is always centered at geometry point, text placed per attributes,
dx/dy only affect text.
Allows user to create point markers with text, but both the text and image rendering collision detection are done
as a pair (they come and go together - solves problem if using point_symbolizer and text_symbolizers where one or the
other are omitted due to overlaps, but not both)
c) extended choices for the attribute 'placement' to include vertex; effect is limited to the shield_symbolizer
Allows an attempted placement at every vertex available, gives additional shield placement volume when using line geometry
d) ensured that the text placement was not updating the detector unless a shield image was actually placed.
e) added new shield_symbolizer attribute: 'no_text', value range: true/false, default = false
When set true, the text for the feature is ignored ('space' subsituted) so that pure graphic symbols can be used
and no text is rendered over top of them.
2009-10-19 13:52:53 +00:00