diff --git a/drape/drape.pro b/drape/drape.pro index d6b5dbf6bb..f531ddb472 100644 --- a/drape/drape.pro +++ b/drape/drape.pro @@ -20,4 +20,4 @@ OTHER_FILES += \ shaders/text_fragment_shader.fsh \ shaders/text_vertex_shader.vsh \ shaders/compass_vertex_shader.vsh \ - shaders/ruler_vertex_shader.vsh + shaders/ruler_vertex_shader.vsh \ diff --git a/drape/fribidi.cpp b/drape/fribidi.cpp index 49de159c02..fdb604ee18 100644 --- a/drape/fribidi.cpp +++ b/drape/fribidi.cpp @@ -5,7 +5,7 @@ namespace fribidi { -strings::UniString log2vis(const strings::UniString & str) +strings::UniString log2vis(strings::UniString const & str) { size_t const count = str.size(); if (count == 0) diff --git a/drape_gui/drape_gui.pro b/drape_gui/drape_gui.pro index c7281be1a9..ccaf13da91 100644 --- a/drape_gui/drape_gui.pro +++ b/drape_gui/drape_gui.pro @@ -17,7 +17,7 @@ HEADERS += \ ruler_helper.hpp \ drape_gui.hpp \ gui_text.hpp \ - ruler_text.hpp + ruler_text.hpp \ SOURCES += \ skin.cpp \ @@ -28,5 +28,5 @@ SOURCES += \ ruler_helper.cpp \ drape_gui.cpp \ gui_text.cpp \ - ruler_text.cpp + ruler_text.cpp \ diff --git a/drape_gui/gui_text.cpp b/drape_gui/gui_text.cpp index 503264056d..c0b96fdb20 100644 --- a/drape_gui/gui_text.cpp +++ b/drape_gui/gui_text.cpp @@ -121,14 +121,17 @@ dp::RefPointer GuiText::Precache(buffer_vector & glsl::vec2 colorTex = glsl::ToVec2(color.GetTexRect().Center()); glsl::vec2 outlineTex = glsl::ToVec2(outlineColor.GetTexRect().Center()); - float depth = 0.0f; - for (size_t i = 0; i < m_maxLength; ++i) + size_t vertexCount = 4 * m_maxLength; + buffer.resize(vertexCount, StaticVertex(glsl::vec3(0.0, 0.0, 0.0), colorTex, outlineTex)); + + float depth = 0.0f; + for (size_t i = 0; i < vertexCount; i += 4) { - buffer.push_back(StaticVertex(glsl::vec3(0.0, 0.0, depth), colorTex, outlineTex)); - buffer.push_back(StaticVertex(glsl::vec3(0.0, 0.0, depth), colorTex, outlineTex)); - buffer.push_back(StaticVertex(glsl::vec3(0.0, 0.0, depth), colorTex, outlineTex)); - buffer.push_back(StaticVertex(glsl::vec3(0.0, 0.0, depth), colorTex, outlineTex)); + buffer[i + 0].m_position.z = depth; + buffer[i + 1].m_position.z = depth; + buffer[i + 2].m_position.z = depth; + buffer[i + 3].m_position.z = depth; depth += 10.0f; } diff --git a/drape_gui/ruler.cpp b/drape_gui/ruler.cpp index cabc6484d7..39e4e09528 100644 --- a/drape_gui/ruler.cpp +++ b/drape_gui/ruler.cpp @@ -95,28 +95,22 @@ void Ruler::Draw(dp::RefPointer batcher, dp::RefPointer