diff options
Diffstat (limited to 'wayland/pango.c')
-rw-r--r-- | wayland/pango.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/wayland/pango.c b/wayland/pango.c index d601021f..1dbc81f4 100644 --- a/wayland/pango.c +++ b/wayland/pango.c | |||
@@ -7,10 +7,12 @@ | |||
7 | #include <stdbool.h> | 7 | #include <stdbool.h> |
8 | #include "log.h" | 8 | #include "log.h" |
9 | 9 | ||
10 | PangoLayout *get_pango_layout(cairo_t *cairo, const char *font, const char *text, bool markup) { | 10 | PangoLayout *get_pango_layout(cairo_t *cairo, const char *font, const char *text, |
11 | int32_t scale, bool markup) { | ||
11 | PangoLayout *layout = pango_cairo_create_layout(cairo); | 12 | PangoLayout *layout = pango_cairo_create_layout(cairo); |
12 | PangoAttrList *attrs = pango_attr_list_new(); | 13 | PangoAttrList *attrs = pango_attr_list_new(); |
13 | pango_attr_list_insert(attrs, pango_attr_scale_new(2)); | 14 | sway_log(L_DEBUG, "Font scale: %d", scale); |
15 | pango_attr_list_insert(attrs, pango_attr_scale_new(scale)); | ||
14 | if (markup) { | 16 | if (markup) { |
15 | pango_layout_set_markup(layout, text, -1); | 17 | pango_layout_set_markup(layout, text, -1); |
16 | } else { | 18 | } else { |
@@ -26,7 +28,7 @@ PangoLayout *get_pango_layout(cairo_t *cairo, const char *font, const char *text | |||
26 | } | 28 | } |
27 | 29 | ||
28 | void get_text_size(cairo_t *cairo, const char *font, int *width, int *height, | 30 | void get_text_size(cairo_t *cairo, const char *font, int *width, int *height, |
29 | bool markup, const char *fmt, ...) { | 31 | int32_t scale, bool markup, const char *fmt, ...) { |
30 | char *buf = malloc(2048); | 32 | char *buf = malloc(2048); |
31 | 33 | ||
32 | va_list args; | 34 | va_list args; |
@@ -36,7 +38,7 @@ void get_text_size(cairo_t *cairo, const char *font, int *width, int *height, | |||
36 | } | 38 | } |
37 | va_end(args); | 39 | va_end(args); |
38 | 40 | ||
39 | PangoLayout *layout = get_pango_layout(cairo, font, buf, markup); | 41 | PangoLayout *layout = get_pango_layout(cairo, font, buf, scale, markup); |
40 | pango_cairo_update_layout(cairo, layout); | 42 | pango_cairo_update_layout(cairo, layout); |
41 | 43 | ||
42 | pango_layout_get_pixel_size(layout, width, height); | 44 | pango_layout_get_pixel_size(layout, width, height); |
@@ -46,7 +48,7 @@ void get_text_size(cairo_t *cairo, const char *font, int *width, int *height, | |||
46 | free(buf); | 48 | free(buf); |
47 | } | 49 | } |
48 | 50 | ||
49 | void pango_printf(cairo_t *cairo, const char *font, bool markup, const char *fmt, ...) { | 51 | void pango_printf(cairo_t *cairo, const char *font, int32_t scale, bool markup, const char *fmt, ...) { |
50 | char *buf = malloc(2048); | 52 | char *buf = malloc(2048); |
51 | 53 | ||
52 | va_list args; | 54 | va_list args; |
@@ -56,7 +58,7 @@ void pango_printf(cairo_t *cairo, const char *font, bool markup, const char *fmt | |||
56 | } | 58 | } |
57 | va_end(args); | 59 | va_end(args); |
58 | 60 | ||
59 | PangoLayout *layout = get_pango_layout(cairo, font, buf, markup); | 61 | PangoLayout *layout = get_pango_layout(cairo, font, buf, scale, markup); |
60 | pango_cairo_update_layout(cairo, layout); | 62 | pango_cairo_update_layout(cairo, layout); |
61 | 63 | ||
62 | pango_cairo_show_layout(cairo, layout); | 64 | pango_cairo_show_layout(cairo, layout); |