Merge remote-tracking branch 'origin/master'
Conflicts: deps/agg/include/agg_pixfmt_rgba.h include/mapnik/image_compositing.hpp src/cairo_renderer.cpp src/image_compositing.cpp
This commit is contained in:
commit
9b61c0effe
5 changed files with 144 additions and 9 deletions
100
CHANGELOG.md
100
CHANGELOG.md
|
@ -4,11 +4,13 @@ A simple log of core changes affecting Mapnik usage.
|
|||
|
||||
Developers: Please commit along with changes.
|
||||
|
||||
For a complete change history, see the SVN log.
|
||||
For a complete change history, see the git log.
|
||||
|
||||
|
||||
## Mapnik 2.1.0
|
||||
|
||||
Not yet released
|
||||
|
||||
- PostGIS: Added 'simplify_geometries' option - will trigger ST_Simplify on geometries before returning to Mapnik (#1179)
|
||||
|
||||
- Improved error feedback for invalid values passed to map.query_point
|
||||
|
@ -48,7 +50,9 @@ For a complete change history, see the SVN log.
|
|||
|
||||
## Mapnik 2.0.1
|
||||
|
||||
(Packaged from 5cd3cb2efdaf7e9990a57e8e00b652a81aaa39ae)
|
||||
Released April 10, 2012
|
||||
|
||||
(Packaged from 57347e9106)
|
||||
|
||||
- Support for PostGIS 2.0 (#956,#1083)
|
||||
|
||||
|
@ -83,6 +87,10 @@ For a complete change history, see the SVN log.
|
|||
|
||||
## Mapnik 2.0.0
|
||||
|
||||
Released September 26, 2011
|
||||
|
||||
(Packaged from 5b4c20eab3)
|
||||
|
||||
- Add minimum-path-length property to text_symbolizer to allow labels to be placed only on lines of a certain length (#865)
|
||||
|
||||
- Add support for png quantization using fixed palettes (#843)
|
||||
|
@ -170,7 +178,11 @@ For a complete change history, see the SVN log.
|
|||
- Implement MarkersSymbolizer in Cairo render and improve the markers placement finder. (#553)
|
||||
|
||||
|
||||
# Mapnik 0.7.2 Release
|
||||
# Mapnik 0.7.2
|
||||
|
||||
Released Oct 18, 2011
|
||||
|
||||
(Packaged from bc5cabeb6a)
|
||||
|
||||
- Added forward compatibility for Mapnik 2.0 XML syntax (https://trac.mapnik.org/wiki/Mapnik2/Changes)
|
||||
|
||||
|
@ -213,9 +225,53 @@ For a complete change history, see the SVN log.
|
|||
- Fixed reading of label_position_tolerance on text_symbolizer and height for building_symbolizer
|
||||
|
||||
|
||||
# Mapnik 0.7.0 Release
|
||||
# Mapnik 0.7.1
|
||||
|
||||
(Packaged from r1574)
|
||||
Released March 23, 2010
|
||||
|
||||
(Packaged from r1745/db89f1ca75)
|
||||
|
||||
- Rasters: Various fixes and improvements to 8bit png output ([#522](https://github.com/mapnik/mapnik/issues/522),[#475](https://github.com/mapnik/mapnik/issues/475))
|
||||
|
||||
- XML: Save map buffer_size when serializing map.
|
||||
|
||||
- SCons: Added new build options 'PRIORITIZE_LINKING' and 'LINK_PRIORITY'. The first is a boolean (default True)
|
||||
of whether to use the new sorting implementation that gives explcit preference to custom or local paths
|
||||
during compile and linking that will affect builds when duplicate libraries and include directories are on the
|
||||
system. LINK_PRIORITY defaults to prioritizing internal sources of the mapnik source folder, then local/user
|
||||
installed libraries over system libraries, but the option can be customized. Sorting not only ensures that
|
||||
compiling and linking will more likely match the desired libraries but also gives more likelyhood to avoid
|
||||
the scenario where libraries are linked that don't match the includes libmapnik compiled against.
|
||||
|
||||
- XML: Fixed behavior of PolygonPatternSymbolizer and LinePatternSymbolizer whereby width, height,
|
||||
and type of images is actually allowed to be optionally ommitted ([#508](https://github.com/mapnik/mapnik/issues/508)). This was added in r1543 but
|
||||
only worked correctly for PointSymbolizer and ShieldSymbolizer.
|
||||
|
||||
- Fixed reading of PostGIS data on Big Endian systems ([#515](https://github.com/mapnik/mapnik/issues/515))
|
||||
|
||||
- PostGIS: Added better support for alterative schemas ([#500](https://github.com/mapnik/mapnik/issues/500))
|
||||
|
||||
- AGG Renderer - Enforced default gamma function on all symbolizers to ensure proper antialiasing
|
||||
even when gamma is modified on the PolygonSymbolizer. ([#512](https://github.com/mapnik/mapnik/issues/512))
|
||||
|
||||
- PNG: fixed png256 for large images and some improvements to reduce color corruptions ([#522](https://github.com/mapnik/mapnik/issues/522))
|
||||
|
||||
- PNG: Added new quantization method for indexed png format using hextree with full support for alpha
|
||||
channel. Also new method has some optimizations for color gradients common when using elevation based
|
||||
rasters. By default old method using octree is used. (r1680, r1683, [#477](https://github.com/mapnik/mapnik/issues/477))
|
||||
|
||||
- PNG: Added initial support for passing options to png writter like number of colors, transparency
|
||||
support, quantization method and possibly other in future using type parameter. For example
|
||||
"png8:c=128:t=1:m=h" limits palette to 128 colors, uses only binary transparency (0 - none,
|
||||
1 - binary, 2 - full), and new method of quantization using hextree (h - hextree, o - octree).
|
||||
Existing type "png256" can be also written using "png8:c=256:m=o:t=2" (r1680, r1683, [#477](https://github.com/mapnik/mapnik/issues/477))
|
||||
|
||||
|
||||
# Mapnik 0.7.0
|
||||
|
||||
Released January, 19 2010
|
||||
|
||||
(Packaged from r1574/a0da946be9)
|
||||
|
||||
- Core: Fixed linking to external libagg (r1297,r1299)
|
||||
|
||||
|
@ -353,10 +409,11 @@ For a complete change history, see the SVN log.
|
|||
- Fonts: Added unifont to auto-installed fonts, which is used by the OSM styles as a fallback font (r1328)
|
||||
|
||||
|
||||
# Mapnik 0.6.1
|
||||
|
||||
# Mapnik 0.6.1 Release
|
||||
Released July 14, 2009
|
||||
|
||||
(Packaged from r1247)
|
||||
(Packaged from r1247/353ff576c7)
|
||||
|
||||
- Plugins: expose list of registered plugins as a 'plugin_names()' method of DatasourceCache (r1180)
|
||||
|
||||
|
@ -437,10 +494,11 @@ For a complete change history, see the SVN log.
|
|||
- Plugins: Fixed segfault in OGR Plugin with empty geometries (r1074) (#292)
|
||||
|
||||
|
||||
# Mapnik 0.6.0
|
||||
|
||||
# Mapnik 0.6.0 Release
|
||||
Released April 1, 2009
|
||||
|
||||
(Packaged from r1066)
|
||||
(Packaged from r1066/c88e03436f)
|
||||
|
||||
- Python: Added support for aspect_fix_mode (r1013)
|
||||
|
||||
|
@ -530,3 +588,27 @@ For a complete change history, see the SVN log.
|
|||
- Plugins: Use memory mapped files for reading shape file (r628)
|
||||
|
||||
- Core: Use streams to write images (i/o refactor) (r628) (#15)
|
||||
|
||||
# Mapnik 0.5.1
|
||||
|
||||
Released April 15, 2008
|
||||
|
||||
(Packaged from c29cb7386d)
|
||||
|
||||
# Mapnik 0.5.0
|
||||
|
||||
Released April 15, 2008
|
||||
|
||||
(Packaged from 0464a3563c)
|
||||
|
||||
# Mapnik 0.4.0
|
||||
|
||||
Released February 26, 2007
|
||||
|
||||
(Packaged from 8d73e3a8dc)
|
||||
|
||||
# Mapnik 0.3.0
|
||||
|
||||
Released May 22, 2006
|
||||
|
||||
(Packaged from 3ae046ebe2)
|
||||
|
|
50
deps/agg/include/agg_pixfmt_rgba.h
vendored
50
deps/agg/include/agg_pixfmt_rgba.h
vendored
|
@ -1433,6 +1433,54 @@ namespace agg
|
|||
}
|
||||
};
|
||||
|
||||
// color spin
|
||||
template <typename ColorT, typename Order>
|
||||
struct comp_op_rgba_color_spin
|
||||
{
|
||||
typedef ColorT color_type;
|
||||
typedef Order order_type;
|
||||
typedef typename color_type::value_type value_type;
|
||||
typedef typename color_type::calc_type calc_type;
|
||||
typedef typename color_type::long_type long_type;
|
||||
enum base_scale_e
|
||||
{
|
||||
base_shift = color_type::base_shift,
|
||||
base_mask = color_type::base_mask
|
||||
};
|
||||
|
||||
static AGG_INLINE void blend_pix(value_type* p,
|
||||
// source rgb
|
||||
unsigned sr, unsigned sg, unsigned sb,
|
||||
// source alpha and opacity
|
||||
unsigned sa, unsigned cover) {
|
||||
if (cover < 255) {
|
||||
sa = (sa * cover + 255) >> 8;
|
||||
}
|
||||
p[Order::R] = (value_type)(((0 + base_mask) >> base_shift));
|
||||
p[Order::G] = (value_type)(((0 + base_mask) >> base_shift));
|
||||
p[Order::B] = (value_type)(((0 + base_mask) >> base_shift));
|
||||
p[Order::A] = (value_type)(sa + p[Order::A] - ((sa * p[Order::A] + base_mask) >> base_shift));
|
||||
|
||||
// http://en.wikipedia.org/wiki/File:HSV-RGB-comparison.svg
|
||||
if (p[Order::A] < 64) {
|
||||
p[Order::G] = ((p[Order::A] - 64) * 4);
|
||||
p[Order::B] = 255;
|
||||
}
|
||||
if (p[Order::A] >= 64 && p[Order::A] < 128) {
|
||||
p[Order::G] = 255;
|
||||
p[Order::B] = 255 - ((p[Order::A] - 64) * 4);
|
||||
}
|
||||
if (p[Order::A] >= 128 && p[Order::A] < 192) {
|
||||
p[Order::R] = ((p[Order::A] - 128) * 4);
|
||||
p[Order::G] = 255;
|
||||
}
|
||||
if (p[Order::A] >= 192) {
|
||||
p[Order::R] = 255;
|
||||
p[Order::G] = 255 - ((p[Order::A] - 192) * 4);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// grain extract (GIMP)
|
||||
// E = I - M + 128
|
||||
|
||||
|
@ -1714,6 +1762,7 @@ namespace agg
|
|||
comp_op_rgba_saturation<ColorT,Order>::blend_pix,
|
||||
comp_op_rgba_color<ColorT,Order>::blend_pix,
|
||||
comp_op_rgba_value<ColorT,Order>::blend_pix,
|
||||
comp_op_rgba_color_spin<ColorT,Order>::blend_pix,
|
||||
0
|
||||
};
|
||||
|
||||
|
@ -1755,6 +1804,7 @@ namespace agg
|
|||
comp_op_saturation, //----comp_op_saturation
|
||||
comp_op_color, //----comp_op_color
|
||||
comp_op_value, //----comp_op_value
|
||||
comp_op_color_spin, //----comp_op_color_spin
|
||||
end_of_comp_op_e
|
||||
};
|
||||
|
||||
|
|
|
@ -75,6 +75,7 @@ enum composite_mode_e
|
|||
saturation,
|
||||
_color,
|
||||
_value
|
||||
color_spin
|
||||
};
|
||||
|
||||
MAPNIK_DECL boost::optional<composite_mode_e> comp_op_from_string(std::string const& name);
|
||||
|
|
|
@ -389,6 +389,7 @@ public:
|
|||
case saturation:
|
||||
case _color:
|
||||
case _value:
|
||||
case color_spin:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,6 +74,7 @@ static const comp_op_lookup_type comp_lookup = boost::assign::list_of<comp_op_lo
|
|||
(saturation,"saturation")
|
||||
(_color,"color")
|
||||
(_value,"value")
|
||||
(color_spin,"color-spin")
|
||||
;
|
||||
|
||||
boost::optional<composite_mode_e> comp_op_from_string(std::string const& name)
|
||||
|
|
Loading…
Reference in a new issue