From eee641e24f31f09dc5cd5130948f833d727bc46e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 18 Jan 2022 12:34:28 -0500 Subject: [PATCH] Add an api for rendering PangoLines --- gtk/gskpango.c | 20 ++++++++++++++++++++ gtk/gtksnapshot.h | 5 +++++ 2 files changed, 25 insertions(+) diff --git a/gtk/gskpango.c b/gtk/gskpango.c index e96c84a2fc..6807ada46d 100644 --- a/gtk/gskpango.c +++ b/gtk/gskpango.c @@ -480,3 +480,23 @@ gtk_snapshot_append_layout (GtkSnapshot *snapshot, gsk_pango_renderer_release (crenderer); } + +void +gtk_snapshot_append_lines (GtkSnapshot *snapshot, + PangoLines *lines, + const GdkRGBA *color) +{ + GskPangoRenderer *crenderer; + + g_return_if_fail (snapshot != NULL); + g_return_if_fail (PANGO_IS_LINES (lines)); + + crenderer = gsk_pango_renderer_acquire (); + + crenderer->snapshot = snapshot; + crenderer->fg_color = color; + + pango_renderer_draw_lines (PANGO_RENDERER (crenderer), lines, 0, 0); + + gsk_pango_renderer_release (crenderer); +} diff --git a/gtk/gtksnapshot.h b/gtk/gtksnapshot.h index 6125e44ecc..4ff34b2cdb 100644 --- a/gtk/gtksnapshot.h +++ b/gtk/gtksnapshot.h @@ -224,6 +224,11 @@ void gtk_snapshot_append_layout (GtkSnapshot PangoLayout *layout, const GdkRGBA *color); +GDK_AVAILABLE_IN_ALL +void gtk_snapshot_append_lines (GtkSnapshot *snapshot, + PangoLines *lines, + const GdkRGBA *color); + GDK_AVAILABLE_IN_ALL void gtk_snapshot_render_background (GtkSnapshot *snapshot,