Factored out common fields from grid renderer.
This commit is contained in:
parent
ee018dc589
commit
4f871d1fc7
11 changed files with 60 additions and 78 deletions
|
@ -35,6 +35,7 @@
|
|||
#include <mapnik/ctrans.hpp> // for CoordTransform
|
||||
#include <mapnik/image_compositing.hpp> // for composite_mode_e
|
||||
#include <mapnik/pixel_position.hpp>
|
||||
#include <mapnik/renderer_common.hpp>
|
||||
|
||||
// boost
|
||||
|
||||
|
@ -124,20 +125,13 @@ public:
|
|||
}
|
||||
inline double scale_factor() const
|
||||
{
|
||||
return scale_factor_;
|
||||
return common_.scale_factor_;
|
||||
}
|
||||
|
||||
private:
|
||||
buffer_type & pixmap_;
|
||||
unsigned width_;
|
||||
unsigned height_;
|
||||
double scale_factor_;
|
||||
CoordTransform t_;
|
||||
freetype_engine font_engine_;
|
||||
face_manager<freetype_engine> font_manager_;
|
||||
std::shared_ptr<label_collision_detector4> detector_;
|
||||
const std::unique_ptr<grid_rasterizer> ras_ptr;
|
||||
box2d<double> query_extent_;
|
||||
renderer_common common_;
|
||||
void setup(Map const& m);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -58,16 +58,10 @@ template <typename T>
|
|||
grid_renderer<T>::grid_renderer(Map const& m, T & pixmap, double scale_factor, unsigned offset_x, unsigned offset_y)
|
||||
: feature_style_processor<grid_renderer>(m, scale_factor),
|
||||
pixmap_(pixmap),
|
||||
width_(pixmap_.width()),
|
||||
height_(pixmap_.height()),
|
||||
scale_factor_(scale_factor),
|
||||
ras_ptr(new grid_rasterizer),
|
||||
// NOTE: can change this to m dims instead of pixmap_ if render-time
|
||||
// resolution support is dropped from grid_renderer python interface
|
||||
t_(pixmap_.width(),pixmap_.height(),m.get_current_extent(),offset_x,offset_y),
|
||||
font_engine_(),
|
||||
font_manager_(font_engine_),
|
||||
detector_(std::make_shared<label_collision_detector4>(box2d<double>(-m.buffer_size(), -m.buffer_size(), m.width() + m.buffer_size() ,m.height() + m.buffer_size()))),
|
||||
ras_ptr(new grid_rasterizer)
|
||||
common_(m, offset_x, offset_y, pixmap_.width(), pixmap_.height(), scale_factor)
|
||||
{
|
||||
setup(m);
|
||||
}
|
||||
|
@ -76,16 +70,10 @@ template <typename T>
|
|||
grid_renderer<T>::grid_renderer(Map const& m, request const& req, T & pixmap, double scale_factor, unsigned offset_x, unsigned offset_y)
|
||||
: feature_style_processor<grid_renderer>(m, scale_factor),
|
||||
pixmap_(pixmap),
|
||||
width_(pixmap_.width()),
|
||||
height_(pixmap_.height()),
|
||||
scale_factor_(scale_factor),
|
||||
ras_ptr(new grid_rasterizer),
|
||||
// NOTE: can change this to m dims instead of pixmap_ if render-time
|
||||
// resolution support is dropped from grid_renderer python interface
|
||||
t_(pixmap_.width(),pixmap_.height(),req.extent(),offset_x,offset_y),
|
||||
font_engine_(),
|
||||
font_manager_(font_engine_),
|
||||
detector_(std::make_shared<label_collision_detector4>(box2d<double>(-req.buffer_size(), -req.buffer_size(), req.width() + req.buffer_size() ,req.height() + req.buffer_size()))),
|
||||
ras_ptr(new grid_rasterizer)
|
||||
common_(req, offset_x, offset_y, pixmap_.width(), pixmap_.height(), scale_factor)
|
||||
{
|
||||
setup(m);
|
||||
}
|
||||
|
@ -105,7 +93,7 @@ void grid_renderer<T>::start_map_processing(Map const& m)
|
|||
{
|
||||
MAPNIK_LOG_DEBUG(grid_renderer) << "grid_renderer: Start map processing bbox=" << m.get_current_extent();
|
||||
|
||||
ras_ptr->clip_box(0,0,width_,height_);
|
||||
ras_ptr->clip_box(0,0,common_.width_,common_.height_);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
|
@ -123,13 +111,13 @@ void grid_renderer<T>::start_layer_processing(layer const& lay, box2d<double> co
|
|||
|
||||
if (lay.clear_label_cache())
|
||||
{
|
||||
detector_->clear();
|
||||
common_.detector_->clear();
|
||||
}
|
||||
query_extent_ = query_extent;
|
||||
common_.query_extent_ = query_extent;
|
||||
boost::optional<box2d<double> > const& maximum_extent = lay.maximum_extent();
|
||||
if (maximum_extent)
|
||||
{
|
||||
query_extent_.clip(*maximum_extent);
|
||||
common_.query_extent_.clip(*maximum_extent);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -148,7 +136,7 @@ void grid_renderer<T>::render_marker(mapnik::feature_impl & feature, unsigned in
|
|||
typedef agg::renderer_scanline_bin_solid<grid_renderer_base_type> renderer_type;
|
||||
agg::scanline_bin sl;
|
||||
|
||||
grid_rendering_buffer buf(pixmap_.raw_data(), width_, height_, width_);
|
||||
grid_rendering_buffer buf(pixmap_.raw_data(), common_.width_, common_.height_, common_.width_);
|
||||
pixfmt_type pixf(buf);
|
||||
|
||||
grid_renderer_base_type renb(pixf);
|
||||
|
@ -162,7 +150,7 @@ void grid_renderer<T>::render_marker(mapnik::feature_impl & feature, unsigned in
|
|||
agg::trans_affine mtx = agg::trans_affine_translation(-c.x,-c.y);
|
||||
// apply symbol transformation to get to map space
|
||||
mtx *= tr;
|
||||
mtx *= agg::trans_affine_scaling(scale_factor_*(1.0/step));
|
||||
mtx *= agg::trans_affine_scaling(common_.scale_factor_*(1.0/step));
|
||||
// render the marker at the center of the marker box
|
||||
mtx.translate(pos.x, pos.y);
|
||||
using namespace mapnik::svg;
|
||||
|
@ -184,7 +172,7 @@ void grid_renderer<T>::render_marker(mapnik::feature_impl & feature, unsigned in
|
|||
double height = data.height();
|
||||
double cx = 0.5 * width;
|
||||
double cy = 0.5 * height;
|
||||
if (step == 1 && (std::fabs(1.0 - scale_factor_) < 0.001 && tr.is_identity()))
|
||||
if (step == 1 && (std::fabs(1.0 - common_.scale_factor_) < 0.001 && tr.is_identity()))
|
||||
{
|
||||
// TODO - support opacity
|
||||
pixmap_.set_rectangle(feature.id(), data,
|
||||
|
|
|
@ -56,7 +56,7 @@ void grid_renderer<T>::process(building_symbolizer const& sym,
|
|||
typedef coord_transform<CoordTransform,geometry_type> path_type;
|
||||
agg::scanline_bin sl;
|
||||
|
||||
grid_rendering_buffer buf(pixmap_.raw_data(), width_, height_, width_);
|
||||
grid_rendering_buffer buf(pixmap_.raw_data(), common_.width_, common_.height_, common_.width_);
|
||||
pixfmt_type pixf(buf);
|
||||
|
||||
grid_renderer_base_type renb(pixf);
|
||||
|
@ -103,7 +103,7 @@ void grid_renderer<T>::process(building_symbolizer const& sym,
|
|||
faces->line_to(std::get<2>(seg),std::get<3>(seg) + height);
|
||||
faces->line_to(std::get<0>(seg),std::get<1>(seg) + height);
|
||||
|
||||
path_type faces_path (t_,*faces,prj_trans);
|
||||
path_type faces_path (common_.t_,*faces,prj_trans);
|
||||
ras_ptr->add_path(faces_path);
|
||||
ren.color(color_type(feature.id()));
|
||||
agg::render_scanlines(*ras_ptr, sl, ren);
|
||||
|
@ -129,14 +129,14 @@ void grid_renderer<T>::process(building_symbolizer const& sym,
|
|||
roof->line_to(x,y+height);
|
||||
}
|
||||
}
|
||||
path_type path(t_,*frame,prj_trans);
|
||||
path_type path(common_.t_,*frame,prj_trans);
|
||||
agg::conv_stroke<path_type> stroke(path);
|
||||
ras_ptr->add_path(stroke);
|
||||
ren.color(color_type(feature.id()));
|
||||
agg::render_scanlines(*ras_ptr, sl, ren);
|
||||
ras_ptr->reset();
|
||||
|
||||
path_type roof_path (t_,*roof,prj_trans);
|
||||
path_type roof_path (common_.t_,*roof,prj_trans);
|
||||
ras_ptr->add_path(roof_path);
|
||||
ren.color(color_type(feature.id()));
|
||||
agg::render_scanlines(*ras_ptr, sl, ren);
|
||||
|
|
|
@ -76,7 +76,7 @@ void grid_renderer<T>::process(line_pattern_symbolizer const& sym,
|
|||
simplify_tag, smooth_tag, stroke_tag> conv_types;
|
||||
agg::scanline_bin sl;
|
||||
|
||||
grid_rendering_buffer buf(pixmap_.raw_data(), width_, height_, width_);
|
||||
grid_rendering_buffer buf(pixmap_.raw_data(), common_.width_, common_.height_, common_.width_);
|
||||
pixfmt_type pixf(buf);
|
||||
|
||||
grid_renderer_base_type renb(pixf);
|
||||
|
@ -90,16 +90,16 @@ void grid_renderer<T>::process(line_pattern_symbolizer const& sym,
|
|||
auto transform = get_optional<transform_type>(sym, keys::geometry_transform);
|
||||
if (transform) { evaluate_transform(tr, feature, *transform); }
|
||||
|
||||
box2d<double> clipping_extent = query_extent_;
|
||||
box2d<double> clipping_extent = common_.query_extent_;
|
||||
if (clip)
|
||||
{
|
||||
double padding = (double)(query_extent_.width()/pixmap_.width());
|
||||
double padding = (double)(common_.query_extent_.width()/pixmap_.width());
|
||||
double half_stroke = stroke_width/2.0;
|
||||
if (half_stroke > 1)
|
||||
padding *= half_stroke;
|
||||
if (std::fabs(offset) > 0)
|
||||
padding *= std::fabs(offset) * 1.2;
|
||||
padding *= scale_factor_;
|
||||
padding *= common_.scale_factor_;
|
||||
clipping_extent.pad(padding);
|
||||
}
|
||||
|
||||
|
@ -116,7 +116,7 @@ void grid_renderer<T>::process(line_pattern_symbolizer const& sym,
|
|||
|
||||
vertex_converter<box2d<double>, grid_rasterizer, line_symbolizer,
|
||||
CoordTransform, proj_transform, agg::trans_affine, conv_types>
|
||||
converter(clipping_extent,*ras_ptr,line,t_,prj_trans,tr,scale_factor_);
|
||||
converter(clipping_extent,*ras_ptr,line,common_.t_,prj_trans,tr,common_.scale_factor_);
|
||||
if (clip) converter.set<clip_line_tag>(); // optional clip (default: true)
|
||||
converter.set<transform_tag>(); // always transform
|
||||
if (std::fabs(offset) > 0.0) converter.set<offset_transform_tag>(); // parallel offset
|
||||
|
|
|
@ -57,7 +57,7 @@ void grid_renderer<T>::process(line_symbolizer const& sym,
|
|||
simplify_tag, smooth_tag, dash_tag, stroke_tag> conv_types;
|
||||
agg::scanline_bin sl;
|
||||
|
||||
grid_rendering_buffer buf(pixmap_.raw_data(), width_, height_, width_);
|
||||
grid_rendering_buffer buf(pixmap_.raw_data(), common_.width_, common_.height_, common_.width_);
|
||||
pixfmt_type pixf(buf);
|
||||
|
||||
grid_renderer_base_type renb(pixf);
|
||||
|
@ -69,7 +69,7 @@ void grid_renderer<T>::process(line_symbolizer const& sym,
|
|||
auto transform = get_optional<transform_type>(sym, keys::geometry_transform);
|
||||
if (transform) { evaluate_transform(tr, feature, *transform); }
|
||||
|
||||
box2d<double> clipping_extent = query_extent_;
|
||||
box2d<double> clipping_extent = common_.query_extent_;
|
||||
|
||||
bool clip = get<value_bool>(sym, keys::clip, feature, true);
|
||||
double width = get<value_double>(sym, keys::stroke_width, feature, 1.0);
|
||||
|
@ -80,19 +80,19 @@ void grid_renderer<T>::process(line_symbolizer const& sym,
|
|||
|
||||
if (clip)
|
||||
{
|
||||
double padding = (double)(query_extent_.width()/pixmap_.width());
|
||||
double padding = (double)(common_.query_extent_.width()/pixmap_.width());
|
||||
double half_stroke = width/2.0;
|
||||
if (half_stroke > 1)
|
||||
padding *= half_stroke;
|
||||
if (std::fabs(offset) > 0)
|
||||
padding *= std::fabs(offset) * 1.2;
|
||||
padding *= scale_factor_;
|
||||
padding *= common_.scale_factor_;
|
||||
clipping_extent.pad(padding);
|
||||
}
|
||||
|
||||
vertex_converter<box2d<double>, grid_rasterizer, line_symbolizer,
|
||||
CoordTransform, proj_transform, agg::trans_affine, conv_types>
|
||||
converter(clipping_extent,*ras_ptr,sym,t_,prj_trans,tr,scale_factor_);
|
||||
converter(clipping_extent,*ras_ptr,sym,common_.t_,prj_trans,tr,common_.scale_factor_);
|
||||
if (clip) converter.set<clip_line_tag>(); // optional clip (default: true)
|
||||
converter.set<transform_tag>(); // always transform
|
||||
if (std::fabs(offset) > 0.0) converter.set<offset_transform_tag>(); // parallel offset
|
||||
|
|
|
@ -100,7 +100,7 @@ void grid_renderer<T>::process(markers_symbolizer const& sym,
|
|||
auto geom_transform = get_optional<transform_type>(sym, keys::geometry_transform);
|
||||
if (geom_transform) { evaluate_transform(geom_tr, feature, *geom_transform); }
|
||||
|
||||
agg::trans_affine tr = agg::trans_affine_scaling(scale_factor_*(1.0/pixmap_.get_resolution()));
|
||||
agg::trans_affine tr = agg::trans_affine_scaling(common_.scale_factor_*(1.0/pixmap_.get_resolution()));
|
||||
auto img_transform = get_optional<transform_type>(sym, keys::image_transform);
|
||||
|
||||
if ((*mark)->is_vector())
|
||||
|
@ -140,20 +140,20 @@ void grid_renderer<T>::process(markers_symbolizer const& sym,
|
|||
coord2d center = bbox.center();
|
||||
agg::trans_affine_translation recenter(-center.x, -center.y);
|
||||
agg::trans_affine marker_trans = recenter * tr;
|
||||
buf_type render_buf(pixmap_.raw_data(), width_, height_, width_);
|
||||
buf_type render_buf(pixmap_.raw_data(), common_.width_, common_.height_, common_.width_);
|
||||
dispatch_type rasterizer_dispatch(render_buf,
|
||||
svg_renderer,
|
||||
*ras_ptr,
|
||||
bbox,
|
||||
marker_trans,
|
||||
sym,
|
||||
*detector_,
|
||||
scale_factor_,
|
||||
*common_.detector_,
|
||||
common_.scale_factor_,
|
||||
feature,
|
||||
pixmap_);
|
||||
vertex_converter<box2d<double>, dispatch_type, markers_symbolizer,
|
||||
CoordTransform, proj_transform, agg::trans_affine, conv_types>
|
||||
converter(query_extent_, rasterizer_dispatch, sym,t_,prj_trans,tr,scale_factor_);
|
||||
converter(common_.query_extent_, rasterizer_dispatch, sym,common_.t_,prj_trans,tr,common_.scale_factor_);
|
||||
if (clip && feature.paths().size() > 0) // optional clip (default: true)
|
||||
{
|
||||
geometry_type::types type = feature.paths()[0].type();
|
||||
|
@ -183,20 +183,20 @@ void grid_renderer<T>::process(markers_symbolizer const& sym,
|
|||
svg_attribute_type attributes;
|
||||
bool result = push_explicit_style( (*stock_vector_marker)->attributes(), attributes, sym);
|
||||
svg_renderer_type svg_renderer(svg_path, result ? attributes : (*stock_vector_marker)->attributes());
|
||||
buf_type render_buf(pixmap_.raw_data(), width_, height_, width_);
|
||||
buf_type render_buf(pixmap_.raw_data(), common_.width_, common_.height_, common_.width_);
|
||||
dispatch_type rasterizer_dispatch(render_buf,
|
||||
svg_renderer,
|
||||
*ras_ptr,
|
||||
bbox,
|
||||
marker_trans,
|
||||
sym,
|
||||
*detector_,
|
||||
scale_factor_,
|
||||
*common_.detector_,
|
||||
common_.scale_factor_,
|
||||
feature,
|
||||
pixmap_);
|
||||
vertex_converter<box2d<double>, dispatch_type, markers_symbolizer,
|
||||
CoordTransform, proj_transform, agg::trans_affine, conv_types>
|
||||
converter(query_extent_, rasterizer_dispatch, sym,t_,prj_trans,tr,scale_factor_);
|
||||
converter(common_.query_extent_, rasterizer_dispatch, sym,common_.t_,prj_trans,tr,common_.scale_factor_);
|
||||
if (clip && feature.paths().size() > 0) // optional clip (default: true)
|
||||
{
|
||||
geometry_type::types type = feature.paths()[0].type();
|
||||
|
@ -230,19 +230,19 @@ void grid_renderer<T>::process(markers_symbolizer const& sym,
|
|||
renderer_type,
|
||||
detector_type,
|
||||
mapnik::grid > dispatch_type;
|
||||
buf_type render_buf(pixmap_.raw_data(), width_, height_, width_);
|
||||
buf_type render_buf(pixmap_.raw_data(), common_.width_, common_.height_, common_.width_);
|
||||
dispatch_type rasterizer_dispatch(render_buf,
|
||||
*ras_ptr,
|
||||
**marker,
|
||||
marker_trans,
|
||||
sym,
|
||||
*detector_,
|
||||
scale_factor_,
|
||||
*common_.detector_,
|
||||
common_.scale_factor_,
|
||||
feature,
|
||||
pixmap_);
|
||||
vertex_converter<box2d<double>, dispatch_type, markers_symbolizer,
|
||||
CoordTransform, proj_transform, agg::trans_affine, conv_types>
|
||||
converter(query_extent_, rasterizer_dispatch, sym,t_,prj_trans,tr,scale_factor_);
|
||||
converter(common_.query_extent_, rasterizer_dispatch, sym,common_.t_,prj_trans,tr,common_.scale_factor_);
|
||||
if (clip && feature.paths().size() > 0) // optional clip (default: true)
|
||||
{
|
||||
geometry_type::types type = feature.paths()[0].type();
|
||||
|
|
|
@ -75,11 +75,11 @@ void grid_renderer<T>::process(point_symbolizer const& sym,
|
|||
|
||||
agg::trans_affine tr;
|
||||
if (img_transform) { evaluate_transform(tr, feature, *img_transform); }
|
||||
tr = agg::trans_affine_scaling(scale_factor_) * tr;
|
||||
tr = agg::trans_affine_scaling(common_.scale_factor_) * tr;
|
||||
|
||||
agg::trans_affine_translation recenter(-center.x, -center.y);
|
||||
agg::trans_affine recenter_tr = recenter * tr;
|
||||
box2d<double> label_ext = bbox * recenter_tr * agg::trans_affine_scaling(scale_factor_) ;
|
||||
box2d<double> label_ext = bbox * recenter_tr * agg::trans_affine_scaling(common_.scale_factor_) ;
|
||||
|
||||
for (std::size_t i=0; i<feature.num_geometries(); ++i)
|
||||
{
|
||||
|
@ -99,10 +99,10 @@ void grid_renderer<T>::process(point_symbolizer const& sym,
|
|||
}
|
||||
|
||||
prj_trans.backward(x,y,z);
|
||||
t_.forward(&x,&y);
|
||||
common_.t_.forward(&x,&y);
|
||||
label_ext.re_center(x,y);
|
||||
if (allow_overlap ||
|
||||
detector_->has_placement(label_ext))
|
||||
common_.detector_->has_placement(label_ext))
|
||||
{
|
||||
|
||||
render_marker(feature,
|
||||
|
@ -114,7 +114,7 @@ void grid_renderer<T>::process(point_symbolizer const& sym,
|
|||
comp_op);
|
||||
|
||||
if (!ignore_placement)
|
||||
detector_->insert(label_ext);
|
||||
common_.detector_->insert(label_ext);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ void grid_renderer<T>::process(polygon_pattern_symbolizer const& sym,
|
|||
typedef boost::mpl::vector<clip_poly_tag,transform_tag,affine_transform_tag,smooth_tag> conv_types;
|
||||
vertex_converter<box2d<double>, grid_rasterizer, polygon_pattern_symbolizer,
|
||||
CoordTransform, proj_transform, agg::trans_affine, conv_types>
|
||||
converter(query_extent_,*ras_ptr,sym,t_,prj_trans,tr,scale_factor_);
|
||||
converter(common_.query_extent_,*ras_ptr,sym,common_.t_,prj_trans,tr,common_.scale_factor_);
|
||||
|
||||
if (prj_trans.equal() && clip) converter.set<clip_poly_tag>(); //optional clip (default: true)
|
||||
converter.set<transform_tag>(); //always transform
|
||||
|
@ -96,7 +96,7 @@ void grid_renderer<T>::process(polygon_pattern_symbolizer const& sym,
|
|||
typedef typename grid_renderer_base_type::pixfmt_type::color_type color_type;
|
||||
typedef agg::renderer_scanline_bin_solid<grid_renderer_base_type> renderer_type;
|
||||
|
||||
grid_rendering_buffer buf(pixmap_.raw_data(), width_, height_, width_);
|
||||
grid_rendering_buffer buf(pixmap_.raw_data(), common_.width_, common_.height_, common_.width_);
|
||||
pixfmt_type pixf(buf);
|
||||
|
||||
grid_renderer_base_type renb(pixf);
|
||||
|
|
|
@ -64,7 +64,7 @@ void grid_renderer<T>::process(polygon_symbolizer const& sym,
|
|||
typedef boost::mpl::vector<clip_poly_tag,transform_tag,affine_transform_tag,simplify_tag,smooth_tag> conv_types;
|
||||
vertex_converter<box2d<double>, grid_rasterizer, polygon_symbolizer,
|
||||
CoordTransform, proj_transform, agg::trans_affine, conv_types>
|
||||
converter(query_extent_,*ras_ptr,sym,t_,prj_trans,tr,scale_factor_);
|
||||
converter(common_.query_extent_,*ras_ptr,sym,common_.t_,prj_trans,tr,common_.scale_factor_);
|
||||
|
||||
if (prj_trans.equal() && clip) converter.set<clip_poly_tag>(); //optional clip (default: true)
|
||||
converter.set<transform_tag>(); //always transform
|
||||
|
@ -81,7 +81,7 @@ void grid_renderer<T>::process(polygon_symbolizer const& sym,
|
|||
}
|
||||
}
|
||||
|
||||
grid_rendering_buffer buf(pixmap_.raw_data(), width_, height_, width_);
|
||||
grid_rendering_buffer buf(pixmap_.raw_data(), common_.width_, common_.height_, common_.width_);
|
||||
pixfmt_type pixf(buf);
|
||||
|
||||
grid_renderer_base_type renb(pixf);
|
||||
|
|
|
@ -43,10 +43,10 @@ void grid_renderer<T>::process(shield_symbolizer const& sym,
|
|||
{
|
||||
text_symbolizer_helper helper(
|
||||
sym, feature, prj_trans,
|
||||
width_, height_,
|
||||
scale_factor_,
|
||||
t_, font_manager_, *detector_,
|
||||
query_extent_);
|
||||
common_.width_, common_.height_,
|
||||
common_.scale_factor_,
|
||||
common_.t_, common_.font_manager_, *common_.detector_,
|
||||
common_.query_extent_);
|
||||
bool placement_found = false;
|
||||
|
||||
composite_mode_e comp_op = get<composite_mode_e>(sym, keys::comp_op, feature, src_over);
|
||||
|
@ -54,7 +54,7 @@ void grid_renderer<T>::process(shield_symbolizer const& sym,
|
|||
|
||||
grid_text_renderer<T> ren(pixmap_,
|
||||
comp_op,
|
||||
scale_factor_);
|
||||
common_.scale_factor_);
|
||||
|
||||
placements_list const& placements = helper.get();
|
||||
value_integer feature_id = feature.id();
|
||||
|
|
|
@ -36,17 +36,17 @@ void grid_renderer<T>::process(text_symbolizer const& sym,
|
|||
{
|
||||
text_symbolizer_helper helper(
|
||||
sym, feature, prj_trans,
|
||||
width_, height_,
|
||||
scale_factor_ * (1.0/pixmap_.get_resolution()),
|
||||
t_, font_manager_, *detector_,
|
||||
query_extent_);
|
||||
common_.width_, common_.height_,
|
||||
common_.scale_factor_ * (1.0/pixmap_.get_resolution()),
|
||||
common_.t_, common_.font_manager_, *common_.detector_,
|
||||
common_.query_extent_);
|
||||
bool placement_found = false;
|
||||
|
||||
composite_mode_e comp_op = get<composite_mode_e>(sym, keys::comp_op, feature, src_over);
|
||||
|
||||
grid_text_renderer<T> ren(pixmap_,
|
||||
comp_op,
|
||||
scale_factor_);
|
||||
common_.scale_factor_);
|
||||
|
||||
placements_list const& placements = helper.get();
|
||||
value_integer feature_id = feature.id();
|
||||
|
|
Loading…
Add table
Reference in a new issue