From 758678a614883460d314ec0396a07345267bc8f3 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Mon, 22 Sep 2025 20:08:59 +0100 Subject: [PATCH] text: add aa and hint to text --- .../resource/resources/TextResource.hpp | 16 ++++++++++------ src/image/Image.cpp | 2 +- src/resource/resources/TextResource.cpp | 3 ++- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/include/hyprgraphics/resource/resources/TextResource.hpp b/include/hyprgraphics/resource/resources/TextResource.hpp index c481adb..f3ac66e 100644 --- a/include/hyprgraphics/resource/resources/TextResource.hpp +++ b/include/hyprgraphics/resource/resources/TextResource.hpp @@ -3,6 +3,8 @@ #include "AsyncResource.hpp" #include "../../color/Color.hpp" +#include + #include #include @@ -17,12 +19,14 @@ namespace Hyprgraphics { }; struct STextResourceData { - std::string text = "Sample Text"; - std::string font = "Sans Serif"; - size_t fontSize = 16; - CColor color = CColor{CColor::SSRGB{.r = 1.F, .g = 1.F, .b = 1.F}}; - eTextAlignmentMode align = TEXT_ALIGN_LEFT; - std::optional maxSize = std::nullopt; + std::string text = "Sample Text"; + std::string font = "Sans Serif"; + size_t fontSize = 16; + CColor color = CColor{CColor::SSRGB{.r = 1.F, .g = 1.F, .b = 1.F}}; + eTextAlignmentMode align = TEXT_ALIGN_LEFT; + std::optional maxSize = std::nullopt; + cairo_antialias_t antialias = CAIRO_ANTIALIAS_GOOD; + cairo_hint_style_t hintStyle = CAIRO_HINT_STYLE_SLIGHT; }; CTextResource(STextResourceData&& data); diff --git a/src/image/Image.cpp b/src/image/Image.cpp index 78d8e35..1b9f0dc 100644 --- a/src/image/Image.cpp +++ b/src/image/Image.cpp @@ -24,7 +24,7 @@ Hyprgraphics::CImage::CImage(const std::span& data, eImageFormat format #ifndef HEIF_FOUND lastError = "hyprgraphics compiled without HEIF support"; return; -#else +#else CAIROSURFACE = AVIF::createSurfaceFromAvif(data); mime = "image/avif"; #endif diff --git a/src/resource/resources/TextResource.cpp b/src/resource/resources/TextResource.cpp index ff16a34..0676a5a 100644 --- a/src/resource/resources/TextResource.cpp +++ b/src/resource/resources/TextResource.cpp @@ -24,7 +24,8 @@ void CTextResource::render() { pango_font_description_free(fontDesc); cairo_font_options_t* options = cairo_font_options_create(); - cairo_font_options_set_antialias(options, CAIRO_ANTIALIAS_GOOD); + cairo_font_options_set_antialias(options, m_data.antialias); + cairo_font_options_set_hint_style(options, m_data.hintStyle); pango_cairo_context_set_font_options(pango_layout_get_context(layout), options); cairo_font_options_destroy(options);