diff options
author | ExMix <rahuba.youri@mapswithme.com> | 2015-03-11 18:06:18 +0300 |
---|---|---|
committer | r.kuznetsov <r.kuznetsov@corp.mail.ru> | 2015-11-30 16:04:06 +0300 |
commit | 79c730e51d0d3995d372fb144d40ae56b1e915b1 (patch) | |
tree | cb7087eb2e4d1d6a4aacfd20b7f6b9b103946a83 /drape/texture_manager.hpp | |
parent | 7c7176b8f64afd0cd9712db6ad82137c3cab7756 (diff) |
[drape] static gui label
Diffstat (limited to 'drape/texture_manager.hpp')
-rw-r--r-- | drape/texture_manager.hpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drape/texture_manager.hpp b/drape/texture_manager.hpp index e171ad7faa..c6a0ea1ccd 100644 --- a/drape/texture_manager.hpp +++ b/drape/texture_manager.hpp @@ -76,10 +76,14 @@ public: void GetStippleRegion(TStipplePattern const & pen, StippleRegion & region); void GetColorRegion(Color const & color, ColorRegion & region); - typedef buffer_vector<GlyphRegion, 32> TGlyphsBuffer; + typedef buffer_vector<strings::UniString, 3> TMultilineText; + typedef buffer_vector<GlyphRegion, 128> TGlyphsBuffer; + typedef buffer_vector<TGlyphsBuffer, 3> TMultilineGlyphsBuffer; + + void GetGlyphRegions(TMultilineText const & text, TMultilineGlyphsBuffer & buffers); void GetGlyphRegions(strings::UniString const & text, TGlyphsBuffer & regions); - /// On some devices OpenGL driver can't resolve situation when we upload on texture from on thread + /// On some devices OpenGL driver can't resolve situation when we upload on texture from one thread /// and use this texture to render on other thread. By this we move UpdateDynamicTextures call into render thread /// If you implement some kind of dynamic texture, you must synchronyze UploadData and index creation operations void UpdateDynamicTextures(); @@ -101,6 +105,9 @@ private: void AllocateGlyphTexture(TextureManager::GlyphGroup & group) const; void GetRegionBase(RefPointer<Texture> tex, TextureManager::BaseRegion & region, Texture::Key const & key); + size_t FindCharGroup(strings::UniChar const & c); + bool CheckCharGroup(strings::UniChar const & c, size_t & groupIndex); + void FillResultBuffer(strings::UniString const & text, GlyphGroup & group, TGlyphsBuffer & regions); private: MasterPointer<Texture> m_symbolTexture; |