From 30910505a7a8e36e6642cbe17134c520000bd583 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Sat, 27 Sep 2025 00:24:43 +0800 Subject: Fix pango font rendering. --- demos/platform/graphics/CMakeLists.txt | 3 +++ demos/platform/graphics/DrawText.cpp | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 demos/platform/graphics/DrawText.cpp (limited to 'demos/platform/graphics') diff --git a/demos/platform/graphics/CMakeLists.txt b/demos/platform/graphics/CMakeLists.txt index ff5f64a5..07758ee6 100644 --- a/demos/platform/graphics/CMakeLists.txt +++ b/demos/platform/graphics/CMakeLists.txt @@ -5,5 +5,8 @@ target_sources(CruDemoPlatformGraphicsBase INTERFACE Base.cpp) add_executable(CruDemoPlatformGraphicsDrawCircle DrawCircle.cpp) target_link_libraries(CruDemoPlatformGraphicsDrawCircle PRIVATE CruDemoPlatformGraphicsBase) +add_executable(CruDemoPlatformGraphicsDrawText DrawText.cpp) +target_link_libraries(CruDemoPlatformGraphicsDrawText PRIVATE CruDemoPlatformGraphicsBase) + add_executable(CruDemoPlatformGraphicsSvgPath SvgPath.cpp) target_link_libraries(CruDemoPlatformGraphicsSvgPath PRIVATE CruDemoPlatformGraphicsBase) diff --git a/demos/platform/graphics/DrawText.cpp b/demos/platform/graphics/DrawText.cpp new file mode 100644 index 00000000..5de5e127 --- /dev/null +++ b/demos/platform/graphics/DrawText.cpp @@ -0,0 +1,21 @@ +#include "Base.h" +#include "cru/platform/Color.h" +#include "cru/platform/graphics/Factory.h" +#include "cru/platform/graphics/Font.h" +#include "cru/platform/graphics/Painter.h" + +#include + +int main() { + CruPlatformGraphicsDemo demo("draw-text-demo.png", 500, 200); + + auto brush = + demo.GetFactory()->CreateSolidColorBrush(cru::platform::colors::skyblue); + + std::shared_ptr font( + demo.GetFactory()->CreateFont(u"", 24)); + auto text_layout = demo.GetFactory()->CreateTextLayout(font, u"Hello world!"); + demo.GetPainter()->DrawText({0, 0}, text_layout.get(), brush.get()); + + return 0; +} -- cgit v1.2.3