aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/render.c
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 /sway/desktop/render.c
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 'sway/desktop/render.c')
-rw-r--r--sway/desktop/render.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sway/desktop/render.c b/sway/desktop/render.c
index ecac262e..8a6f63aa 100644
--- a/sway/desktop/render.c
+++ b/sway/desktop/render.c
@@ -466,12 +466,12 @@ static void render_titlebar(struct sway_output *output,
466 &texture_box.width, &texture_box.height); 466 &texture_box.width, &texture_box.height);
467 title_ob_width = texture_box.width; 467 title_ob_width = texture_box.width;
468 468
469 // The title texture might be shorter than the config->font_height, in 469 // The title texture might be shorter than the config->font_height,
470 // which case we need to pad it as evenly as possible above and below. 470 // in which case we need to pad it above and below.
471 int ob_padding_total = config->font_height * output_scale - 471 int ob_padding_above = (config->font_baseline - con->title_baseline)
472 texture_box.height; 472 * output_scale;
473 int ob_padding_above = floor(ob_padding_total / 2); 473 int ob_padding_below = (config->font_height - con->title_height)
474 int ob_padding_below = ceil(ob_padding_total / 2); 474 * output_scale - ob_padding_above;
475 475
476 // Render texture 476 // Render texture
477 texture_box.x = (x - output_x + TITLEBAR_H_PADDING) * output_scale; 477 texture_box.x = (x - output_x + TITLEBAR_H_PADDING) * output_scale;