Commit graph

2266 commits

Author SHA1 Message Date
Dane Springmeyer
bbfd111900 fix PHOENIX_V3 compile of svg generator 2013-07-28 12:54:31 -04:00
Dane Springmeyer
76f111cc97 support optionally compiling with -std=c++11 on OSX / clang / apple libc++ / boost 1.53 - refs #1683 2013-07-27 01:57:24 -04:00
Dane Springmeyer
fd14edcd56 fix compile of expression grammer with clang++/libc++/c++11 2013-07-26 19:33:35 -04:00
Dane Springmeyer
fad9af5263 add support for applying custom comp_op and opacity when blending map background image into background color at render time - refs mapnik/mapnik-support#8 2013-07-25 01:00:38 -04:00
Dane Springmeyer
0ac9c7f4c9 re-write scale-hsla filter to work in doubles, allowing proper clamping at the right time - refs #1954 2013-07-24 21:13:46 -04:00
Dane Springmeyer
88d42c48a9 enhance scale-hsla validation - refs #1954 2013-07-24 20:25:07 -04:00
Dane Springmeyer
ec950bd983 handle duplicate hsl hue_to_rgb code 2013-07-24 19:26:26 -04:00
Dane Springmeyer
eaeccc3c3a enforce valid hsla values - refs #1954 2013-07-24 14:24:33 -04:00
artemp
7c63b666f9 cast toff_t to std::streamoff
remove 'C' style comments!!
2013-07-24 11:44:19 -04:00
Dane Springmeyer
ef4dfeb747 make it possible to disable compilation of grid_renderer - closes #1962 2013-07-23 19:37:25 -04:00
Dane Springmeyer
f682fcc6d1 deal with various -Wunused-parameter warnings that are not importatn 2013-07-23 18:44:16 -04:00
Dane Springmeyer
72bfa282fa iwyu 2013-07-23 18:43:19 -04:00
Dane Springmeyer
0ac4ec0dd9 iwyu 2013-07-23 18:42:53 -04:00
Dane Springmeyer
fd7164bd3c use pixfmt pre for the sake of clarity 2013-07-23 18:42:47 -04:00
Dane Springmeyer
6269b42ffc iwyu 2013-07-23 18:41:59 -04:00
Dane Springmeyer
c5b7cd0e3e remove dead code 2013-07-23 16:10:00 -04:00
Dane Springmeyer
31931b89cb git rid of a few fixme 2013-07-23 16:00:16 -04:00
Dane Springmeyer
3bd2e6501f fix a batch of unused variable warnings (leaving several with are true bugs/missing features) 2013-07-23 15:51:22 -04:00
Dane Springmeyer
d1667c125c return human readable cairo error 2013-07-22 16:21:18 -04:00
Dane Springmeyer
3beba890f8 make scale_factor accessible off renderers - no need to store as member of feature_style_processor 2013-07-22 13:25:04 -04:00
Dane Springmeyer
b6739efa6a clean up render_style code to avoid excessive function calls for marking a renderer as painted 2013-07-19 19:43:30 -04:00
Dane Springmeyer
a4efd6b73e simplify render_style further after 6bbbe155fe 2013-07-19 19:33:11 -04:00
Dane Springmeyer
032e33cc9f remove filter_factor as option to gdal datasource, clean up pass down from query object - closes #1488 - refs #625 2013-07-19 19:22:45 -04:00
Dane Springmeyer
9b9e42ce5d use featureset_buffer for simplier render time feature cache from @mappy 2013-07-19 18:32:47 -04:00
Dane Springmeyer
3864fada72 pass string by const ref 2013-07-19 15:46:01 -04:00
Dane Springmeyer
6bbbe155fe remove RENDERING_STATS compile time option - refs #1956 2013-07-19 15:09:59 -04:00
Dane Springmeyer
a141c5c27d webp encoding/decoding support - refs #1955 2013-07-19 01:09:17 -04:00
Dane Springmeyer
0872061993 renable hsla filter as 'scale-hsla' - refs #1954 2013-07-19 00:37:51 -04:00
Dane Springmeyer
a834d2941a fix initialization of hue and sat in rgb2hsl + fix rounding in hsl2rgb to be stable on 32 bit systems (no change on 64 bit) - refs #1954 2013-07-19 00:22:52 -04:00
Dane Springmeyer
aedc3512c2 rollback to copying bbox member of filter_in_box - previous change led to odd node-mapnik shapefile query failure 2013-07-17 18:47:07 -04:00
Dane Springmeyer
04c1808703 avoid a few uneeded copies 2013-07-17 18:47:07 -04:00
Dane Springmeyer
9bf6abd988 add missing attribute collector for markers symbolizer path expression - closes #1952 2013-07-16 20:00:51 -04:00
artemp
cbfe228790 + improve c++ style
+ formatting
2013-07-16 11:16:52 +01:00
Dane Springmeyer
bcf1454884 optimize svg rendering by moving bbox calc only needed by gradient rendering into gradient code 2013-07-10 16:44:20 -04:00
Dane Springmeyer
068f759fb5 fix height clamping in image_view and grid_view - closes #1940 2013-07-04 13:56:58 -04:00
Dane Springmeyer
c011524b67 add mapnik.Image.premultiplied() to query status of pixel premultiplication 2013-07-02 16:01:23 -04:00
Dane Springmeyer
90c9a39a66 remove debugging line 2013-06-28 15:54:04 -04:00
Dane Springmeyer
3ae432ac96 fix behavior of marker-ignore-placement on lines - closes #1931 2013-06-28 15:53:08 -04:00
Dane Springmeyer
25dabd6f24 support scale_denominator override in save_to_cairo_file - closes #1930 2013-06-27 20:07:25 -04:00
Dane Springmeyer
ba4d06a530 protect against negative image dimensions - closes #1927 2013-06-26 16:46:36 -04:00
Dane Springmeyer
fd428cf11b svg_renderer: group layers in inkscape capatible way - refs #1917 2013-06-24 20:29:57 -07:00
Dane Springmeyer
d1f1104ebe svg_renderer: start paying attention to scale_factor, collision, and fonts 2013-06-24 20:26:30 -07:00
Dane Springmeyer
18ab68f03f iwyu 2013-06-21 12:00:48 -07:00
Dane Springmeyer
e3c5ae9cf4 svg_renderer: use precision of 4, accept map request/scale_factor, and fix output of multipart geometries 2013-06-20 21:27:42 -07:00
artemp
386f6a5b24 + use auto 2013-06-17 10:47:53 +01:00
Dane Springmeyer
64947f8540 now working on mapnik v3.0.0-pre 2013-06-03 18:56:56 -07:00
Dane Springmeyer
9231205573 setting up for mapnik v2.2.0 release 2013-06-03 18:26:28 -07:00
Dane Springmeyer
3b2bdba7b0 iwyu 2013-06-02 20:19:33 -07:00
Dane Springmeyer
0365d3e081 start centralizing filesystem operations in mapnik::util::fs - refs #1177 2013-06-02 19:28:24 -07:00
Dane Springmeyer
e1c299decf remove whitespace 2013-06-02 17:34:36 -07:00
Dane Springmeyer
1036eb1c99 support base_path adjustment when reading from xml file as well as from a string 2013-06-02 16:24:21 -07:00
Dane Springmeyer
7c8dbacdb6 fix compile against boost 1.47 - closes #1885 2013-06-02 13:32:15 -07:00
Dane Springmeyer
88ca6fca5d Followup to #1642, closes #1859
This change adds back the ability to throw out both empty strings
and null values with the not equals statement like `[attr] != ''`

