Commit graph

524 commits

Author SHA1 Message Date
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
Dane Springmeyer
ba9376626a add a filter parsing alias of '!=' for '<>' - closes #427 2009-09-29 23:40:40 +00:00
Dane Springmeyer
78fd5dc89a avoid deprecation warnings with boost 1_40 related to location of property_map.hpp 2009-09-25 22:08:52 +00:00
Dane Springmeyer
d9d15bb081 avoid segfault when pickling a TextSymbolizer using wrap_character by removing const declaration 2009-09-25 20:29:03 +00:00
Dane Springmeyer
e897b832a4 +reflect new text symbolizer options added in r1254 - closes #391 2009-08-17 22:54:50 +00:00