text: add aa and hint to text
Some checks are pending
Build & Test (Arch) / Arch: Build and Test (gcc) (push) Waiting to run
Build & Test (Arch) / Arch: Build and Test (clang) (push) Waiting to run
Build & Test / nix (hyprgraphics) (push) Waiting to run
Build & Test / nix (hyprgraphics-with-tests) (push) Waiting to run

This commit is contained in:
Vaxry 2025-09-22 20:08:59 +01:00
parent c44e749dd6
commit 758678a614
Signed by: vaxry
GPG key ID: 665806380871D640
3 changed files with 13 additions and 8 deletions

View file

@ -3,6 +3,8 @@
#include "AsyncResource.hpp"
#include "../../color/Color.hpp"
#include <cairo/cairo.h>
#include <optional>
#include <hyprutils/math/Vector2D.hpp>
@ -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<Hyprutils::Math::Vector2D> 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<Hyprutils::Math::Vector2D> maxSize = std::nullopt;
cairo_antialias_t antialias = CAIRO_ANTIALIAS_GOOD;
cairo_hint_style_t hintStyle = CAIRO_HINT_STYLE_SLIGHT;
};
CTextResource(STextResourceData&& data);

View file

@ -24,7 +24,7 @@ Hyprgraphics::CImage::CImage(const std::span<uint8_t>& data, eImageFormat format
#ifndef HEIF_FOUND
lastError = "hyprgraphics compiled without HEIF support";
return;
#else
#else
CAIROSURFACE = AVIF::createSurfaceFromAvif(data);
mime = "image/avif";
#endif

View file

@ -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);