Note: this does not mean null == '' because the needed compatibility
fix only addresses the "not equals` operator to retain the historical
usage of not matching nulls.
2013-05-31 13:23:59 -07:00
Dane Springmeyer
1da3bee032 implement == and != operators on the value_null struct - no functional change, but helpful to consolidate logic for comparisions 2013-05-31 12:24:59 -07:00
artemp
4a60bc7be5 + add value_bool support in not_equals 2013-05-31 18:51:11 +01:00
artemp
c8630696d4 + add explicit value_bool/value_integer/value_double equality comparison 2013-05-31 18:48:13 +01:00
Dane Springmeyer
b0f15bf5de avoid muffling proj_init at render time and instead catch at load_map - closes #646 2013-05-29 15:16:44 -07:00
Dane Springmeyer
7302b3b654 fix #1865 2013-05-24 16:45:02 -07:00
Dane Springmeyer
9107046508 avoid including cairo-ft in header 2013-05-22 23:23:22 -07:00
Dane Springmeyer
31ae5e632b rollback accidentally commited change in 126d1b73d6 - not quite yet 2013-05-22 10:22:25 -07:00
Dane Springmeyer
126d1b73d6 reflect debug symbolizer in python 2013-05-22 06:49:38 -07:00
Dane Springmeyer
8634a04938 add support for drawing all geometry verticies with debug symbolizer mode=vertex and expose in python - closes #1848 2013-05-21 19:21:35 -07:00
artem@windows
35a8582043 put implementatio into .cpp to avoid exposing <windows.h> 2013-05-20 13:43:31 -07:00
Dane Springmeyer
84a15f9090 iwyu 2013-05-20 12:50:26 -07:00
Dane Springmeyer
29578410c2 fix marker bbox calculation - closes #1849 2013-05-20 12:50:26 -07:00
artem@windows
15e059a9ac put implementatio into .cpp to avoid exposing <windows.h>
Conflicts:
	include/mapnik/utils.hpp
