forked from organicmaps/organicmaps
don't use dynamic memory allocation when it's not necessary.
This commit is contained in:
parent
02c6dc4193
commit
be68c6d53d
3 changed files with 18 additions and 12 deletions
|
@ -69,6 +69,9 @@ namespace yg
|
|||
m_fontDesc(fontDesc),
|
||||
m_pivot(pt)
|
||||
{
|
||||
m_entries.reserve(visText.size());
|
||||
m_metrics.reserve(visText.size());
|
||||
|
||||
if (!m_fontDesc.IsValid())
|
||||
return;
|
||||
|
||||
|
@ -381,17 +384,17 @@ namespace yg
|
|||
return m_lastVisible;
|
||||
}
|
||||
|
||||
vector<GlyphLayoutElem> const & GlyphLayout::entries() const
|
||||
buffer_vector<GlyphLayoutElem, 32> const & GlyphLayout::entries() const
|
||||
{
|
||||
return m_entries;
|
||||
}
|
||||
|
||||
vector<GlyphMetrics> const & GlyphLayout::metrics() const
|
||||
buffer_vector<GlyphMetrics, 32> const & GlyphLayout::metrics() const
|
||||
{
|
||||
return m_metrics;
|
||||
}
|
||||
|
||||
vector<m2::AnyRectD> const & GlyphLayout::boundRects() const
|
||||
buffer_vector<m2::AnyRectD, 16> const & GlyphLayout::boundRects() const
|
||||
{
|
||||
return m_boundRects;
|
||||
}
|
||||
|
|
|
@ -45,10 +45,9 @@ namespace yg
|
|||
|
||||
yg::FontDesc m_fontDesc;
|
||||
|
||||
vector<GlyphMetrics> m_metrics;
|
||||
vector<GlyphLayoutElem> m_entries;
|
||||
|
||||
vector<m2::AnyRectD> m_boundRects;
|
||||
buffer_vector<GlyphMetrics, 32> m_metrics;
|
||||
buffer_vector<GlyphLayoutElem, 32> m_entries;
|
||||
buffer_vector<m2::AnyRectD, 16> m_boundRects;
|
||||
|
||||
m2::PointD m_pivot;
|
||||
|
||||
|
@ -83,10 +82,9 @@ namespace yg
|
|||
size_t firstVisible() const;
|
||||
size_t lastVisible() const;
|
||||
|
||||
vector<GlyphLayoutElem> const & entries() const;
|
||||
vector<GlyphMetrics> const & metrics() const;
|
||||
|
||||
vector<m2::AnyRectD> const & boundRects() const;
|
||||
buffer_vector<GlyphLayoutElem, 32> const & entries() const;
|
||||
buffer_vector<GlyphMetrics, 32> const & metrics() const;
|
||||
buffer_vector<m2::AnyRectD, 16> const & boundRects() const;
|
||||
|
||||
m2::PointD const & pivot() const;
|
||||
yg::FontDesc const & fontDesc() const;
|
||||
|
|
|
@ -31,7 +31,12 @@ namespace yg
|
|||
{
|
||||
if (isDirtyRect())
|
||||
{
|
||||
m_boundRects = m_glyphLayout.boundRects();
|
||||
m_boundRects.clear();
|
||||
m_boundRects.reserve(m_glyphLayout.boundRects().size());
|
||||
|
||||
for (unsigned i = 0; i < m_glyphLayout.boundRects().size(); ++i)
|
||||
m_boundRects.push_back(m_glyphLayout.boundRects()[i]);
|
||||
|
||||
// for (unsigned i = 0; i < m_boundRects.size(); ++i)
|
||||
// m_boundRects[i] = m2::Inflate(m_boundRects[i], m2::PointD(10, 10));
|
||||
// m_boundRects[i].m2::Inflate(m2::PointD(40, 2)); //< to create more sparse street names structure
|
||||
|
|
Loading…
Add table
Reference in a new issue