diff options
author | Harry Jeffery <harry@exec64.co.uk> | 2019-09-02 15:03:33 +0100 |
---|---|---|
committer | Harry Jeffery <harry@exec64.co.uk> | 2019-09-02 15:54:50 +0100 |
commit | 42a15b157827dbd9c981416c8919ce5f5c907331 (patch) | |
tree | 31786a1a4bf6e67beced6533b9eb276f8a8ce3d8 /src/canvas.c | |
parent | b8395af887ec1c3a3adfd8d56baa12caed740172 (diff) | |
download | imv-42a15b157827dbd9c981416c8919ce5f5c907331.tar.gz |
console: Use icu to provide proper UTF-8 editing
Diffstat (limited to 'src/canvas.c')
-rw-r--r-- | src/canvas.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/canvas.c b/src/canvas.c index 4a00dbc..eaec538 100644 --- a/src/canvas.c +++ b/src/canvas.c @@ -127,7 +127,7 @@ void imv_canvas_font(struct imv_canvas *canvas, const char *name, int size) pango_font_description_set_absolute_size(canvas->font, size * PANGO_SCALE); } -void imv_canvas_printf(struct imv_canvas *canvas, int x, int y, const char *fmt, ...) +int imv_canvas_printf(struct imv_canvas *canvas, int x, int y, const char *fmt, ...) { char line[1024]; va_list args; @@ -140,9 +140,14 @@ void imv_canvas_printf(struct imv_canvas *canvas, int x, int y, const char *fmt, cairo_move_to(canvas->cairo, x, y); pango_cairo_show_layout(canvas->cairo, layout); + + PangoRectangle extents; + pango_layout_get_pixel_extents(layout, NULL, &extents); + g_object_unref(layout); va_end(args); + return extents.width; } void imv_canvas_draw(struct imv_canvas *canvas) |