2013-05-20 14:54:06 +01:00
artemp
fa99757154 + add accidentally removed config.hpp 2013-05-20 14:00:03 +01:00
artemp
6e4169d2b9 + utf8 to/from utf16 implementation
Conflicts:
	include/mapnik/utils.hpp
2013-05-20 14:00:03 +01:00
Dane Springmeyer
ae2e33de34 msvc on windows breaks with singleton declared but gcc needs default visibility to avoid double singleton registration across dlls when using -fvisiblity=hidden
Conflicts:
	include/mapnik/utils.hpp
2013-05-20 14:00:02 +01:00
artemp
9348fffa8d + filter_at_point - cache inflated bbox 2013-05-20 14:00:02 +01:00
artemp
6412b43d6c + utf8 to/from utf16 implementation 2013-05-20 12:05:22 +01:00
artem@windows
293d4829a8 MAPNIK_DECL feature_parser 2013-05-17 16:20:01 -07:00
Dane Springmeyer
03d8b6d9d7 msvc on windows breaks with singleton declared but gcc needs default visibility to avoid double singleton registration across dlls when using -fvisiblity=hidden 2013-05-17 13:16:36 -07:00
artemp
5be9640742 + filter_at_point - cache inflated bbox 2013-05-17 16:22:04 +01:00
Dane Springmeyer
5a6ea9ee6f finish to rename of mapnik::Feature -> mapnik::feature_impl 2013-05-16 11:55:58 -07:00
Dane Springmeyer
3fbf4df67d add support for statically linking datasource input plugins - closes #1810 and #1821 - refs #249 2013-05-16 11:55:58 -07:00
Dane Springmeyer
879225abfb rollback MAPNIK_DECL on exceptions - which breaks linking of python bindings on msvc - refs #1826 2013-05-15 18:47:46 -07:00
Dane Springmeyer
9c66d0ec1d move expresion_grammar impl to impl header 2013-05-15 18:24:49 -07:00
Dane Springmeyer
bedcde02cb rename css_color_grammar_def.hpp -> css_color_grammar_impl.hpp to be consistent with other headers 2013-05-15 18:23:46 -07:00
Dane Springmeyer
14d6c3b80b remove expression_grammar from public api 2013-05-15 18:22:28 -07:00
Dane Springmeyer
9682af53da fix compile in master after 8d5b983cb6 since master still uses phoenix v2 2013-05-14 10:31:13 -07:00
artemp
8d5b983cb6 Geometry/Feature parsers -truncate 'where' message in on_error handler (currently 16 chars max) 2013-05-14 15:02:05 +01:00
artemp
0e5013fb03 + add feature_parser implementation 2013-05-14 14:55:08 +01:00
artemp
5d0c36fb65 Geometry/Feature parsers -truncate 'where' message in on_error handler (currently 16 chars max) 2013-05-14 14:51:28 +01:00
artemp
1e1e2d1e79 + prefer ``const& `` style (mapnik c++ style) 2013-05-14 12:31:05 +01:00
artemp
abc5d39dbd + comment out as msvc++ doesn't support 'noexcept' 2013-05-14 12:06:55 +01:00
artemp
677a0a68c6 TIFF I/O
+ use c++ casts
+ better naming
2013-05-13 10:25:09 +01:00
artemp
b816a47de2 + fix writing to std::stringstream
* if seeking pass the end  - grow buffer (stringstream!)
* seekp beyond current buffer size doesn't set failbit (clang/libcxx)
2013-05-10 14:17:31 -07:00
artemp
e9733d8a9b + fix writing to std::stringstream
* if seeking pass the end  - grow buffer (stringstream!)
* seekp beyond current buffer size doesn't set failbit (clang/libcxx)
2013-05-10 16:50:28 +01:00
artemp
3223836874 + potential boost::variant optimization 2013-05-10 16:45:54 +01:00
Dane Springmeyer
d36a7323ac support -fvisibility=hidden in core library - refs #1826 2013-05-09 18:22:40 -07:00
Dane Springmeyer
7c4adea08e support visibility attribute with gcc/clang - refs #1826 2013-05-09 17:07:58 -07:00
Dane Springmeyer
5bb1c067af fix build on windows by ensuring singleton base is exported (avoids inconsistent dll linkage error) 2013-05-09 17:06:41 -07:00
Dane Springmeyer
a7a106109d make mapped_memory_cache a class not struct for consistency with other singletons 2013-05-09 17:05:39 -07:00
Dane Springmeyer
e6bfd12b95 make public the singleton template to ensure it can be shared across shared library boundaries if the library is built with -fvisibility=hidden - refs #1826 2013-05-09 15:26:50 -07:00
Dane Springmeyer
36bdde82e7 no need to use MAPNIK_DECL with typedefs 2013-05-09 15:25:14 -07:00
artemp
dd0c4701c5 + hold actual values in expressions tree (experimental)
(result gets converted to mapnik::value)
2013-05-09 15:31:31 +01:00
artemp
6bfb92811e + make default ctor nothrow 2013-05-09 13:46:09 +01:00
artemp
39f21c16b9 mapnik::value
to_expression_string - add missing specialization
for mapnik::value_integer and remove usage of std::stringstream
2013-05-08 10:31:14 -07:00
artemp
656c9e724f + re-arrange expression 2013-05-08 17:21:34 +01:00
artemp
75aa6e94d8 + expression_optimizer (experimental)
at the moment very basic ops are supported e.g

