diff --git a/indexer/feature_rect.cpp b/indexer/feature_rect.cpp new file mode 100644 index 0000000000..1f7e04b9ef --- /dev/null +++ b/indexer/feature_rect.cpp @@ -0,0 +1,6 @@ +#include "feature_rect.hpp" + +m2::RectD feature::GetFeatureViewport(FeatureType const & feature) +{ + return feature.GetLimitRect(-1); +} diff --git a/indexer/feature_rect.hpp b/indexer/feature_rect.hpp new file mode 100644 index 0000000000..271d43d9da --- /dev/null +++ b/indexer/feature_rect.hpp @@ -0,0 +1,11 @@ +#pragma once +#include "feature.hpp" +#include "../geometry/rect2d.hpp" + +namespace feature +{ + +// Get viewport to show given feature. Used in search. +m2::RectD GetFeatureViewport(FeatureType const & feature); + +} // namespace feature diff --git a/indexer/indexer.pro b/indexer/indexer.pro index 379fd3aff6..5afb275fb7 100644 --- a/indexer/indexer.pro +++ b/indexer/indexer.pro @@ -29,6 +29,7 @@ SOURCES += \ geometry_serialization.cpp \ tesselator.cpp \ feature_data.cpp \ + feature_rect.cpp \ HEADERS += \ feature.hpp \ @@ -62,3 +63,4 @@ HEADERS += \ tesselator.hpp \ tesselator_decl.hpp \ feature_data.hpp \ + feature_rect.hpp \ diff --git a/search/intermediate_result.cpp b/search/intermediate_result.cpp index 7fbd34f6cc..0ff555997b 100644 --- a/search/intermediate_result.cpp +++ b/search/intermediate_result.cpp @@ -1,4 +1,5 @@ #include "intermediate_result.hpp" +#include "../indexer/feature_rect.hpp" #include "../indexer/feature_visibility.hpp" #include "../base/string_utils.hpp" @@ -10,7 +11,7 @@ namespace impl IntermediateResult::IntermediateResult(FeatureType const & feature, string const & displayName, int matchPenalty) - : m_str(displayName), m_rect(feature.GetLimitRect(-1)), m_matchPenalty(matchPenalty), + : m_str(displayName), m_rect(feature::GetFeatureViewport(feature)), m_matchPenalty(matchPenalty), m_minDrawZoomLevel(feature::MinDrawableScaleForFeature(feature)) { }