summaryrefslogtreecommitdiffstats
path: root/wayland
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <ddevault@linode.com>2016-09-05 11:52:52 -0400
committerLibravatar Drew DeVault <ddevault@linode.com>2016-09-05 11:52:52 -0400
commitaf441541197a102d67048b8af920d63d1af37a2f (patch)
treeb9331b05cad8aa11539540c5c8942dac90e43da5 /wayland
parentAdd client support for HiDPI (diff)
downloadsway-af441541197a102d67048b8af920d63d1af37a2f.tar.gz
sway-af441541197a102d67048b8af920d63d1af37a2f.tar.zst
sway-af441541197a102d67048b8af920d63d1af37a2f.zip
Fix constant scale factor in font code
Diffstat (limited to 'wayland')
-rw-r--r--wayland/pango.c14
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
10PangoLayout *get_pango_layout(cairo_t *cairo, const char *font, const char *text, bool markup) { 10PangoLayout *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
28void get_text_size(cairo_t *cairo, const char *font, int *width, int *height, 30void 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
49void pango_printf(cairo_t *cairo, const char *font, bool markup, const char *fmt, ...) { 51void 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);