Commit graph

2189 commits

Author SHA1 Message Date
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
Dane Springmeyer
f9514e5d2c formatting 2013-03-22 17:44:27 -07:00
Dane Springmeyer
3256037eb6 forward declare the lt_dlhandle type to avoid needing header in datasource_cache.hpp 2013-03-22 17:37:56 -07:00
artemp
fe092ac7a2 + implement offset
```
offset = "<number> | <percentage>"
```
2013-03-21 12:10:08 +00:00
artemp
542805e4d6 + support multiple color stops in colorize-alpha
( TODO: add support for:  <color-stop>     = <color> [ <percentage> | <length> ]? )
2013-03-20 17:21:09 +00:00
artemp
4b713f6ed0 + impl colorize-alpha image filter
NOTE:currently linear interpolation between two colours only
  TODO:support multiple colour stops : https://developer.mozilla.org/en-US/docs/CSS/linear-gradient
2013-03-20 15:17:41 +00:00
Dane Springmeyer
e47f3e635c remove explicit keyword on boolean to make llvm-gcc happy on os x 2013-03-19 14:10:01 -07:00
Dane Springmeyer
3b807db7e1 avoid gcc unsigned/signed comparison warning 2013-03-18 16:54:26 -07:00
Dane Springmeyer
f759964dbf c++ style 2013-03-15 16:52:02 -07:00
Dane Springmeyer
7d868558d7 fix a variety of msvc compiler warnings about signed/unsigned implicit conversion 2013-03-15 13:37:48 -07:00
Dane Springmeyer
94c5645e8b add new gamma members to agg_renderer 2013-03-14 17:15:35 -07:00
Dane Springmeyer
06803de192 iwyu 2013-03-14 15:13:02 -07:00
artemp
5e224bd705 + better error reporting 2013-03-14 09:52:23 +00:00
artemp
73261346cf + remove unused local vars 2013-03-14 09:35:41 +00:00
Dane Springmeyer
6cbceafc45 avoid direct freetype usage in core/public hpp file so that mapnik C++ depedencies do no need to known the freetype include paths 2013-03-12 18:12:54 -07:00
Dane Springmeyer
c7821889c9 refactor svg parsing so that libxml is not needed in the hpp file 2013-03-12 18:09:59 -07:00
Dane Springmeyer
20fcdc8034 iwyu 2013-03-12 16:56:47 -07:00
Dane Springmeyer
86ad6c0dab snap to pixels for markers because calculating placement 2013-03-12 12:14:01 -07:00
Dane Springmeyer
29ce3b1c75 fix handling of svg opacity, which should be applied to fill/stroke opacity at render time - closes #1744 2013-03-11 14:56:00 -07:00
Dane Springmeyer
3b834b4e6f formatting 2013-03-11 13:46:32 -07:00
artemp
4bdc5cdc10 + boost.geometry based polygon clipper
(NOTE: subject polygons must be 'valid' as in OGC world)
2013-03-11 09:44:20 +00:00
Dane Springmeyer
e66d007627 add halo-rasterizer option for text symbolizer
- closes #1298
  - allows for much faster halo drawing and simliar quality for
    radius values in the 1-2 px range
  - also moves grid_renderer away from using freetype stroker completely
    since halo quality is not critical for this renderer
