summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-09-08 16:19:31 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-09-08 16:25:07 +1000
commit9215ca0f01f7d155191d11fd9caa2574387c6f84 (patch)
treea1defcadae4b1d07388fd9e6bfe2a09051aec777 /include
parentFix gaps in title textures and vertically center them (diff)
downloadsway-9215ca0f01f7d155191d11fd9caa2574387c6f84.tar.gz
sway-9215ca0f01f7d155191d11fd9caa2574387c6f84.tar.zst
sway-9215ca0f01f7d155191d11fd9caa2574387c6f84.zip
Align titles to baseline
This does the following: * Adds a baseline argument to get_text_size (the baseline is the distance from the top of the texture to the baseline). * Stores the baseline in the container when calculating the title height. * Takes the baseline into account when calculating the config's max font height. * When rendering, pads the textures according to the baseline so they line up.
Diffstat (limited to 'include')
-rw-r--r--include/pango.h2
-rw-r--r--include/sway/config.h1
-rw-r--r--include/sway/tree/container.h1
3 files changed, 3 insertions, 1 deletions
diff --git a/include/pango.h b/include/pango.h
index 4492f01e..09a535a5 100644
--- a/include/pango.h
+++ b/include/pango.h
@@ -20,7 +20,7 @@ int escape_markup_text(const char *src, char *dest, int dest_length);
20PangoLayout *get_pango_layout(cairo_t *cairo, const char *font, 20PangoLayout *get_pango_layout(cairo_t *cairo, const char *font,
21 const char *text, double scale, bool markup); 21 const char *text, double scale, bool markup);
22void get_text_size(cairo_t *cairo, const char *font, int *width, int *height, 22void get_text_size(cairo_t *cairo, const char *font, int *width, int *height,
23 double scale, bool markup, const char *fmt, ...); 23 int *baseline, double scale, bool markup, const char *fmt, ...);
24void pango_printf(cairo_t *cairo, const char *font, 24void pango_printf(cairo_t *cairo, const char *font,
25 double scale, bool markup, const char *fmt, ...); 25 double scale, bool markup, const char *fmt, ...);
26 26
diff --git a/include/sway/config.h b/include/sway/config.h
index 2fef0081..b52bb681 100644
--- a/include/sway/config.h
+++ b/include/sway/config.h
@@ -349,6 +349,7 @@ struct sway_config {
349 enum sway_container_layout default_layout; 349 enum sway_container_layout default_layout;
350 char *font; 350 char *font;
351 size_t font_height; 351 size_t font_height;
352 size_t font_baseline;
352 bool pango_markup; 353 bool pango_markup;
353 size_t urgent_timeout; 354 size_t urgent_timeout;
354 enum sway_fowa focus_on_window_activation; 355 enum sway_fowa focus_on_window_activation;
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h
index 6efecf7c..2735daa3 100644
--- a/include/sway/tree/container.h
+++ b/include/sway/tree/container.h
@@ -117,6 +117,7 @@ struct sway_container {
117 struct wlr_texture *title_unfocused; 117 struct wlr_texture *title_unfocused;
118 struct wlr_texture *title_urgent; 118 struct wlr_texture *title_urgent;
119 size_t title_height; 119 size_t title_height;
120 size_t title_baseline;
120 121
121 struct { 122 struct {
122 struct wl_signal destroy; 123 struct wl_signal destroy;