diff --git a/src/MeshTools/Interleave.h b/src/MeshTools/Interleave.h index e5dae48cc..dc663456a 100644 --- a/src/MeshTools/Interleave.h +++ b/src/MeshTools/Interleave.h @@ -66,7 +66,7 @@ class Interleave { std::tie(std::ignore, std::ignore, data) = operator()(attributes...); mesh.setVertexCount(_attributeCount); - buffer.setData({data, _attributeCount*_stride}, usage); + buffer.setData(data, usage); } /* Specialization for only one attribute array */ diff --git a/src/Plugins/MagnumFontConverter/MagnumFontConverter.cpp b/src/Plugins/MagnumFontConverter/MagnumFontConverter.cpp index 48a5a9169..229dd0e17 100644 --- a/src/Plugins/MagnumFontConverter/MagnumFontConverter.cpp +++ b/src/Plugins/MagnumFontConverter/MagnumFontConverter.cpp @@ -107,8 +107,7 @@ std::vector>> MagnumFont Utility::ConfigurationGroup* group = configuration.addGroup("glyph"); group->setValue("advance", font.glyphAdvance(oldGlyphId)); group->setValue("position", glyph.first+cache.padding()); - group->setValue("rectangle", Range2Di(glyph.second.bottomLeft()+cache.padding(), - glyph.second.topRight()-cache.padding())); + group->setValue("rectangle", glyph.second.padded(-cache.padding())); } std::ostringstream confOut; diff --git a/src/Text/GlyphCache.cpp b/src/Text/GlyphCache.cpp index ecdc0e3f0..e5b98666e 100644 --- a/src/Text/GlyphCache.cpp +++ b/src/Text/GlyphCache.cpp @@ -87,16 +87,14 @@ std::vector GlyphCache::reserve(const std::vector& sizes) { return TextureTools::atlas(_size, sizes, _padding); } -void GlyphCache::insert(const UnsignedInt glyph, Vector2i position, Range2Di rectangle) { - position -= _padding; - rectangle.bottomLeft() -= _padding; - rectangle.topRight() += _padding; +void GlyphCache::insert(const UnsignedInt glyph, const Vector2i& position, const Range2Di& rectangle) { + const std::pair glyphData = {position-_padding, rectangle.padded(_padding)}; /* Overwriting "Not Found" glyph */ - if(glyph == 0) glyphs[0] = {position, rectangle}; + if(glyph == 0) glyphs[0] = glyphData; /* Inserting new glyph */ - else CORRADE_INTERNAL_ASSERT_OUTPUT(glyphs.insert({glyph, {position, rectangle}}).second); + else CORRADE_INTERNAL_ASSERT_OUTPUT(glyphs.insert({glyph, glyphData}).second); } void GlyphCache::setImage(const Vector2i& offset, const ImageReference2D& image) { diff --git a/src/Text/GlyphCache.h b/src/Text/GlyphCache.h index 8e45ab68a..5fa5ede88 100644 --- a/src/Text/GlyphCache.h +++ b/src/Text/GlyphCache.h @@ -176,7 +176,7 @@ class MAGNUM_TEXT_EXPORT GlyphCache { * See also @ref setImage() to upload glyph image. * @see @ref padding() */ - void insert(UnsignedInt glyph, Vector2i position, Range2Di rectangle); + void insert(UnsignedInt glyph, const Vector2i& position, const Range2Di& rectangle); /** * @brief Set cache image