diff --git a/src/agg/process_line_pattern_symbolizer.cpp b/src/agg/process_line_pattern_symbolizer.cpp index e39e30f67..0d162cb77 100644 --- a/src/agg/process_line_pattern_symbolizer.cpp +++ b/src/agg/process_line_pattern_symbolizer.cpp @@ -53,8 +53,14 @@ void agg_renderer::process(line_pattern_symbolizer const& sym, mapnik::feature_ptr const& feature, proj_transform const& prj_trans) { - typedef agg::line_image_pattern pattern_type; - typedef agg::renderer_base renderer_base; + typedef agg::rgba8 color; + typedef agg::order_rgba order; + typedef agg::pixel32_type pixel_type; + typedef agg::comp_op_adaptor_rgba blender_type; + typedef agg::pattern_filter_bilinear_rgba8 filter_type; + typedef agg::line_image_pattern pattern_type; + typedef agg::pixfmt_custom_blend_rgba pixfmt_type; + typedef agg::renderer_base renderer_base; typedef agg::renderer_outline_image renderer_type; typedef agg::rasterizer_outline_aa rasterizer_type; @@ -77,7 +83,8 @@ void agg_renderer::process(line_pattern_symbolizer const& sym, box2d ext = query_extent_ * 1.0; agg::rendering_buffer buf(pixmap_.raw_data(),width_,height_, width_ * 4); - agg::pixfmt_rgba32 pixf(buf); + pixfmt_type pixf(buf); + if (sym.comp_op()) pixf.comp_op(static_cast(*sym.comp_op())); renderer_base ren_base(pixf); agg::pattern_filter_bilinear_rgba8 filter;