```
expr = 1+1+1 ---> expr = 3
expr = 1+1+[ATTR] ---> 2+[ATTR]

expr = [ATTR] + 1 + 1  ---> ([ATTR] + 1) + 1  ### stays unchaged
expr = [ATTR] + 1/3.14159 + 1 ---> ([ATTR] + 0.31831) + 1
```
2013-05-08 16:54:25 +01:00
artemp
4138a70a52 mapnik::value
to_expression_string - add missing specialization
for mapnik::value_integer and remove usage of std::stringstream
2013-05-08 16:51:28 +01:00
artemp
b086e2d20c + small optimization - pass and return const ref 2013-05-07 16:12:57 +01:00
artemp
4915bf138e mapnik::value + add move ctor
mapnik::feature + pass attributes by r-value.
2013-05-07 12:04:06 +01:00
Dane Springmeyer
944eb5e2f7 rename variable for clarity 2013-05-06 12:38:41 -07:00
artemp
42d8dfa322 + add move ctor and 'canonical' assignment operator 2013-05-06 15:54:17 +01:00
artem@windows
b29fe11e35 + fix font_set::size return type 2013-05-03 16:43:25 -07:00
artemp
6490245218 + remove more cruft 2013-05-03 14:21:34 +01:00
artemp
1847ce581d box2d
+ re-implement from_string avoiding tokenizer (~10x faster)
2013-05-03 11:41:43 +01:00
artem@windows
29f9273d3e + msvc : fix warnings (TODO: work-in-progress) 2013-05-02 14:07:06 -07:00
artem@windows
f611892915 remove redundant header 2013-05-02 12:02:13 -07:00
artemp
43968b6c50 + c++ style : formatting 2013-04-30 18:47:17 +01:00
artem@windows
9a64415a03 use std::size_t to avoid conversion warnings 2013-04-30 10:06:47 -07:00
artem@windows
16c0b578bc c++11
+ use std::size_t
+ re-implement envelope() method in terms of c++11
2013-04-30 09:51:08 -07:00
artemp
95e3c87f05 + revert to using boost::math::trunc
+ and mapnik::noncopyable

vc++ (*) doesn't support std::trunc and deleting methods in class/struct definition

* - vc++ 2012 November CTP
2013-04-30 09:32:22 +01:00
artem@windows
abd42357d6 + add <cmath> header to keep cl.exe happy 2013-04-30 08:55:51 +01:00
Toby Collett
ac09541243 Use shared pointer reference count to track pools
By using the shared pointer reference count to track the connections
in the connection pool we no longer have to explicitly return them
to the pool.

