diff --git a/doc/changelog.dox b/doc/changelog.dox index 5cc1976d4..030c9e9e5 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -546,6 +546,10 @@ See also: the color map offset was not a part of per-draw data, but rather material data. +@subsubsection changelog-latest-changes-text Text library + +- Added @ref Text::Renderer::fontSize() + @subsubsection changelog-latest-changes-trade Trade library - A changed signature of the @ref Trade::AbstractImporter::doOpenData(Containers::Array&&, DataFlags) diff --git a/src/Magnum/Text/Renderer.cpp b/src/Magnum/Text/Renderer.cpp index c2162696a..b1263af9d 100644 --- a/src/Magnum/Text/Renderer.cpp +++ b/src/Magnum/Text/Renderer.cpp @@ -297,7 +297,7 @@ void AbstractRenderer::bufferUnmapImplementationDefault(GL::Buffer& buffer) #endif } -AbstractRenderer::AbstractRenderer(AbstractFont& font, const GlyphCache& cache, const Float size, const Alignment alignment): _vertexBuffer{GL::Buffer::TargetHint::Array}, _indexBuffer{GL::Buffer::TargetHint::ElementArray}, font(font), cache(cache), size(size), _alignment(alignment), _capacity(0) { +AbstractRenderer::AbstractRenderer(AbstractFont& font, const GlyphCache& cache, const Float size, const Alignment alignment): _vertexBuffer{GL::Buffer::TargetHint::Array}, _indexBuffer{GL::Buffer::TargetHint::ElementArray}, font(font), cache(cache), _fontSize{size}, _alignment(alignment), _capacity(0) { #ifndef MAGNUM_TARGET_GLES MAGNUM_ASSERT_GL_EXTENSION_SUPPORTED(GL::Extensions::ARB::map_buffer_range); #elif defined(MAGNUM_TARGET_GLES2) && !defined(CORRADE_TARGET_EMSCRIPTEN) @@ -362,7 +362,7 @@ void AbstractRenderer::render(const std::string& text) { /* Render vertex data */ std::vector vertexData; _rectangle = {}; - std::tie(vertexData, _rectangle) = renderVerticesInternal(font, cache, size, text, _alignment); + std::tie(vertexData, _rectangle) = renderVerticesInternal(font, cache, _fontSize, text, _alignment); const UnsignedInt glyphCount = vertexData.size()/4; const UnsignedInt vertexCount = glyphCount*4; diff --git a/src/Magnum/Text/Renderer.h b/src/Magnum/Text/Renderer.h index 3ef2eabc2..7cb3979fa 100644 --- a/src/Magnum/Text/Renderer.h +++ b/src/Magnum/Text/Renderer.h @@ -78,6 +78,12 @@ class MAGNUM_TEXT_EXPORT AbstractRenderer { */ UnsignedInt capacity() const { return _capacity; } + /** + * @brief Font size + * @m_since_latest + */ + Float fontSize() const { return _fontSize; } + /** @brief Rectangle spanning the rendered text */ Range2D rectangle() const { return _rectangle; } @@ -135,7 +141,7 @@ class MAGNUM_TEXT_EXPORT AbstractRenderer { private: AbstractFont& font; const GlyphCache& cache; - Float size; + Float _fontSize; Alignment _alignment; UnsignedInt _capacity; Range2D _rectangle; diff --git a/src/Magnum/Text/Test/RendererGLTest.cpp b/src/Magnum/Text/Test/RendererGLTest.cpp index 276f3fbc2..174e1bee3 100644 --- a/src/Magnum/Text/Test/RendererGLTest.cpp +++ b/src/Magnum/Text/Test/RendererGLTest.cpp @@ -274,6 +274,7 @@ void RendererGLTest::mutableText() { Text::Renderer2D renderer(font, nullGlyphCache, 0.25f); MAGNUM_VERIFY_NO_GL_ERROR(); CORRADE_COMPARE(renderer.capacity(), 0); + CORRADE_COMPARE(renderer.fontSize(), 0.25f); CORRADE_COMPARE(renderer.rectangle(), Range2D()); /* Reserve some capacity */