From 207d02aab4fefa136fe0f4f19c36b2431d926612 Mon Sep 17 00:00:00 2001 From: Georg Hagen Date: Sat, 4 Jan 2025 01:25:04 +0100 Subject: [PATCH] Remove redundant lambda, use initializer, add nodiscard --- openVulkanoCpp/Scene/TextDrawable.cpp | 32 +++++---------------------- openVulkanoCpp/Scene/TextDrawable.hpp | 8 +++---- 2 files changed, 10 insertions(+), 30 deletions(-) diff --git a/openVulkanoCpp/Scene/TextDrawable.cpp b/openVulkanoCpp/Scene/TextDrawable.cpp index c886987..fd8df4c 100644 --- a/openVulkanoCpp/Scene/TextDrawable.cpp +++ b/openVulkanoCpp/Scene/TextDrawable.cpp @@ -42,27 +42,23 @@ namespace OpenVulkano::Scene Shader TextDrawable::DEFAULT_SHADER_SDF = MakeDefaultShader("sdfText", "sdfText"); Shader TextDrawable::DEFAULT_SHADER_MSDF = MakeDefaultShader("sdfText", "msdfText"); - TextDrawable::TextDrawable(const TextConfig& config) + TextDrawable::TextDrawable(const TextConfig& config) : m_cfg(config) { - m_cfg = config; m_uniBuffer.Init(sizeof(TextConfig), &m_cfg, 3); m_uniBuffer.binding.stageFlags = ShaderProgramType::FRAGMENT; } TextDrawable::TextDrawable(const Array& atlasMetadata, const TextConfig& config) : TextDrawable(atlasMetadata, nullptr, config) - { - } + {} TextDrawable::TextDrawable(const std::string& atlasMetadataFile, const TextConfig& config) : TextDrawable(Utils::ReadFile(atlasMetadataFile), nullptr, config) - { - } + {} TextDrawable::TextDrawable(const std::string& atlasMetadataFile, Texture* atlasTex, const TextConfig& config) : TextDrawable(Utils::ReadFile(atlasMetadataFile), atlasTex, config) - { - } + {} TextDrawable::TextDrawable(const Array& atlasMetadata, Texture* atlasTex, const TextConfig& config) { @@ -130,27 +126,11 @@ namespace OpenVulkano::Scene void TextDrawable::GenerateText(const std::string& text, const Math::Vector3f& pos) { - if (text.empty()) - { - return; - } + if (text.empty()) return; m_text = text; - auto GetActualLength = [&]() - { - auto begin = text.begin(); - auto end = text.end(); - size_t len = 0; - while (begin != end) - { - uint32_t c = utf8::next(begin, end); - if (c == '\n') continue; - ++len; - } - return len; - }; - size_t len = GetActualLength(); + size_t len = utf8::distance(text.begin(), text.end()); m_geometry.Close(); m_geometry.Init(len * 4, len * 6); AtlasMetadata* meta; diff --git a/openVulkanoCpp/Scene/TextDrawable.hpp b/openVulkanoCpp/Scene/TextDrawable.hpp index 6bc1471..134ba2e 100644 --- a/openVulkanoCpp/Scene/TextDrawable.hpp +++ b/openVulkanoCpp/Scene/TextDrawable.hpp @@ -16,7 +16,6 @@ namespace OpenVulkano::Scene { - class IFontAtlasGenerator; struct TextConfig @@ -48,10 +47,11 @@ namespace OpenVulkano::Scene void GenerateText(const std::string& text, const Math::Vector3f& pos = Math::Vector3f(0.f)); void SetConfig(const TextConfig& cfg) { m_cfg = cfg; } void SetAtlasData(const std::shared_ptr& atlasData); - Math::AABB& GetBoundingBox() { return m_bbox; } - TextConfig& GetConfig() { return m_cfg; } + [[nodiscard]] Math::AABB& GetBoundingBox() { return m_bbox; } + [[nodiscard]] TextConfig& GetConfig() { return m_cfg; } [[nodiscard]] const std::string& GetText() const { return m_text; } - std::shared_ptr GetAtlasData() { return m_atlasData; } + [[nodiscard]] const std::shared_ptr GetAtlasData() { return m_atlasData; } + private: Geometry m_geometry; Material m_material;