Commit graph

1123 commits

Author SHA1 Message Date
Dane Springmeyer
dffd0a6e9e add has_svg_renderer status to python bindings 2013-11-22 15:49:39 -08:00
Dane Springmeyer
64d5153aea Improved support for international text
- Implementation by @herm for GSOC 2012 (http://mapnik.org/news/2012/10/06/gsoc2012-status9/)
 - C++11 port, improvements, optimizations by @artemp
 - Testing and integration with master by @springmeyer
 - Thank you to all the support from @behdad along the way
 - Thanks for help testing @toton6868, @stephankn, @nirvn, @mfrasca, @simonsonc and many others

Refs: #2073,#2070,#2038,#2037,#1953,#1820,#1819,#1714,#1634,#1547,#1532,#1319,#1208,#1154,#1146
2013-11-22 00:06:32 -08:00
Dane Springmeyer
1c56f0dc19 Merge branch '2.3.x' of github.com:mapnik/mapnik 2013-11-21 13:09:52 -08:00
Dane Springmeyer
9688562df3 python render_with_detector: respect scale_factor and offsets - refs #2075 2013-11-17 20:10:20 -08:00
Dane Springmeyer
03fdf7e596 Merge branch '2.3.x' of github.com:mapnik/mapnik
Conflicts:
	src/deepcopy.cpp
	src/expression.cpp
	src/rule.cpp
2013-11-13 20:00:13 -08:00
Dane Springmeyer
5de5ffb764 remove unused and broken deepcopy support to be replaced in #2081 - refs #1390 and #946 2013-11-13 19:26:17 -08:00
Dane Springmeyer
53e95bb506 Merge pull request #2074 from mapnik/text-refactor
Organize text code in subdirectory
2013-11-08 17:31:52 -08:00
Dane Springmeyer
cb614af83e iwyu 2013-11-07 20:24:10 -08:00
Dane Springmeyer
c7a6265869 organize text code in subdirectory 2013-11-07 20:09:22 -08:00
Dane Springmeyer
08fa9fd8ec Merge branch '2.3.x' of github.com:mapnik/mapnik
Conflicts:
	bindings/python/mapnik_building_symbolizer.cpp
	bindings/python/mapnik_debug_symbolizer.cpp
	bindings/python/mapnik_line_pattern_symbolizer.cpp
	bindings/python/mapnik_line_symbolizer.cpp
	bindings/python/mapnik_markers_symbolizer.cpp
	bindings/python/mapnik_point_symbolizer.cpp
	bindings/python/mapnik_polygon_symbolizer.cpp
	bindings/python/mapnik_python.cpp
	bindings/python/mapnik_raster_symbolizer.cpp
	bindings/python/mapnik_shield_symbolizer.cpp
	bindings/python/mapnik_symbolizer.cpp
2013-11-07 09:21:05 -08:00
Dane Springmeyer
fe5b3713ba python bindings: reduce compile times by consolidating code in fewer cpp files 2013-11-05 15:11:23 -08:00
artemp
afd58da6e2 geojson - feature_collection_parser
(allow single feature and geometry input)
2013-11-04 12:39:10 +00:00
Dane Springmeyer
0d58a8aee4 merge with 2.3.x 2013-10-28 14:45:52 -07:00
Dane Springmeyer
86dfa0778a fix cairo reference counting and add more cairo context tests - closes #2031 2013-10-28 12:46:44 -07:00
Dane Springmeyer
882ee3cb32 Merge branch '2.3.x' of github.com:mapnik/mapnik 2013-10-23 21:12:54 -07:00
Dane Springmeyer
5a2954dab7 attempt to fix boost python with c++11 and boost 1.49 - refs #2022 2013-10-23 15:42:01 -07:00
Dane Springmeyer
710d558218 scons: simplify linkflags/ldflags setting / attempt to fix #2025 2013-10-22 16:35:46 -04:00
artemp
7adee4ab36 c++11 : remove boost::make_shared includes 2013-10-17 15:09:56 +01:00
Dane Springmeyer
1aad73b2ad iwyu 2013-10-14 17:47:51 -04:00
Hermann Kraus
765dda465c Only call function if it is actually built. 2013-10-14 02:34:28 +02:00
Hermann Kraus
cf7aa83bd8 Only call function if it is actually built. 2013-10-14 02:24:36 +02:00
artemp
3edfc69c81 == c++11
use std::tuple with std::get<>
2013-10-11 12:36:04 +01:00
Dane Springmeyer
f9e630bbd3 Merge remote-tracking branch 'origin/2.3.x' 2013-10-02 18:23:09 -07:00
Dane Springmeyer
ac961feb64 expose mapnik.Color.packed to get unsigned rgba value 2013-10-01 21:30:49 -07:00
Dane Springmeyer
e9ad589e13 Add boost version header 2013-10-01 09:35:36 -07:00
artemp
c0461280be + add get_pointer impl for std::shared_ptr<T>
when building agaist boost version < 1.53
2013-10-01 15:08:46 +01:00
artemp
a3c329a6f8 == Boost.Python std::shared_ptr ==
+ ensure mapnik::memory_datasource is wrapped in std::shared_ptr in Python bindings
+ register implicit conversion from std::shared_ptr<memory_datasource> to std::shared_pre<datasource>

ref #2020
2013-10-01 14:48:54 +01:00
Dane Springmeyer
0f4ba4dfd5 sync with 2.3.x branch 2013-09-25 20:04:31 -07:00
Dane Springmeyer
feaddaeed0 fix raster colorizer via python 2013-09-25 15:22:57 -07:00
artemp
10196f35b4 Merge branch 'c++11' into c++11-revised
Conflicts:
	bindings/python/python_grid_utils.cpp
	include/mapnik/font_engine_freetype.hpp
	include/mapnik/value.hpp
	src/agg/process_building_symbolizer.cpp
	src/cairo_renderer.cpp
	src/grid/process_building_symbolizer.cpp
2013-09-23 08:53:36 +01:00
artemp
0eada70845 + use const std::unique_ptr< []> instead of boost::scoped_array 2013-09-20 15:01:58 +01:00
artemp
62af2e6765 + replace <boost/shared_ptr.hpp> with <memory> 2013-09-20 14:13:23 +01:00
artemp
b315eb2167 + use std::shared_ptr and std::make_shared 2013-09-20 14:01:27 +01:00
Dane Springmeyer
5d12a345ae start using c++11 features: auto/for/unique_ptr/variadic args - refs #1972 2013-09-19 20:19:01 -07:00
Dane Springmeyer
30c8ca5f66 minor formatting to sync cleaner with master 2013-09-18 19:04:44 -07:00
Dane Springmeyer
d79ecf882f merge with master 2013-09-18 18:49:32 -07:00
Dane Springmeyer
7a6ab9b0ed sync a few files with master 2013-09-18 18:47:44 -07:00
Dane Springmeyer
722aa4ae14 python: add support for __geo_interface__ - closes #2009 2013-09-18 16:08:34 -07:00
artemp
ec0bdb21ad Merge branch 'geometry-types' into c++11 2013-09-16 14:18:22 +01:00
Dane Springmeyer
6bfbb53eac optimized WKTReader for parsing WKT into geometry paths 2013-09-15 23:23:43 -07:00
artemp
b690015d63 Merge branch 'master' into c++11 2013-09-09 12:32:47 +01:00
Dane Springmeyer
c5dd5487a5 Merge pull request #1966 from mapnik/background-image-comp-op
Map background-image-comp-op and background-image-opacity
2013-09-05 12:25:47 -07:00
artemp
d4b9a48cb1 + geometry::types Exterior/Interior polygon loops 2013-09-03 12:15:31 +01:00
artemp
4f4e2b001e Merge branch 'master' into c++11
Conflicts:
	SConstruct
	benchmark/run.cpp
	bindings/python/mapnik_datasource.cpp
	bindings/python/mapnik_feature.cpp
	bindings/python/python_optional.hpp
	include/mapnik/css_color_grammar.hpp
	include/mapnik/expression_grammar.hpp
	include/mapnik/feature.hpp
	include/mapnik/feature_style_processor_impl.hpp
	include/mapnik/image_filter_types.hpp
	include/mapnik/image_util.hpp
	include/mapnik/json/geometry_generator_grammar.hpp
	include/mapnik/json/geometry_grammar.hpp
	include/mapnik/processed_text.hpp
	include/mapnik/tiff_io.hpp
	include/mapnik/util/geometry_svg_generator.hpp
	include/mapnik/util/geometry_wkt_generator.hpp
	include/mapnik/utils.hpp
	include/mapnik/webp_io.hpp
	include/mapnik/wkt/wkt_grammar.hpp
	plugins/input/shape/shape_datasource.cpp
	plugins/input/shape/shapefile.hpp
	src/expression_grammar.cpp
	src/expression_string.cpp
	src/image_util.cpp
	src/json/feature_collection_parser.cpp
	src/json/feature_parser.cpp
	src/miniz.c
	src/symbolizer_helpers.cpp
	src/tiff_reader.cpp
	src/webp_reader.cpp
	tests/cpp_tests/geometry_converters_test.cpp
	tests/cpp_tests/image_io_test.cpp
	tests/cpp_tests/map_request_test.cpp
	tests/python_tests/image_test.py
	tests/visual_tests/test.py
2013-08-30 09:46:09 +01:00
Dane Springmeyer
5e322dbff2 Merge pull request #1991 from PetrDlouhy/master
Offset enabled for LinePatternSymbolizer + tests
2013-08-27 15:13:15 -07:00
Dane Springmeyer
6af6d66739 python: fix reporting of tiff and webp image support 2013-08-23 15:18:00 -07:00
Petr Dlouhý
1e9ee87fce add LinePatternSymbolizer offset python binding 2013-08-22 12:56:04 +02:00
Dane Springmeyer
e0026f3df2 use icu:: namespace and start isolating icu impl by consistenly using mapnik::value_unicode_string 2013-08-13 18:52:04 -04:00
Dane Springmeyer
78b4980352 finish exposing mapnik.Feature.from_geojson 2013-07-30 15:45:46 -04:00
Dane Springmeyer
13343eb5be workaround c++11 compile error due to ambiguous std::vector::insert usage - closes #1973 2013-07-30 15:14:47 -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
88b24144b6 ensure libmapnik DEFINES are propagated to the python bindings 2013-07-23 19:58:13 -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
93d36ff1e3 avoid -Wunused-parameter warning 2013-07-23 16:10:16 -04:00
Dane Springmeyer
31931b89cb git rid of a few fixme 2013-07-23 16:00:16 -04:00
Dane Springmeyer
0b58eea131 scons: link bindings to rt on linux 2013-07-14 16:32:16 -04:00
Tom Hughes
a93832cbff Avoid truncating 64 bit return values on 32 bit platforms 2013-07-10 22:36:11 +01:00
Dane Springmeyer
4bc28d547b handle lacking return value handling caught by coverity 2013-07-04 14:31:46 -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
fbeeb54558 fix compile with python 3.x 2013-06-06 13:11:34 -07:00
Dane Springmeyer
5cb6bbe01c fix python linking when using static libraries for deps or statically building libmapnik 2013-06-03 13:17:45 -07:00
Dane Springmeyer
3b2bdba7b0 iwyu 2013-06-02 20:19:33 -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
fa15b5feaa add python wrappers for CSV and GeoJSON plugins - closes #1882 2013-06-02 12:12:39 -07:00
Dane Springmeyer
481fb3d380 no need to explicitly link to cairo on osx in python bindings if using dynamic lookup 2013-05-30 09:19:05 -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
artemp
7a119a5b9e + mapnik_datasource parameters : handle unicode objects - convert to internal UTF8 representation 2013-05-20 14:00:02 +01:00
artemp
e57f5f9547 cherry picking.. 2013-05-20 14:00:02 +01:00
artemp
4c05d3a617 + mapnik_datasource parameters : handle unicode objects - convert to internal UTF8 representation 2013-05-20 11:48:13 +01:00
Dane Springmeyer
ef5e8f7fff fix linking of python bindings when building against libmapnik.a 2013-05-17 08:38:09 -07:00
artemp
392561c5d9 add to/from specialisation for boost::optional<bool> 2013-05-17 11:16:11 +01:00
Dane Springmeyer
b6a937e93d iwyu 2013-05-16 12:47:36 -07:00
artemp
d5c9fea7b6 + remove redundant work-around 2013-05-16 20:32:19 +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
c34f86e08f finish cleanup after geos plugin removal - refs #1809 2013-05-16 11:55:58 -07:00
artemp
37cc3de4aa + use mapnik::noncopyable 2013-05-16 19:41:59 +01:00
artemp
a3900131fd + add python_optional<float> specialization 2013-05-16 19:41:59 +01:00
artemp
8ed9606046 * c++ style comments, pls!
* formatting
2013-05-16 19:41:59 +01:00
Dane Springmeyer
c127757cd6 remove uneeded exception translator for mapnik::config_error - works around #1847 2013-05-16 07:40:54 -07:00
artemp
26302e19af + add from_geojson static method
TODO: better handling of feature.id() and transcoder
2013-05-14 14:53:52 +01:00
Dane Springmeyer
1b95518ce1 remove kismet plugin - closes #1833 2013-05-09 17:29:03 -07:00
artem@windows
ffc7a088a4 use std::move
msvc : temp fix https://svn.boost.org/trac/boost/ticket/2839
2013-05-02 12:03:16 -07:00
artemp
a8376d2a4b + fix method signature 2013-04-30 18:46:34 +01: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
03d08799e0 + add missing .cpp file 2013-04-23 18:18:03 +01:00
artemp
f897a54445 + reflect wkt_parser in python
```python

import mapnik
reader = mapnik.WKTReader()
geometry = reader.read("Point(123 123)")

```
2013-04-23 15:10:06 +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
8908a4bd1b + re-enable svg generator 2013-04-19 12:11:18 +01:00
artemp
c73e48fa58 + use std::unique_ptr instead of std::auto_ptr (deprecated!) 2013-04-19 09:50:50 +01:00
artemp
22a1df8388 Merge branch 'master' into image-readers-c++11
Conflicts:
	include/mapnik/factory.hpp
2013-04-18 09:48:31 +01:00
Dane Springmeyer
19b777455e also translate std::out_of_bounds => IndexError otherwise new std::exception => runtime catch will override - refs #1816 2013-04-17 15:28:48 -07:00
Dane Springmeyer
20b643a22a add missing exception translator for datasource exceptions by catching std::exception - closes #1816 2013-04-17 13:40:48 -07: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
5ceecd40a3 avoid ambiguity between boost::python::range and boost::range - fixes compile error with llvm-gcc 2013-03-19 14:09:36 -07:00
Dane Springmeyer
93c4762ed5 fix access to mapnik::query::property_names in python - closes #1762 2013-03-14 15:31:21 -07:00
Dane Springmeyer
e2c7283522 Added new mapnik-config options: git-describe, defines, includes, dep-includes, and cxxflags - closes #1443 2013-03-13 19:49:59 -07:00
Dane Springmeyer
b479de9e96 fix compile with python >=3 2013-03-12 18:42:42 -07: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
662ff26f94 im/view.is_solid method in python bindings to match node-mapnik - closes #1728 2013-02-22 13:40:05 -08:00
Dane Springmeyer
b5a74292a5 return stylename,styleo obj in tuple from map.styles - closes #1725 - amends 16ce1f5bdd 2013-02-22 13:39:14 -08:00
Dane Springmeyer
edbe5aca32 Merge branch 'master' of github.com:mapnik/mapnik 2013-02-22 13:00:10 -08:00
Dane Springmeyer
bdf1a08f1e ensure python bindings return const params 2013-02-22 12:41:12 -08:00
XinGang Li
7bb5676f11 Let template parameter type same as declaration in hpp file. 2013-02-22 23:59:01 +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
Dane Springmeyer
86a873857f simplify scale_denominator interface 2013-02-20 18:02:28 -08:00
Dane Springmeyer
a8599d7c61 remove uneeded default args to projection ctor (also fixes msvc linking) 2013-02-20 10:47:55 -08:00
Dane Springmeyer
808b07ad6c fix error output if svg geometry conversion fails 2013-02-10 06:17:04 -08:00
artemp
ad39c9a16a + symbolizers: add hash impl 2013-02-05 16:53:20 +00:00
artemp
79f0f18f3c + provide both symbols and copy_symbols methods 2013-02-04 19:08:10 +00:00
artemp
16ce1f5bdd + implement Map::styles method returning StyleRange object
```
  import mapnik
  m = mapnik.Map(256,256)
  ...
  for style in m.styles:
      print style
  ```
2013-02-04 18:02:52 +00:00
artemp
69e2174524 + fix return value policy 2013-02-04 17:59:31 +00:00
artemp
14fecfd778 + cleanup style.. 2013-02-04 17:59:09 +00:00
Dane Springmeyer
b1c1c86346 make PNG and TIFF support optional - closes #1704 2013-01-29 02:17:37 -05:00
Dane Springmeyer
47ab9913ee make consistent the proj4 string used for spherical mercator across tests and docs 2013-01-28 13:48:13 -05:00
Dane Springmeyer
b987d2287c iwyu 2013-01-25 00:45:58 -08:00
artemp
8c12d6895f + support unicode names in mapnik.Parameter
(Py_Unicode <-> utf8)
2013-01-17 15:59:42 +00:00
artemp
b5f2c8f9f9 + mapnik.Parameter from Py_Unicode ctor
(stored as utf8 std::string)
2013-01-17 15:17:46 +00:00
Dane Springmeyer
18e23be9c0 merge work from mappy/abonnasseau allowing buffer-size to be overiddend by layer - closes #1566 2013-01-15 18:53:34 -08:00
Dane Springmeyer
6859bea499 iwyu 2013-01-13 21:48:56 -08:00
Dane Springmeyer
bbcd53c6f4 refactor headers involving variant attempting to move as much variant usage out of hpp files to speed up compiles 2013-01-12 21:00:45 -08:00
Dane Springmeyer
2175112edd Merge branch 'master' of github.com:mapnik/mapnik 2013-01-10 23:20:35 -08:00
Dane Springmeyer
ce4d0fcd9e expose contains method (fixes infinite recursion in py3k) 2013-01-10 23:11:45 -08:00
Dane Springmeyer
6128097d78 fix compile with python 3.3.x - closes #1595 2013-01-10 23:04:14 -08:00
Dane Springmeyer
94ff584190 finish complete removal of any trace of cairomm/libsigc++ - amends f25d4d9279 and closes #1681 2013-01-09 12:49:39 -08:00
artemp
f25d4d9279 + implement cairo_context wrapper and remove unnecessary dependencies
( cairomm, libsigc++)
2013-01-09 17:00:30 +00:00
Dane Springmeyer
e0622be27d fixup parameters conversion from python 2013-01-04 11:28:00 -08:00
Dane Springmeyer
098f58a206 Merge branch 'master' of github.com:mapnik/mapnik 2013-01-04 09:46:14 -08:00
artemp
e68a65db33 + returning mapnik::parameter makes more sense in this context (?) 2013-01-04 16:55:18 +00:00
artemp
8e78bb3c20 + return value_holder from get_params_by_index 2013-01-04 16:17:51 +00:00
artemp
9ad93d5b06 + change ctor's order - fixes integer parameters convert/extract 2013-01-04 15:55:34 +00:00
Dane Springmeyer
958dce3783 iwyu 2013-01-03 22:34:31 -08:00
Dane Springmeyer
618e43af06 create path_expression.hpp and leverage to simplify and speed up compiles 2013-01-03 20:00:23 -08:00
Dane Springmeyer
c860c9165e various fixes to includes to include what is used 2013-01-03 18:06:07 -08:00
Dane Springmeyer
00e6316ef8 Merge branch 'master' of github.com:mapnik/mapnik into bigint-feature-id 2012-12-20 17:38:01 -08:00
Dane Springmeyer
5479dfbe0e change mapnik::value::to_bool to return false if a string is empty - closes #1665 2012-12-20 14:24:56 -08:00
Dane Springmeyer
66a5c26fdc leverage mapnik::value_integer for feature.id() and grid rendering buffer - refs #1662 2012-12-19 19:24:52 -08:00
Dane Springmeyer
e53914463a return the grid::value_type instead of hardcoding int 2012-12-19 18:06:51 -08:00
artemp
0eefd304bf cMerge branch 'master' into bigint
Conflicts:
	bindings/python/mapnik_feature.cpp
2012-12-19 09:39:51 +00:00
Dane Springmeyer
4c64fb4b0d fix #1659 but re-break bool->int auto-conversion, which is less of a problem 2012-12-18 20:22:02 -08:00
artemp
f5dd9e53c4 + calc int_parser/generator type from mapnik::value_integer 2012-12-18 18:05:45 +00:00
artemp
a38b252ccd Merge branch 'master' into bigint
Conflicts:
	plugins/input/geojson/geojson_datasource.cpp
	plugins/input/postgis/postgis_featureset.cpp
2012-12-18 13:57:39 +00:00
Dane Springmeyer
c5410fac7e remove bind option for datasources - refs #962 2012-12-17 10:03:07 -08:00
Dane Springmeyer
16aae90bfc iwyu 2012-12-16 12:50:36 -08:00
artemp
3ab9f273d8 + use mapnik values in python converters 2012-12-14 10:24:50 +00:00
artemp
c4bae9d30a Merge branch 'master' into bigint
Conflicts:
	bindings/python/mapnik_feature.cpp
	plugins/input/shape/dbfile.cpp
2012-12-14 10:01:21 +00:00
Dane Springmeyer
9abcda54c7 ensure boolean types are converted first - refs #1642 2012-12-11 19:38:27 -08:00
Dane Springmeyer
2353deced4 enable conversion from Py_None to mapnik::value_null - refs #1642,#794 2012-12-11 18:13:33 -08:00
Dane Springmeyer
6b84269343 add pad method on box2d to help tighten otherwise verbose code 2012-12-11 13:56:25 -08:00