This resolves an issue where cursor feature sets were returning their
connections before they were done with them, causing a potential race
with another connection user.
2013-04-29 20:33:57 +00:00
artem@windows
faa8394ef6 + add <cmath> header to keep cl.exe happy 2013-04-29 04:21:28 -07:00
artemp
58927b404c c++11
+ replace BOOST_FOREACH with for( : )
+ remove boost/foreach.hpp
+ fix benchmarks (17,18)
2013-04-24 16:40:35 +01:00
artemp
49fe99ac4f + make rule_cache movable
+ use rule_cache move semantics in feature processor
2013-04-24 10:08:10 +01:00
artemp
80c5452130 + fix phoenix functions to compile on ubuntu 12.04/c++11
+ cleanups
2013-04-23 14:00:08 +01:00
artemp
e38ce37ed3 * use move semantics
* use light weight wkb_stream wrapper to avoid locale/formatting locking
2013-04-22 15:24:47 +01:00
artemp
3f6abd3362 + backport image_reader from buffer/string from image-readers-c++11 branch 2013-04-22 11:35:09 +01:00
artemp
800ee1f0dd + c++ style 2013-04-22 09:56:48 +01:00
artemp
d215c09762 + json-generator : don't output coordinates from SEG_CLOSE command 2013-04-19 14:21:12 +01:00
artemp
ae9b518618 + fix coords precision 2013-04-19 14:13:18 +01:00
artemp
b1ea547fa9 + fix grammar to work with phoenix v3 and c++11 2013-04-19 12:10:34 +01:00
artemp
3a2b1dc027 + move preprocessor directive to the top 2013-04-19 12:00:25 +01:00
artemp
8bb6bb1d68 + fix grammar to work with phoenix v3/c++11 2013-04-19 11:59:16 +01:00
artemp
c73e48fa58 + use std::unique_ptr instead of std::auto_ptr (deprecated!) 2013-04-19 09:50:50 +01:00
artemp
a41c83fbce + png_io: disble miniz for now 2013-04-19 09:41:42 +01:00
Dane Springmeyer
60c6592c4e fix spelling of unknown 2013-04-17 14:23:04 -07:00
artemp
da6c630db9 + add webp writing support 2013-04-17 14:50:35 +01:00
artemp
868d60d765 + add getBytes() method ( needed by webp i/o) 2013-04-17 14:46:11 +01:00
artemp
cc5788e9c4 Merge branch 'master' into image-readers-c++11 2013-04-17 10:17:03 +01:00
Dane Springmeyer
294b10229e disable the hsla image-filter - not yet ready for primetime 2013-04-16 19:09:40 -07:00
artemp
9020e6f439 type_from_filename : add webp support 2013-04-16 10:56:10 +01:00
artemp
28ea89fe1c + remove const& qualifier 2013-04-12 16:03:08 +01:00
artemp
438bfad732 + factory : variadic templates based implementation ( requires c++11)
+ image_reader : stream based reading interface (boost::iostreams)
+ register additional png and jpeg readers with following sigs :

  ```
  std::auto_ptr<mapnik::image_reader> reader(mapnik::get_image_reader(buffer,size));
  // buffer - char const*
  // size - size_t
  ```
+ initial type_from_bytes implementation (TODO: add more types)
+ python : mapnik.Image.fromstring(str) mapnik.Image.frombuffer(buf)
2013-04-12 12:46:40 +01:00
Dane Springmeyer
5de4636be8 use mapnik::noncopyable 2013-04-10 18:15:09 -07:00
Dane Springmeyer
79a216f349 remove ltdl to reduce dependencies and because calling dlopen/LoadLibrary is easy 2013-04-09 19:37:02 -07:00
artemp
a25f1ccb56 + make image_reader non-copyable 2013-04-09 11:38:50 +01:00
artemp
a4770ac10b + cache fonts in memory 2013-04-02 13:27:05 +01:00
Daniel C. Casimiro
2080d0a986 Add a fix for compiling mapnik against boost 1.53.0.
Qualify the call to phoenix::construct so that the compiler on RHEL6
(gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4)) doesn't complain. The
compiler complains that "boost::phoenix::tag::construct" is not a function.
2013-04-01 06:08:53 -04:00
Hermann Kraus
5f137bcc28 Handle large errors in marker placement.
Closes #1485.
2013-04-01 05:27:13 +02:00
artemp
682635e975 + mapnik::projection add operator<< 2013-03-27 10:38:20 +00:00
Hermann Kraus
b1bc5a51b3 Apply scale factor to offsets. 2013-03-24 15:21:59 +01:00
Dane Springmeyer
f6870a6b70 correct the ltdl forward declare type 2013-03-22 19:47:57 -07:00
Dane Springmeyer
aaecd92fb6 Merge branch 'master' of github.com:mapnik/mapnik 2013-03-22 17:58:49 -07:00
Dane Springmeyer
55ec6a7942 cleanups around exception handling 2013-03-22 17:58:33 -07:00