artemp
1f2f17160e
initial implementation to pre-evaluate symbolizer properties where possible
...
FIXME: generic version needs needs help type deduction
2014-07-03 16:35:18 +01:00
artemp
ab3aad38ad
symbolizer properties : image_transform, cleanups
2014-07-03 09:06:24 +01:00
Dane Springmeyer
6034837c95
perf/image_scaling: avoid unnessary clearing of target image which will already be zero-initialized
2014-07-03 00:37:50 -07:00
artemp
5ef8078252
markers_symbolizer properties update
2014-07-02 13:08:05 +01:00
artemp
13d3465000
update point_placement_enum, gamma_method_enum, line_rasterizer_enum parsing, gamma-method
2014-07-02 11:01:38 +01:00
artemp
3f040a3422
set_symbolizer_property : specialization for transform_type
2014-07-02 10:29:05 +01:00
artemp
4965dc6e7f
fix name
2014-07-02 10:16:58 +01:00
artemp
504c6fdabd
make ``simplify_algorithm
`` an expression
2014-07-02 10:15:44 +01:00
artemp
dd9365a817
throw config_error, cleanup
2014-07-01 14:17:07 +01:00
artemp
a26f389cb2
throw on symbolizer property parsing failure
2014-07-01 14:02:35 +01:00
artemp
91f08801ce
consistent namings
2014-07-01 09:39:27 +01:00
artemp
2271e7413c
ENUM_FROM_STRING macro to keep things tidy and scalable
2014-06-30 17:41:33 +01:00
artemp
79fa672843
support expressions in stroke-linejoin and stroke-linecap properties
2014-06-30 14:06:34 +01:00
artemp
19b38c2ed9
more generic expressions in enum
...
support expressions in halo-comp-op symbolizer property
2014-06-27 16:11:30 +01:00
artemp
aa9966ed88
parse comp-op property as enumeration_wrapper or expression_str
2014-06-27 13:58:03 +01:00
artemp
0702679bb0
don't call *params.get<std::string>("type"), instead use static datasource::name()
...
(FIXME: consider removing redundant 'name' in feature_layer_descriptor)
2014-06-26 10:51:24 +01:00
artemp
a49abab7ed
use std::uniqure_ptr<char[]> to store memory fonts
2014-06-24 12:05:53 +01:00
artemp
b9bfef634f
wchar_t literal needs L""
2014-06-24 11:45:13 +01:00
artemp
11c2aad531
Merge branch 'master' into stdio
...
Conflicts:
src/font_engine_freetype.cpp
2014-06-24 11:42:33 +01:00
artemp
45ba10e701
use _wfopen in windows
2014-06-24 11:40:04 +01:00
artemp
8255163945
style
2014-06-24 11:23:13 +01:00
artemp
68775c52ff
call FT_Done_Face for matching FT_Open_Face
2014-06-24 11:21:01 +01:00
artemp
f4acd06f84
c++11 - use std::unique_ptr instead of boost::scoped_array
...
(TODO - consider storing unique_ptr's in memory_fonts_ and avoid constructing std::string)
2014-06-23 17:33:31 +01:00
artemp
284786ec16
wrap FILE* in std::unique_ptr (RAII)
...
pull C-i/o from std:: namespace
2014-06-23 17:23:28 +01:00
artemp
4d42df8f3c
ensure we read the whole file at once
2014-06-23 17:11:53 +01:00
artemp
b1d8e06032
oops buffer.get() returns raw bytes (not \0
terminated C-string)
2014-06-23 17:08:00 +01:00
artemp
1c25c34dec
no sure if 'rewind' is a standard - use fseek instead
2014-06-23 16:59:30 +01:00
artemp
4acba303a5
+ use C-style I/O to read font file into memory
2014-06-23 16:56:59 +01:00
artemp
ebde5351af
increase buffer size in std::streambuf for faster i/o
2014-06-23 16:26:50 +01:00
artemp
9496a95af4
use C-style file I/O
2014-06-23 15:33:31 +01:00
Dane Springmeyer
8ae1b6da03
fix boost directory iterator to use wide paths - closes #2273
...
Conflicts:
src/font_engine_freetype.cpp
2014-06-21 14:07:57 -07:00
Dane Springmeyer
6572cde97a
use FT_Open_Face instead of FT_New_Face - refs #1897
...
Conflicts:
src/font_engine_freetype.cpp
2014-06-21 14:01:44 -07:00
Dane Springmeyer
184d9dd43b
fix unicode handling in is_regular_file check - refs #2273
2014-06-20 22:26:33 -07:00
artemp
b0980ac329
cairo renderer: comp_op/halo_comp_op support in text_symbolizer
2014-06-20 09:55:10 +01:00
artemp
f518d44be0
respect text and halo opacity in cairo renderer
2014-06-20 09:35:33 +01:00
Mike Morris
24a7e87f1c
Merge pull request #2272 from mapnik/unscaled-glyphs
...
Unscaled glyphs
2014-06-19 16:35:06 -04:00
artemp
68a5cc55a6
image_filters : agg-stack-blur requires premultiplied pixels - move de/pre multipling into apply_filter()
2014-06-19 15:40:54 +01:00
artemp
2fb3069825
image-filters: apply image-filters in demultiplied colour space
2014-06-19 13:26:40 +01:00
artemp
c605ce81aa
pedantic : prefer explicit double values in comparisons
2014-06-19 12:14:12 +01:00
artemp
666a926864
moving instead of copying mapnik::glyph_info
...
Conflicts:
include/mapnik/text/dummy_shaper.hpp
include/mapnik/text/harfbuzz_shaper.hpp
include/mapnik/text/icu_shaper.hpp
2014-06-18 14:23:18 +01:00
artemp
3c72aedba0
moving instead of copying mapnik::glyph_info
2014-06-18 14:15:12 +01:00
artemp
a5547b0473
Merge branch 'master' into unscaled-glyphs
2014-06-18 10:18:16 +01:00
Dane Springmeyer
6571508576
Merge branch 'master' of github.com:mapnik/mapnik
2014-06-17 21:42:42 -07:00
Mike Morris
f797c320ff
remove unecessary x_scale/y_scale multiplication
2014-06-17 15:57:11 -04:00
artemp
2c3173c1aa
support halo-comp-op property ( #2267 )
2014-06-17 15:11:34 +01:00
artemp
8bd044ec13
+ serialize halo-opacity
2014-06-17 14:24:31 +01:00
Dane Springmeyer
8bb77bce92
image readers: ability to check if image has alpha before full read
...
Conflicts:
src/webp_reader.cpp
2014-06-16 09:52:26 -07:00
Dane Springmeyer
5fcd974817
webp reader: initialize WebPDecoderConfig
...
Conflicts:
src/webp_reader.cpp
2014-06-16 09:52:26 -07:00
Dane Springmeyer
033a0e0ed7
fix miniz inlining
2014-06-16 09:52:25 -07:00
Dane Springmeyer
e421403f3d
fix miniz encoder - closes #1560
2014-06-16 09:52:25 -07:00
artemp
cbab56fa79
text symbilizer : add halo-opactity property ( #2268 )
2014-06-16 11:24:16 +01:00
artemp
7eb8e25110
better namings + cleanup
2014-06-16 11:00:19 +01:00
Mike Morris
a99905cff5
fix char_height zero
2014-06-12 19:10:18 -04:00
Mike Morris
38966674f1
line_height, ymin, ymax and advance all look right now
2014-06-12 16:16:02 -04:00
artemp
3ded23fbab
move make_unique out of std namespace and allow building with c++14 compilers
...
( -std=c++1y )
2014-06-12 15:14:05 +01:00
Mike Morris
2b843ec6a9
first attempt at unscaled glyph dimensions
2014-06-11 19:56:55 -04:00
Dane Springmeyer
d0b357cab7
scons: support MAPNIK_NAME option to customize libmapnik name for custom packaging
2014-06-09 13:55:56 -07:00
artemp
30a39aa376
fix debug build
2014-06-06 14:49:16 +01:00
artemp
b6bab7d0bb
move cairo renderer into its own subdir
2014-06-06 13:38:00 +01:00
artemp
5e386f5c97
capture built-in types by value
2014-06-06 13:12:55 +01:00
artemp
81c4b9dd59
fix init order
2014-06-05 16:13:05 +01:00
artemp
bbb727e39a
update cairo_renderer
2014-06-05 15:15:36 +01:00
artemp
a49e1d075e
initial refactor pass ( fixes #2235 )
2014-06-04 18:05:27 +01:00
artemp
bedd275e95
more const correctness + cleaups
2014-06-02 17:09:12 +01:00
artemp
16fafbad43
share datasources between layers for now
2014-05-30 11:02:50 +01:00
artemp
f9cf23b59f
memory_datasource: support datasource interface
2014-05-30 10:16:49 +01:00
artemp
7572ba58cb
fix : allow comparing nullptr == nullptr -> true
2014-05-28 15:40:25 +01:00
artemp
0669e190de
compare actuak mapnik::datasource objects
2014-05-28 15:18:11 +01:00
artemp
5654759a22
fixed returning reference to temp object
...
TODO: change signiture to return boost::optional<std::string const&> and fix crufty logic
2014-05-28 11:04:47 +01:00
artemp
4ef9cd8b45
use math functions from std::
2014-05-28 10:59:01 +01:00
artemp
a010195b36
modify add_layer to work with both move and copy semantics
2014-05-28 09:54:56 +01:00
artemp
0fe172ec9e
layer : add move ctor
2014-05-28 09:54:56 +01:00
Dane Springmeyer
48c027857c
return const& string from xml_node::get_text()
2014-05-27 13:35:52 -07:00
artemp
fcfbc70abf
+ explicit move ctor's for mapnik::Map and mapnik::font_set
...
+ fix methods sig's
2014-05-27 15:35:37 +01:00
artemp
4474fc52e2
bug fix : call fontsets_.insert(fontset) before std::move(fontset)
2014-05-27 15:34:12 +01:00
artemp
7ff8c97afe
correct method sig
2014-05-27 14:07:28 +01:00
artemp
c5e0c7e43f
feature_type_style operator==
2014-05-27 13:44:01 +01:00
artemp
9791766e32
fix typo
2014-05-27 12:36:05 +01:00
artemp
7b9ba0db31
canonical swap and operator==
2014-05-27 12:34:35 +01:00
artemp
f6a79ecaec
font_set: add operator== and 'swap' impl
2014-05-27 12:33:20 +01:00
artemp
d25abed9d2
custom swap
2014-05-27 11:43:46 +01:00
artemp
9972680020
Map : add member-by-member comparison op
2014-05-27 11:34:39 +01:00
artemp
68300b92b5
fix comparison operator
2014-05-27 11:33:26 +01:00
artemp
c8b8937bf9
out-of-class swap method to be consistent
2014-05-27 11:21:13 +01:00
artemp
eb0b4dbc0b
custom swap method
2014-05-27 11:20:32 +01:00
artemp
4f6b00b589
use custom swap() and avoid std::swap calling move ctor (recursion)
2014-05-27 10:36:42 +01:00
Dane Springmeyer
6610fcc297
fix skipping of empty text nodes in rapidxml parser (matches libxml2) - closes #2253
2014-05-23 10:42:55 -07:00
Dane Springmeyer
03bb82b13f
Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables
2014-05-16 07:49:06 -07:00
Dane Springmeyer
aaae8b1cba
optimize raster rendering when not resizing
2014-05-15 23:38:47 -07:00
Dane Springmeyer
03bb19dc3a
fix svg_renderer ctor
2014-05-15 18:35:27 -07:00
artemp
3cc8fad956
c++11 syntax
2014-05-15 14:00:46 +01:00
artemp
6f24bd1c01
mapnik c++ style
2014-05-15 13:52:43 +01:00
Dane Springmeyer
7fa6747a29
Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables
2014-05-14 11:44:57 -07:00
artemp
d60c371257
slightly better err message
2014-05-14 13:19:59 +01:00
artemp
c9b263fbc8
font_engine
...
+ avoid initialising FT_Library per font registration
+ lock register_fonts
2014-05-14 13:17:09 +01:00
Dane Springmeyer
96f89e34b3
Merge branch 'master' of github.com:mapnik/mapnik into render-time-variables
2014-05-13 20:51:57 -07:00
Dane Springmeyer
2f8451b99a
variables support for cairo/grid/svg
2014-05-13 18:24:17 -07:00
artemp
f0fd0aa8ce
font_engine : use FT_New_Library/FT_Done_Library with custom memory management (ref #2209 #2210 )
2014-05-13 12:43:59 +01:00
Dane Springmeyer
2c661ed3d5
support for render time variables
2014-05-11 13:08:24 -07:00
Dane Springmeyer
c770cfec3c
fix possible crash in mapnik::process_layout::box_offset_align
2014-05-10 07:47:41 -07:00
Dane Springmeyer
6171c3252d
fix a few sign comparison warnings
2014-05-10 07:37:28 -07:00
Dane Springmeyer
7364a30e67
improve handling of colors as expressions
2014-05-08 00:45:18 -07:00
Dane Springmeyer
01d580d747
fix variable shadowing
2014-05-06 18:38:04 -07:00
artemp
99bbb10290
c++11 : use int types from <cstdint>
2014-05-06 18:06:47 +01:00
Dane Springmeyer
d7bb97a22e
simplify code
2014-05-05 18:16:42 -07:00
Dane Springmeyer
5ddde3c885
stop testing bogus wkb since it will crash wkb reader - refs #2236
2014-05-05 17:05:00 -07:00
Dane Springmeyer
b462913fa1
load_map: use const_iterator
2014-05-05 16:06:01 -07:00
Dane Springmeyer
74c7e67d60
Various c++11 improvements
...
- std::make_unique
- avoiding uneccessary std::move calls which make actually prevent rvo (http://stackoverflow.com/questions/4986673/c11-rvalues-and-move-semantics-confusion )
- more c++11 for loops
2014-05-05 16:02:42 -07:00
Dane Springmeyer
ba17b9e374
add TODO comments for grammars that are not stateless - refs #2231
2014-04-30 11:04:26 -07:00
Dane Springmeyer
356cc85ad8
cleanup + rename svg_transform parser
2014-04-30 10:55:46 -07:00
Dane Springmeyer
97a45f21bb
all static grammar usage const + xml_tree cleanups
2014-04-30 10:42:05 -07:00
Dane Springmeyer
8c1e69fdb8
static grammars
...
- construct on first use
- allows for faster map loading and unloading of xml loading tree
- modified expression and transform grammars to not take args/not crash
- simplifies interfaces, allows fast parsing from python without passing grammar instance
2014-04-30 00:11:27 -07:00
Dane Springmeyer
2806bd1cac
rapidxml: validate closing tags like libxml2 parser (no overhead measurable seen)
2014-04-29 14:32:57 -07:00
Dane Springmeyer
c399812c34
Merge pull request #2230 from MapQuest/jh-fix-group-symbolizer-text
...
Group symbolizer serialization
2014-04-29 11:01:37 -07:00
Jordan Hollinger
9ec187505b
Add serialization for group symbolizer components.
2014-04-29 12:08:05 -04:00
Dane Springmeyer
ef837eb92f
c++11 optimizations for faster map loading
2014-04-28 17:10:00 -07:00
Dane Springmeyer
b7b1acaa50
optimize string2bool
2014-04-25 21:46:40 -07:00
Dane Springmeyer
10ce32696a
add support for halo-rasterizer for shields - closes #2226
...
Conflicts:
src/load_map.cpp
tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-1.0-agg-reference.png
tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-2.0-agg-reference.png
2014-04-25 16:07:03 -07:00
Dane Springmeyer
7295e9db5d
fix syntax error after merge
2014-04-24 23:26:25 -07:00
Dane Springmeyer
06bbedaffb
fix raster colorizer access from python
2014-04-24 22:01:58 -07:00
Dane Springmeyer
9e9747ffad
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
...
Conflicts:
src/agg/process_building_symbolizer.cpp
src/cairo_context.cpp
src/cairo_renderer.cpp
src/grid/process_building_symbolizer.cpp
src/grid/process_line_pattern_symbolizer.cpp
src/grid/process_text_symbolizer.cpp
tests/python_tests/images/support/marker-text-line-scale-factor-0.899.png
tests/python_tests/images/support/marker-text-line-scale-factor-1.5.png
tests/python_tests/images/support/marker-text-line-scale-factor-1.png
tests/python_tests/images/support/marker-text-line-scale-factor-10.png
tests/python_tests/images/support/marker-text-line-scale-factor-100.png
tests/python_tests/images/support/marker-text-line-scale-factor-2.png
tests/python_tests/images/support/marker-text-line-scale-factor-5.png
tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-6-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
tests/visual_tests/test.py
2014-04-24 21:44:28 -07:00
Dane Springmeyer
acb83a8796
fix compile with clang: 'addition of default argument on redeclaration makes this constructor a default constructor'
2014-04-24 21:13:35 -07:00
Dane Springmeyer
67357568a5
move line rendering tests to visual tests
2014-04-24 21:00:00 -07:00
Dane Springmeyer
39737c5f1d
Merge branch '2.3.x' of github.com:mapnik/mapnik
...
Conflicts:
.travis.yml
CHANGELOG.md
bindings/python/build.py
include/mapnik/feature_style_processor_context.hpp
include/mapnik/feature_style_processor_impl.hpp
include/mapnik/json/feature_collection_grammar.hpp
include/mapnik/json/feature_collection_parser.hpp
include/mapnik/json/feature_generator_grammar.hpp
include/mapnik/json/feature_parser.hpp
include/mapnik/json/geojson_generator.hpp
include/mapnik/json/geometry_generator_grammar.hpp
include/mapnik/json/geometry_parser.hpp
plugins/input/gdal/gdal_featureset.cpp
plugins/input/geojson/geojson_datasource.cpp
plugins/input/occi/occi_featureset.cpp
plugins/input/osm/osm_featureset.cpp
plugins/input/postgis/build.py
plugins/input/postgis/connection.hpp
src/agg/agg_renderer.cpp
src/build.py
src/cairo_context.cpp
src/datasource_cache.cpp
src/grid/process_line_symbolizer.cpp
src/grid/process_polygon_pattern_symbolizer.cpp
src/grid/process_polygon_symbolizer.cpp
src/grid/process_text_symbolizer.cpp
src/json/feature_grammar.cpp
tests/cpp_tests/fontset_runtime_test.cpp
tests/visual_tests/images/collision-600-400-1.0-agg-reference.png
tests/visual_tests/images/image-filters-multi-blur-512-512-1.0-agg-reference.png
tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-agg-reference.png
tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-1.0-agg-reference.png
tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-agg-reference.png
tests/visual_tests/images/lines-1-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-1-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-1-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-2-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-2-400-400-1.0-cairo-reference.png
tests/visual_tests/images/lines-2-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-2-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-2-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-3-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-3-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-3-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-6-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-6-400-400-1.0-agg-reference.png
tests/visual_tests/images/lines-6-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-6-800-800-1.0-agg-reference.png
tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-shield-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-shield-600-600-2.0-cairo-reference.png
tests/visual_tests/images/shield-on-polygon-600-400-1.0-agg-reference.png
tests/visual_tests/images/shield-on-polygon-600-400-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-agg-reference.png
tests/visual_tests/test.py
2014-04-24 14:50:55 -07:00
Dane Springmeyer
1e53351467
only compile cpp code if cairo/grid/svg renderers are enabled
2014-04-24 12:54:18 -07:00
Dane Springmeyer
a93252e569
add newlines to avoid pedantic warnings
2014-04-24 12:53:28 -07:00
Dane Springmeyer
83c0db36cb
add support for rendering (vs skipping) 3D and 4D postgis geometries like POINTZM, LINESTRINGZM, and POLYGONZM - closes #44
2014-04-09 19:40:14 -04:00
Dane Springmeyer
103e874f25
fix #2202
2014-04-03 17:15:57 -07:00
Dane Springmeyer
e94876ebe4
Merge pull request #2160 from MapQuest/expr-v2-group-symbolizer
...
Group Symbolizer
2014-04-03 11:52:21 -07:00
Dane Springmeyer
83ad5f5a25
fix a few g++-4.8 warnings on linux
2014-03-18 14:52:41 -07:00
Dane Springmeyer
cb3db66b82
std::make_unique
2014-03-10 21:34:48 -07:00
Dane Springmeyer
66654683a2
work in progress: fix some expressions tests disable others
2014-03-10 13:30:49 -07:00
Dane Springmeyer
7d5e0f1f91
one step closer to expression support for line cap/join
2014-03-10 13:00:47 -07:00
Dane Springmeyer
91eda81699
pass string by const&
2014-03-10 13:00:14 -07:00
Dane Springmeyer
24aaa0a6de
post merge cleanups
2014-03-10 10:47:43 -07:00
Dane Springmeyer
bdd230a888
fix style copy ctor
2014-03-10 10:47:27 -07:00
Dane Springmeyer
6433d9482e
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
...
Conflicts:
include/mapnik/symbolizer.hpp
src/agg/agg_renderer.cpp
src/agg/process_line_pattern_symbolizer.cpp
src/agg/process_line_symbolizer.cpp
src/agg/process_polygon_pattern_symbolizer.cpp
src/agg/process_polygon_symbolizer.cpp
src/cairo_renderer.cpp
src/feature_type_style.cpp
src/grid/process_line_pattern_symbolizer.cpp
src/grid/process_line_symbolizer.cpp
src/grid/process_markers_symbolizer.cpp
src/grid/process_polygon_pattern_symbolizer.cpp
src/grid/process_polygon_symbolizer.cpp
2014-03-10 00:05:56 -07:00
Dane Springmeyer
d58def6cdb
silence debug print
2014-03-08 19:54:43 -08:00
Oliver Tonnhofer
2c38670443
prevent double-free in mapnik::projection
...
A double-free can happen when init_proj4 is called outside of the
constructor (for projections with defer_proj_init=true) and when that
call fails. In this case proj_ctx_ is not set to NULL and then freed
again in the destructor. Set to null to avoid second pj_ctx_free call.
See #2170
2014-03-08 19:51:42 -08:00
Oliver Tonnhofer
fc8eb981fe
prevent double-free in mapnik::projection
...
A double-free can happen when init_proj4 is called outside of the
constructor (for projections with defer_proj_init=true) and when that
call fails. In this case proj_ctx_ is not set to NULL and then freed
again in the destructor. Set to null to avoid second pj_ctx_free call.
See #2170
2014-03-08 19:50:34 -08:00
Dane Springmeyer
3dd05bd171
support scale_factor in geometry-transform translate and scale - refs #1926
2014-02-27 13:28:03 -08:00
Dane Springmeyer
e49f63730e
support scale_factor in geometry-transform translate and scale - refs #1926
2014-02-27 11:55:58 -08:00
Dane Springmeyer
fead2e2584
fixes after merge
2014-02-27 11:17:50 -08:00
Dane Springmeyer
277ae93d2c
make inflated image for blurring opt-in via 'image-filters-inflate' option - refs #2165
...
Conflicts:
src/agg/agg_renderer.cpp
2014-02-27 11:17:09 -08:00
Dane Springmeyer
4e957c9cac
make inflated image for blurring opt-in via 'image-filters-inflate' option - refs #2165
2014-02-27 10:11:17 -08:00
Jordan Hollinger
533820c63f
Merge branch 'expr-v2' of github.com:mapnik/mapnik into expr-v2-group-symbolizer
...
Conflicts:
src/text/placement_finder.cpp
tests/visual_tests/test.py
2014-02-25 14:21:51 -05:00
artemp
19c2b76e10
remove unused text_symbolizer.hpp/cpp
2014-02-25 14:25:23 +00:00
Jordan Hollinger
08ea56996a
Add shield symbolizer support in group symbolizer processing.
...
Update some test cases to use ShieldSymbolizer instead of point and text.
2014-02-25 08:53:35 -05:00
Dane Springmeyer
14c02e76a7
Merge pull request #2138 from MapQuest/jmh-text-layouts
...
Multiple text layouts in text symbolizer
2014-02-18 17:59:56 -08:00
Jordan Hollinger
07dc6e37a2
Merge branch 'expr-v2' of github.com:mapnik/mapnik into expr-v2-group-symbolizer
...
Conflicts:
include/mapnik/attribute_collector.hpp
2014-02-18 18:22:01 -05:00
Jordan Hollinger
bbd2cfd40f
Grid renderer implementation for group symbolizer.
...
This uses common process_group_symbolizer for most of the work.
Add reference grids for visual tests.
2014-02-18 16:37:41 -05:00
Matt Amos
f81d5abe1f
"Implement" group symbolizer for SVG renderer.
...
Note that the "implementation" for SVG renderer is the same as
for other symbolizers there - i.e: empty.
2014-02-18 15:54:32 -05:00
Matt Amos
7e25a220a8
Implement debug symbolizer for Cairo. Update tests for debug symbolizer.
...
Debug symbolizer is useful, and used in a bunch of tests. This
adds debug symbolizer support for Cairo to make it closer to the
capabilities of AGG.
Adding debug symbolizer for Cairo meant that red boxes appeared in
many of the visual test outputs. This commit replaces them with
the output, after visual inspection. They should now be closer to
the output of the AGG test cases.
2014-02-18 15:53:55 -05:00
Matt Amos
44e69e9b05
Cairo renderer implementation of group symbolizer.
...
This uses the renderer_common header to do most of the heavy
lifting, but otherwise is very similar to the AGG renderer
implementation.
Add cairo ref images for group symbolizer tests.
2014-02-18 15:45:11 -05:00
Jordan Hollinger
3d1c30db1e
Extracted a lot of code from agg render process_group_symbolizer.
...
Move a lot of processing into a common process_group_symbolizer function.
Also, extract column collection out of process_group_symbolizer function.
This will reduce duplication needed for other renderers.
2014-02-18 15:06:40 -05:00
Matt Amos
efc29649ab
Added test for group symbolizer, fixed segfault.
...
Segfault was due to `glyph_position` structs keeping a pointer to
`glyph_info` objects which went out of scope at a different time.
The (rather ugly) fix for the moment is to copy that information
into the thunk object.
2014-02-18 14:06:05 -05:00
Jordan Hollinger
76329028d2
Find placements and render in process_group_symbolizer.
...
Create a group_symbolizer_helper for group placments, and extract some code from
text_symbolizer_helper into a base class to share with group_symbolizer_helper.
Also, move tolerance_iterator into its own header file. Use helper in
process_group_symbolizer to find placement positions.
2014-02-18 14:01:04 -05:00
Matt Amos
1ccdc5b76d
Added code to render frozen thunks.
...
This renders the saved information from previous calls to the
bounding box extraction code, offset by some amount which should
be determined from running the `placement_finder`. Note that this
doesn't implement that bit, just the rendering.
2014-02-18 11:11:07 -05:00
Matt Amos
b85e7d0764
Added method to extract bounding boxes for symbolizers.
...
This is done by creating a fake 'virtual' environment at a fake
point and running the symbolizer render code. The actual render
is saved in a thunk for after the group layout has been done.
2014-02-18 11:11:06 -05:00
Jordan Hollinger
fbc2a0d1e3
Framework for group symbolizer.
...
This includes XML parsing of group symbolizer and related objects and
process_group_symbolizer method in the AGG renderer. This also includes
code to collect group symbolizer indexed columns, create sub features,
and match them to group rules.
2014-02-18 11:07:52 -05:00
Dane Springmeyer
b0278d4285
fix #2156
2014-02-11 09:20:11 -08:00
Dane Springmeyer
b799395f6a
remove unused code
2014-02-10 21:39:56 -08:00
Dane Springmeyer
1c30683f23
fix round tripping of max-char-angle-delta value
2014-02-10 19:37:40 -08:00
Dane Springmeyer
7b75a24111
Merge pull request #2154 from mapnik/expr-v2-vt-conv-feature
...
Expr v2 vt conv feature
2014-02-10 10:44:19 -08:00
Jordan Hollinger
489168d529
Use make_shared to create shared_ptr.
2014-02-10 11:48:33 -05:00
Jordan Hollinger
d8eda4898e
Merge branch 'expr-v2' of github.com:mapnik/mapnik into jmh-text-layouts
...
Conflicts:
tests/visual_tests/test.py
2014-02-10 07:38:25 -05:00
Dane Springmeyer
bcde6ae631
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
2014-02-09 13:27:24 -08:00
Dane Springmeyer
9d6346aa98
fix compile - refs #2148
2014-02-09 11:30:26 -08:00
Dane Springmeyer
89f72f02e8
pass feature to vertex_converters - refs #2148/#2140
2014-02-08 22:10:14 -08:00
Jordan Hollinger
658d7e8888
Replace tabs with spaces. Remove unused method prototype.
2014-02-07 18:11:54 -05:00
Dane Springmeyer
f037eb99c2
silence debug print
2014-02-06 18:42:20 -08:00
Dane Springmeyer
3d90715883
only return true if plugins are actually newly registered
2014-02-06 18:24:56 -08:00
Dane Springmeyer
69de7f0a10
only return true if plugins are actually newly registered
2014-02-06 18:24:35 -08:00
Dane Springmeyer
88613fc2ec
check filesystem before trying to open plugin + only report unique directories searched - closes #2131
...
Conflicts:
src/datasource_cache.cpp
2014-02-06 17:08:38 -08:00
Dane Springmeyer
dcb87dd935
check filesystem before trying to open plugin + only report unique directories searched - closes #2131
2014-02-06 17:05:46 -08:00
Jordan Hollinger
6aa25090c0
Parse and support placement of multiple text layouts within a single text symbolizer.
2014-01-30 06:31:47 -05:00
Jordan Hollinger
269b038147
Extract text layout related properties (e.g. displacement, alignments) into seperate object from other placement related text symbolizer properties.
2014-01-30 06:01:57 -05:00
Dane Springmeyer
f286363ad0
more consistent memset/memcpy usage
2014-01-28 15:05:10 -08:00
Matt Amos
944f34b3df
Fix unaligned multi-line labels.
...
This forces offset lines to be aligned to the closest point to
the anchor point on the original line, meaning that they are
aligned where the offset line and original run parallel, or nearly
so.
2014-01-28 20:33:42 +00:00
artemp
1aa6cafea1
remove noexcept - we can't guarantee noexcept in std::swap(a,b)
...
and
```c++
static_assert( noexcept ( std::swap(*this,rhs)), "throwing swap");
```
would fail at compile time
2014-01-28 14:21:58 +00:00
artemp
322b378971
operator= using std::swap §
2014-01-28 10:57:26 +00:00
artemp
6f81c88f9a
mapnik::Map - implement assignment-op in terms of swap
2014-01-28 09:58:47 +00:00
Dane Springmeyer
a98de6a348
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
...
Conflicts:
include/mapnik/expression_grammar_impl.hpp
src/expression.cpp
2014-01-27 13:56:36 -08:00
Dane Springmeyer
84166882d9
minimum boost version is 1.47 - remove obsolete code handling older versions
2014-01-27 13:19:21 -08:00
Dane Springmeyer
18dbf34b72
remove env clone and instead just push DHAVE_LIBXML2 into main CPPDEFINES
2014-01-27 12:25:51 -08:00
Dane Springmeyer
777e067770
remove workaround for boost less than 1.46 since 1.47 is now the min needed - refs #1082
2014-01-27 12:24:20 -08:00
Dane Springmeyer
c5aad93428
fix topojson compile and centralize confix workaround
2014-01-26 16:19:27 -08:00
Dane Springmeyer
cd24a7b877
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
...
Conflicts:
tests/cpp_tests/svg_renderer_tests/path_element_test.cpp
2014-01-26 14:12:03 -08:00
Dane Springmeyer
87e0ae8124
adapt build to use BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
2014-01-26 14:00:58 -08:00
Dane Springmeyer
8181aa9dec
addLayer -> add_layer (change also coming in expr-v2 branch)
2014-01-26 13:41:30 -08:00
Dane Springmeyer
9944ca65ee
fix -pthread issue on linux - closes #2132
2014-01-23 13:07:14 -08:00
Dane Springmeyer
f8ea04f85f
fix -pthread issue on linux - closes #2132
2014-01-23 13:06:07 -08:00
Dane Springmeyer
1155a6e33d
better library sort
2014-01-23 00:42:41 -08:00
Dane Springmeyer
cd4c645032
boost threads are no longer needed
2014-01-23 00:42:05 -08:00
Dane Springmeyer
499d485151
another try to fix linking order on linux
2014-01-23 00:13:39 -08:00
Dane Springmeyer
83bde5fef2
use premultiplied renderer for points/shields - closes #2117
2014-01-22 22:44:33 -08:00
Dane Springmeyer
7bcbcb0c4f
use premultiplied renderer for points/shields - closes #2117
2014-01-22 22:44:04 -08:00
Dane Springmeyer
4731baab93
use premultiplied renderer for points/shields - closes #2117
2014-01-22 22:43:34 -08:00
Dane Springmeyer
b3ca4fb15f
fix cairo road-casings-non-grouped-rendering test by matching agg clipping behavior
2014-01-22 22:24:47 -08:00
Dane Springmeyer
7520c15e86
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
2014-01-22 20:48:07 -08:00
Dane Springmeyer
97d737fa7b
scons: fix variable name
2014-01-22 00:10:28 -08:00
Dane Springmeyer
4742aea92b
scons: fix variable name
2014-01-22 00:10:11 -08:00
Dane Springmeyer
7ad2e5b43d
finish support for disabling soname on linux
2014-01-21 21:35:10 -08:00
Dane Springmeyer
4fda93bf3e
finish support for disabling soname on linux
2014-01-21 21:34:43 -08:00
Dane Springmeyer
edd0f24997
add ENABLE_SONAME option + embed rpath/loader_path by default - closes #1225
2014-01-21 21:12:55 -08:00
Dane Springmeyer
99bf263afd
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
2014-01-21 21:01:48 -08:00
Dane Springmeyer
0e38731152
add ENABLE_SONAME option + embed rpath/loader_path by default - closes #1225
2014-01-20 20:16:08 -08:00
Dane Springmeyer
2a826e7fc8
fix linux linking order in python bindings
2014-01-20 11:15:10 -08:00
Dane Springmeyer
6c12904eda
fix jpeg reading regression after #1805 - closes #2123 (patch from @clundgren)
2014-01-18 20:40:00 -08:00
Dane Springmeyer
cff13c0ff6
fix jpeg reading regression after #1805 - closes #2123 (patch from @clundgren)
2014-01-18 20:31:47 -08:00
Dane Springmeyer
2b08987903
Merge branch 'master' into expr-v2
2014-01-17 19:59:05 -08:00
artemp
3628b5f237
halo-transform initial impl
2014-01-17 11:47:18 +00:00
Matt Amos
8467d20854
Fixed compile error due to typo in svg_renderer.cpp
2014-01-07 15:38:02 +00:00
Dane Springmeyer
453c29c09f
accept woff (web font) format - closes #2113
2013-12-20 17:19:49 -05:00
Dane Springmeyer
448d093f77
accept woff (web font) format - closes #2113
2013-12-20 17:15:41 -05:00
Matt Amos
6479785648
Merge remote-tracking branch 'upstream/expr-v2' into mla-expr-v2-renderer-common
2013-12-19 14:09:09 +00:00
artemp
f21152a6a9
register target type for symbolizer properties
2013-12-11 17:27:52 -05:00
artemp
7cf452da77
generic ``to_integral
`` helper function (convert strongly typed enumeration values to underlying type)
2013-12-11 17:27:52 -05:00
Dane Springmeyer
6a0e593d87
fix svg_renderer
2013-12-11 07:26:32 -08:00
Dane Springmeyer
d3836bc71a
c++11
2013-12-11 07:25:23 -08:00
Matt Amos
5e13658cf9
Merge remote-tracking branch 'upstream/expr-v2' into mla-expr-v2-renderer-common
2013-12-10 11:47:36 +00:00
artemp
5393a0a9fe
c++11 : use ``constexpr name2int
` switch instead of if/else
2013-12-09 16:15:24 -05:00
Matt Amos
ceaea9a948
Factored out common implementation of polygon symbolizer.
2013-12-09 20:42:00 +00:00
artemp
8e6e6d8c1e
c++11 style for loop
2013-12-09 15:09:37 -05:00
Dane Springmeyer
eca1c6e46b
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
...
Conflicts:
src/load_map.cpp
2013-12-09 11:40:55 -08:00
Matt Amos
dd9584bdd6
Factored out markers symbolizer logic.
...
It's not ideal - there's still a bunch of "dispatch" objects from
which the common elements could be factored for greater
readability.
2013-12-09 18:50:00 +00:00
Matt Amos
f01953e8f7
Factored out common implementation of raster symbolizer.
2013-12-06 18:09:24 +00:00
Matt Amos
da5574d247
Factored out common implementation of point symbolizer.
2013-12-06 17:30:06 +00:00
Matt Amos
05982c4caf
Factored out common code for building symbolizer.
...
There's a lot of code common between symbolizers which do things
like layout, setup, etc... So it seems sensible to extract the
common operations & loops into a single place which is
independent of the actual renderer.
I've started doing this with C++11 lambdas, although that might
not be the best implementation long term. Should be easy enough
to change, though.
2013-12-06 16:33:26 +00:00
Matt Amos
a9627f835b
Factored common renderer code from SVG renderer.
2013-12-06 14:14:14 +00:00
Matt Amos
4f871d1fc7
Factored out common fields from grid renderer.
2013-12-05 19:34:32 +00:00
Matt Amos
ee018dc589
Factor common fields out of cairo renderer.
...
This involved making the freetype engine stack allocated and
accessible via a `shared_ptr` because `FT_Face` elements stored
in it are referenced from cairo structures which persist beyond
the lifetime of the `cairo_renderer` object.
Hopefully this can be resolved in a future commit.
2013-12-05 18:39:09 +00:00
artemp
ca7dfb3428
store meta by const ref
2013-12-05 16:25:56 +00:00
Matt Amos
a76e441174
Factored out common renderer fields.
...
The idea here is that much of the code in the renderers and the
various `process_*` rendering methods is shared, but this sharing
is obfuscated by the lack of sharing of renderer fields and
methods.
This is the first step in trying to factor out commonalities in
order to simplify the implementation of the renderers and make
them easier to understand and modify.
2013-12-05 16:21:55 +00:00
artemp
12bbf55c81
two step parameter parsing and various syntactic sugar tweaks
2013-12-04 16:11:11 +00:00
artemp
37fea12091
load_map : allow optional expressions in symbolizer properties (work-in-progress)
2013-12-04 11:47:36 +00:00
artemp
f83b272a98
fix boost include path
2013-12-03 09:10:51 +00:00
Dane Springmeyer
d13c889d30
fix #2090
2013-12-02 21:51:54 -08:00
Dane Springmeyer
a0d9977e5e
fix #2090
2013-12-02 21:47:25 -08:00
Matt Amos
d64b86dcdf
Updated grid renderer for expr-v2
branch.
...
All the grid visual tests pass.
One small issue is that in the grid line pattern symbolizer it
constructs a 'fake' line symbolizer to re-use code (as the grid
renderer cares nothing for patterns), but doesn't pass the
offset parameter to it. The tests currently require this
behaviour, but they should probably be changed as it seems
incorrect.
2013-12-02 13:49:53 +00:00
artemp
c57d88edb1
c++11 : style
2013-12-02 12:10:47 +00:00
artemp
c8466ae654
use static_assert
2013-11-29 17:00:40 +00:00
Matt Amos
ca3d66236c
Taking out unnecessary member variable added in 1a22a19a
.
2013-11-29 16:37:20 +00:00
Matt Amos
1a22a19a95
Update Cairo renderer so that it compiles.
2013-11-29 16:23:44 +00:00
Dane Springmeyer
e9ca9c8790
symbolizer-expressions replayed against latest master
2013-11-27 22:50:15 -08:00
artemp
eb3da7d32d
c++11 : use nullptr instead of NULL
2013-11-27 15:54:16 +00: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
e5bb5ed8aa
backport geojson parsing/generation fixes from master to 2.3.x - refs #2083
2013-11-21 14:11:47 -08:00
artemp
f50e626661
Revert "geojson parser : support 'null' as valid coordinates property (empty geometry)"
...
Per GeoJSON spec :
```
A GeoJSON geometry object of any type other than "GeometryCollection" must have a member with the name "coordinates". The value of the coordinates member is always an array. The structure for the elements in this array is determined by the type of geometry.
```
This reverts commit f9ed2ce4e2d623c14df247db0025a549be29d75c.
2013-11-21 10:10:43 +00:00
artemp
132ace14ab
geojson parser : support 'null' as valid coordinates property (empty geometry)
2013-11-20 16:04:33 +00:00