summaryrefslogtreecommitdiff
path: root/ui/font.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2022-01-03 17:10:57 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2022-01-03 17:10:57 +0000
commit9da868abbe640297a81c8a5e32cdc7f7776c295e (patch)
treedc11aef362eb4807c6c77b9ad0cbc0b0588aa470 /ui/font.cpp
parentEncapsulate Ray (diff)
downloadilt-9da868abbe640297a81c8a5e32cdc7f7776c295e.tar.bz2
ilt-9da868abbe640297a81c8a5e32cdc7f7776c295e.tar.xz
ilt-9da868abbe640297a81c8a5e32cdc7f7776c295e.zip
Add transform_array
Wraps std::transform to transform one array into another.
Diffstat (limited to 'ui/font.cpp')
-rw-r--r--ui/font.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/ui/font.cpp b/ui/font.cpp
index 712818d..e5432b8 100644
--- a/ui/font.cpp
+++ b/ui/font.cpp
@@ -12,6 +12,7 @@
#include <stdexcept>
#include <string>
#include <unicode.h>
+#include <util.h>
#include <utility>
// IWYU pragma: no_forward_declare FT_LibraryRec_
@@ -173,12 +174,11 @@ Font::render(const std::string_view chars) const
const auto charPos = pos + glm::vec2 {ch.bearing.x, ch.bearing.y - static_cast<int>(ch.size.y)};
const auto size = glm::vec2 {ch.size};
- Quad q;
- std::transform(C.begin(), C.end(), q.begin(), [&size, &charPos, &ch, this](const auto & c) {
- return (charPos + (size * c.first))
- || ((glm::vec2 {ch.position} + (glm::vec2 {ch.size} * c.second)) / glm::vec2 {this->size});
- });
- out[fontTextures[ch.textureIdx].texture].emplace_back(q);
+ out[fontTextures[ch.textureIdx].texture].emplace_back(
+ transform_array(C, [&size, &charPos, &ch, this](const auto & c) {
+ return (charPos + (size * c.first))
+ || ((glm::vec2 {ch.position} + (glm::vec2 {ch.size} * c.second)) / glm::vec2 {this->size});
+ }));
pos.x += static_cast<float>(ch.advance);
}