Hermann Kraus
1dba0581c2
Merge branch 'master' into harfbuzz
...
Conflicts:
src/cairo_renderer.cpp
2012-08-12 12:32:35 +02:00
artemp
7847af51e7
+ fix __iter__ protocol
2012-08-08 16:15:54 +01:00
artemp
abd40edfd9
+ add std::runtime_error to python translator
2012-08-08 12:11:30 +01:00
artemp
c2dca42a4f
+ use Py_RETURN_NONE
...
+ cleanup/simplify
2012-08-07 17:01:03 +01:00
artemp
7cfdfde247
+ call Py_RETURN_NONE macro to properly handle returning Py_None
...
(http://docs.python.org/c-api/none.html ) - thanks, @lightmare!
2012-08-07 15:43:40 +01:00
artemp
9da9ffadc1
+ don't crash on empty paths
2012-08-07 14:47:28 +01:00
artemp
60d843a7a8
+ temp fix : provide get_fill_opacity_impl to avoid
...
"No to_python (by-value) converter found for C++ type: float"
2012-08-07 11:37:24 +01:00
Artem Pavlenko
189322ef9f
Merge pull request #1337 from rjw57/rjw57-python-plugin
...
Request for comments: python: a new plugin to use arbitrary Python as a data source
2012-08-06 05:09:29 -07:00
Hermann Kraus
3529ecf336
Update python bindings to work with 5e259bf064
.
2012-08-04 19:51:39 +02:00
Hermann Kraus
ef0aae3733
Merge branch 'master' into harfbuzz
...
Conflicts:
src/build.py
2012-08-03 19:27:09 +02:00
artemp
5541ea0271
+ layer : minimum-extent and buffer-size
...
+ agg::process_xxx : remove ad-hoc query_extent modifiers
+ ctrans : simplify vertex skipping
2012-08-01 15:44:36 +01:00
Dane Springmeyer
a9f99848c2
expose boost::optional<mapnik::stroke> for markers_symbolizer (which works as oopposed to boost::optional<double> and boost::optional<float> which are broken
2012-07-31 18:40:53 -07:00
Dane Springmeyer
f60f40c939
Merge pull request #1157 from mapnik/stroke-as-reference
...
make stroke property on line_symbolizer a reference when accessed from python (not a copy)
2012-07-31 18:20:55 -07:00
Dane Springmeyer
16084ff335
support both interior placement and point for markers - helps prepare for #952
2012-07-31 18:13:50 -07:00
Rich Wareham
156a7590f4
python: a new plugin to use arbitrary Python as a data source
...
This plugin allows you to write data sources in the Python programming language.
This is useful if you want to rapidly prototype a plugin, perform some custom
manipulation on data or if you want to bind mapnik to a datasource which is most
conveniently accessed through Python.
The plugin may be used from the existing mapnik Python bindings or it can embed
the Python interpreter directly allowing it to be used from C++, XML or even
JavaScript.
Mapnik already has excellent Python bindings but they only directly support
calling *into* mapnik *from* Python. This forces mapnik and its input plugins to
be the lowest layer of the stack. The role of this plugin is to allow mapnik to
call *into* Python itself. This allows mapnik to sit as rendering middleware
between a custom Python frontend and a custom Python datasource. This increases
the utility of mapnik as a component in a larger system.
There already exists MemoryDatasource which can be used to dynamically create
geometry in Python. It suffers from the problem that it does not allow
generating only the geometry which is seen by a particular query. Similarly the
entire geometry must exist in memory before rendering can progress. By using a
custom iterator object or by using generator expressions this plugin allows
geometry to be created on demand and to be destroyed after use. This can have a
great impact on memory efficiency. Since geometry is generated on-demand as
rendering progresses there can be arbitrarily complex 'cleverness' optimising
the geometry generated for a particular query. Obvious examples of this would
be generating only geometry within the query bounding box and generating
geometry with an appropriate level of detail for the output resolution.
2012-07-31 17:05:27 +01:00
Dane Springmeyer
0d97b851fa
markers: support opacity on bitmaps, and move to supporting both opacity and fill-opacity
2012-07-30 18:31:21 -07:00
Hermann Kraus
9cdb9a7bf3
Fix build errors introduced by 4e3e5cb0b0
.
2012-07-29 01:31:10 +02:00
Hermann Kraus
4e3e5cb0b0
Merge branch 'master' into harfbuzz
...
Conflicts:
bindings/python/mapnik_shield_symbolizer.cpp
include/mapnik/agg_renderer.hpp
include/mapnik/cairo_renderer.hpp
src/build.py
2012-07-28 20:59:42 +02:00
Hermann Kraus
a953d535ad
Use pixel_position consistently everywhere.
2012-07-28 16:34:44 +02:00
Dane Springmeyer
1476280189
include what you use
2012-07-24 19:08:15 -07:00
Dane Springmeyer
6c7ab1767b
include what you use
2012-07-24 18:35:18 -07:00
Hermann Kraus
08cbf1c71c
Fix deprecation warnings. Part 2
...
Closes #1340 .
2012-07-25 01:15:44 +02:00
Dane Springmeyer
e13e81c4d5
move grid utility functions to cpp file - avoids function 'defined but not used' compiler warnings - refs #1330
2012-07-23 11:43:24 -07:00
Hermann Kraus
b53849d441
Merge branch 'master' into harfbuzz
...
Conflicts:
include/mapnik/font_engine_freetype.hpp
include/mapnik/symbolizer_helpers.hpp
src/agg/process_shield_symbolizer.cpp
src/agg/process_text_symbolizer.cpp
src/cairo_renderer.cpp
src/font_engine_freetype.cpp
src/formatting/list.cpp
src/grid/process_shield_symbolizer.cpp
src/grid/process_text_symbolizer.cpp
src/symbolizer_helpers.cpp
tests/visual_tests/styles/harfbuzz.xml
2012-07-21 20:19:22 +02:00
Dane Springmeyer
e36081a5c0
change geometry_utils::from_wkb to return a bool that signifies if at least one wkb path was parsed - refs #1333 and #1305
2012-07-20 15:09:01 -07:00
Rich Wareham
7b3baee3a1
python bindings: export Query.resolution property as a tuple
...
Although the mapnik::query class is exposed to the Python bindings, the
resolution attribute is a raw boost::tuple. If you attempt to access
this tuple from Python, boost complains strongly.
This patch adds the required magic to marshal the raw boost::tuple which
is query::resolution_type into an honest-to-goodness Python tuple.
2012-07-19 19:35:20 +01:00
artemp
d3bc55761b
+ define keys container in client code not in grid/grid_view,
...
e.g doesn't have to be std::map<...>
2012-07-12 10:57:57 +01:00
Dane Springmeyer
3e895ac6b7
implement built in support for ellipse and arrow markers, make markers_symbolizer default to POINT placement and ellipse drawing, add back compatibility for deprecated marker-type property - refs #1285 and #1304
2012-07-10 22:38:53 -07:00
Dane Springmeyer
5aff56a192
expose ability to clear global caches in python - closes #1022
2012-07-10 09:36:08 -07:00
Hermann Kraus
17efe0601b
Make sure everything compiles again after font engine changes.
2012-07-08 17:19:55 +02:00
Dane Springmeyer
cde0c0217d
add missing file
2012-07-06 18:39:59 -07:00
Dane Springmeyer
269569250c
use mapnik.Image for visual tests - closes #1296
2012-07-06 17:44:15 -07:00
Dane Springmeyer
3823890b40
rollback 34c3128b0c
, move 'scaling' to proper enum, and move image_scaling functions to new cpp/hpp
2012-07-06 16:45:58 -07:00
Dane Springmeyer
9dd69d091b
merge with master
2012-07-05 15:40:16 -07:00
Dane Springmeyer
d8c719f05e
finish exposing scale_factor to cairo_renderer
2012-07-05 14:54:58 -07:00
Dane Springmeyer
44769def3c
Merge branch 'master' of github.com:mapnik/mapnik
2012-07-05 11:55:05 -07:00
Dane Springmeyer
906de8e317
simplify boost_python library configure checks
2012-07-05 11:54:43 -07:00
artemp
ebf1ef6bcf
+ update python bindings for markers_symbolizer
2012-07-05 17:13:21 +01:00
artemp
9b14a7206a
remove arrow/ellipse ad-hoc markers - see #1285
2012-07-04 14:50:11 +01:00
Hermann Kraus
aecd6820c2
Use char_properties_ptr everywhere.
2012-07-02 00:10:55 +02:00
Hermann Kraus
e537b0e8dd
Remove old code.
2012-07-01 02:47:39 +02:00
Hermann Kraus
63e8b6d6db
Some changes to make testing easier.
2012-06-30 10:04:18 +02:00
Hermann Kraus
62ccc7d313
Send processed text directly to text_layout.
2012-06-29 00:48:04 +02:00
Dane Springmeyer
d9880efd6e
avoid compiler warning on unsigned/signed comparison
2012-06-26 11:23:26 -07:00
Dane Springmeyer
5b873beafb
add support for dynamically inheriting an optional settings file in python
2012-06-25 15:37:49 -07:00
Artem Pavlenko
2e9f3ad245
python bindings : expose largest_bbox_only property
2012-06-25 15:09:40 +01:00
Dane Springmeyer
5b61c093e5
initialize grid buffers to std::numeric_limits<int>::min() and use that value to mean no-hit or non-interactive pixels - closes #1065
2012-06-23 22:41:07 -04:00
Dane Springmeyer
631b3637dc
avoid compiler warning
2012-06-23 22:10:12 -04:00
Dane Springmeyer
eb4740b50f
fix behavior of compositing via python api now that we have premultiplication issues sorted out in core - refs #1262 and #314 and #1211
2012-06-21 15:44:57 -04:00
Artem Pavlenko
c5864453a0
+ only premultiply src
2012-06-18 18:50:32 -04:00