2013-03-08 20:32:39 -08:00
Dane Springmeyer
76042a1700 parse and setup ability to known original, declared svg width/height - refs #1122 2013-03-08 17:40:19 -08:00
Dane Springmeyer
2fcd531345 pixel snap raster markers and svg files loaded from the file system - partially addresses #1316 2013-03-08 16:24:41 -08:00
Dane Springmeyer
c36795e0a9 respect both sx and sy in setting up affine transform for raster scaling since they may be different - closes #1748 2013-03-06 17:41:20 -08:00
artemp
f2b795af0b + skip SEG_CLOSE commands as they not used to transfer x/y 2013-03-06 21:31:12 +00:00
artemp
6ffe78c300 + expose set_minx/miny/maxx/maxy - makes it easier
to adapt for boost::geometry
2013-03-06 21:31:12 +00:00
Dane Springmeyer
c68ac84a3b fix typo 2013-03-06 11:43:51 -08:00
Dane Springmeyer
536cbd55d0 handle SEG_CLOSE and fix #1600 2013-03-06 11:35:12 -08:00
Dane Springmeyer
555fcf375e iwyu 2013-03-05 05:34:38 -08:00
artemp
fe174aee2e + remove unused vars 2013-03-01 14:42:23 -05:00
artemp
e9f03a565f + explicit polygon path closing 2013-03-01 11:08:58 -05:00
Dane Springmeyer
c184579c43 finish hsla transformation image-filter 2013-02-28 12:19:40 -05:00
artemp
9be2a525d2 + image-filters: parse hsla string directly 2013-02-27 15:35:56 -05:00
artemp
cbc809ddf5 + image-filters: add colorize-alpha filter 2013-02-27 14:44:22 -05:00
Dane Springmeyer
b1233d533f Merge pull request #1742 from mapnik/hsla-filter
Hsla filter
2013-02-27 09:27:37 -08:00
Dane Springmeyer
88360c365f fix serialization of agg-stack-blur and hsla filters 2013-02-27 11:33:53 -05:00
artemp
8dabe098ce + image-filters: add support for an optional function like syntax 2013-02-27 11:07:43 -05:00
Dane Springmeyer
9a49d0c82f Merge branch 'master' of github.com:mapnik/mapnik 2013-02-27 09:40:25 -05:00
Dane Springmeyer
04199e2a94 touchups to hsla work 2013-02-27 09:38:54 -05:00
artemp
8f12da81d1 + image-filters: make grammar more flexible to accomodate
different ctors signitures
+ add 'hsla' filter placeholder (TODO: add impl)
+ remove inused <iostream> include
2013-02-27 08:29:56 -05:00
Dane Springmeyer
f5d5502bc4 start implementing hsla image-filter 2013-02-26 19:21:05 -05:00
Dane Springmeyer
70940088d7 formatting 2013-02-26 16:52:51 -05:00
Dane Springmeyer
270a6eff33 allow passing scale_denom to renderer's apply method to allow overriding zoom level - closes #1582 2013-02-26 16:49:39 -05:00
Dane Springmeyer
4d82a97814 implement support in cairo and grid renderer for mapnik::request - refs #1737 2013-02-26 15:05:44 -05:00
Dane Springmeyer
7b950117e2 Merge branch 'master' of github.com:mapnik/mapnik into map-request 2013-02-26 12:57:11 -05:00
artemp
97f5d7c437 Merge remote-tracking branch 'origin/master' 2013-02-26 12:45:56 -05:00
artemp
218aca2159 + remove redundant const qualifier 2013-02-26 12:43:29 -05:00
Dane Springmeyer
054cb13231 Merge branch 'master' of github.com:mapnik/mapnik 2013-02-26 12:07:53 -05:00
Dane Springmeyer
d861636fbc move const char string2value interface to use iterators 2013-02-26 12:07:36 -05:00
artemp
be61bf6fef + pass by reference when possible (c++) 2013-02-26 11:58:07 -05:00
artemp
3b5707848e + use icu::UnicodeString::remove
+ formatting - c++ style comments
2013-02-26 11:46:22 -05:00
artemp
1ea60c472c + pass pixel_position by const ref
+ use BOOST_FOREACH for brevety
2013-02-26 11:45:24 -05:00
artemp
c3fab9e665 + formatting/cleanup 2013-02-26 11:44:23 -05:00
artemp
a1ea1701dd + use c++ style comments 2013-02-26 11:02:48 -05:00
artemp
bda0375f97 + formatting 2013-02-26 10:58:46 -05:00
Dane Springmeyer
712ff50abe make a few utility functions inline and static 2013-02-26 10:52:41 -05:00
Dane Springmeyer
864fdc5234 Merge branch 'master' of github.com:mapnik/mapnik into map-request 2013-02-25 19:33:54 -05:00
Dane Springmeyer
478a7acb2b c++ style 2013-02-25 19:33:35 -05:00
Dane Springmeyer
00a2f54346 further refine the mapnik::request object which can be passed to custom agg_renderer 2013-02-25 19:33:08 -05:00
Dane Springmeyer
6a00f92517 Merge branch 'master' of github.com:mapnik/mapnik into map-request 2013-02-25 16:49:45 -05:00
Artem Pavlenko
8905b1ddec Merge pull request #1733 from kkaefer/value_hash
Fix mapnik::value for boost 1.49 and other icu versions
2013-02-24 16:13:14 -08:00
Konstantin Käfer
8abc44e639 fix mapnik::value for boost 1.49 and other icu versions 2013-02-24 19:02:42 +01:00
Dane Springmeyer
86d8bf6b98 Merge pull request #1729 from kkaefer/value_hash
Support boost::hash() for mapnik::value
2013-02-23 11:16:49 -08:00
XinGang Li
a10855da75 fix _MSC_VER typo. 2013-02-23 22:38:16 +08:00
Konstantin Käfer
67c537b43b support boost::hash() for mapnik::value 2013-02-23 13:04:47 +01:00
Dane Springmeyer
16817fe6ea Merge branch 'master' of github.com:mapnik/mapnik into map-request 2013-02-22 13:50:06 -08:00
Dane Springmeyer
edbe5aca32 Merge branch 'master' of github.com:mapnik/mapnik 2013-02-22 13:00:10 -08:00
Dane Springmeyer
249c77d7b8 expose nonconst access to datasource parameters 2013-02-22 12:40:40 -08:00
XinGang Li
fa52c389b8 Only explictly defining the enumeration template class for msvc. 2013-02-23 00:51:37 +08:00
XinGang Li
b1b90f527a Fixed the enumeration link error with msvc when build python bindings. 2013-02-22 23:59:12 +08:00
XinGang Li
7f1e416313 Export the to_wkt functions to avoid python bindings access the internal structs. 2013-02-22 23:58:41 +08:00
XinGang Li
df7db521bb Add parse_image_filters function to avoid python bindings access the internal structs. 2013-02-22 23:58:30 +08:00
XinGang Li
e5d1418417 Add missing class declaration for python bindings. 2013-02-22 23:57:27 +08:00
Dane Springmeyer
7c4186b09f Merge branch 'master' of github.com:mapnik/mapnik into map-request 2013-02-21 14:40:07 -08:00
Dane Springmeyer
a645eb9a21 Revert "+ use boost::move to emulate 'move' semantics"
This reverts commit fe9ff21ba9.
2013-02-21 12:50:53 -08:00
Dane Springmeyer
dcbd92cc58 sync with master 2013-02-21 11:40:19 -08:00
artemp
fe9ff21ba9 + use boost::move to emulate 'move' semantics
for mapnik::rule_cache objects and avoid
  dynamically allocating them.
2013-02-21 12:50:23 +00:00