Check if text_symbolizer has 'placement finder'(keys::text_placements) before any text processing
This commit is contained in:
parent
d7a8f1d04a
commit
61cb187dbb
6 changed files with 16 additions and 1 deletions
|
@ -42,6 +42,8 @@ void agg_renderer<T0, T1>::process(shield_symbolizer const& sym,
|
|||
const auto transform = get_optional<transform_type>(sym, keys::geometry_transform);
|
||||
if (transform)
|
||||
evaluate_transform(tr, feature, common_.vars_, *transform, common_.scale_factor_);
|
||||
if (!mapnik::get<text_placements_ptr>(sym, keys::text_placements_))
|
||||
return;
|
||||
const text_symbolizer_helper helper(sym,
|
||||
feature,
|
||||
common_.vars_,
|
||||
|
|
|
@ -42,6 +42,8 @@ void agg_renderer<T0, T1>::process(text_symbolizer const& sym,
|
|||
const auto transform = get_optional<transform_type>(sym, keys::geometry_transform);
|
||||
if (transform)
|
||||
evaluate_transform(tr, feature, common_.vars_, *transform, common_.scale_factor_);
|
||||
if (!mapnik::get<text_placements_ptr>(sym, keys::text_placements_))
|
||||
return;
|
||||
const text_symbolizer_helper helper(sym,
|
||||
feature,
|
||||
common_.vars_,
|
||||
|
|
|
@ -43,6 +43,8 @@ void cairo_renderer<T>::process(shield_symbolizer const& sym,
|
|||
auto transform = get_optional<transform_type>(sym, keys::geometry_transform);
|
||||
if (transform)
|
||||
evaluate_transform(tr, feature, common_.vars_, *transform, common_.scale_factor_);
|
||||
if (!mapnik::get<text_placements_ptr>(sym, keys::text_placements_))
|
||||
return;
|
||||
text_symbolizer_helper helper(sym,
|
||||
feature,
|
||||
common_.vars_,
|
||||
|
@ -86,6 +88,8 @@ void cairo_renderer<T>::process(text_symbolizer const& sym,
|
|||
auto transform = get_optional<transform_type>(sym, keys::geometry_transform);
|
||||
if (transform)
|
||||
evaluate_transform(tr, feature, common_.vars_, *transform, common_.scale_factor_);
|
||||
if (!mapnik::get<text_placements_ptr>(sym, keys::text_placements_))
|
||||
return;
|
||||
text_symbolizer_helper helper(sym,
|
||||
feature,
|
||||
common_.vars_,
|
||||
|
|
|
@ -51,7 +51,8 @@ void grid_renderer<T>::process(shield_symbolizer const& sym,
|
|||
auto transform = get_optional<transform_type>(sym, keys::geometry_transform);
|
||||
if (transform)
|
||||
evaluate_transform(tr, feature, common_.vars_, *transform, common_.scale_factor_);
|
||||
|
||||
if (!mapnik::get<text_placements_ptr>(sym, keys::text_placements_))
|
||||
return;
|
||||
text_symbolizer_helper helper(sym,
|
||||
feature,
|
||||
common_.vars_,
|
||||
|
|
|
@ -43,6 +43,8 @@ void grid_renderer<T>::process(text_symbolizer const& sym,
|
|||
auto transform = get_optional<transform_type>(sym, keys::geometry_transform);
|
||||
if (transform)
|
||||
evaluate_transform(tr, feature, common_.vars_, *transform, common_.scale_factor_);
|
||||
if (!mapnik::get<text_placements_ptr>(sym, keys::text_placements_))
|
||||
return;
|
||||
text_symbolizer_helper helper(sym,
|
||||
feature,
|
||||
common_.vars_,
|
||||
|
|
|
@ -98,6 +98,8 @@ void render_thunk_extractor::operator()(markers_symbolizer const& sym) const
|
|||
|
||||
void render_thunk_extractor::operator()(text_symbolizer const& sym) const
|
||||
{
|
||||
if (!mapnik::get<text_placements_ptr>(sym, keys::text_placements_))
|
||||
return;
|
||||
auto helper = std::make_unique<text_symbolizer_helper>(sym,
|
||||
feature_,
|
||||
vars_,
|
||||
|
@ -116,6 +118,8 @@ void render_thunk_extractor::operator()(text_symbolizer const& sym) const
|
|||
|
||||
void render_thunk_extractor::operator()(shield_symbolizer const& sym) const
|
||||
{
|
||||
if (!mapnik::get<text_placements_ptr>(sym, keys::text_placements_))
|
||||
return;
|
||||
auto helper = std::make_unique<text_symbolizer_helper>(sym,
|
||||
feature_,
|
||||
vars_,
|
||||
|
|
Loading…
Reference in a new issue