diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-09-08 16:19:31 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-09-08 16:25:07 +1000 |
commit | 9215ca0f01f7d155191d11fd9caa2574387c6f84 (patch) | |
tree | a1defcadae4b1d07388fd9e6bfe2a09051aec777 /swaynag/render.c | |
parent | Fix gaps in title textures and vertically center them (diff) | |
download | sway-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 'swaynag/render.c')
-rw-r--r-- | swaynag/render.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/swaynag/render.c b/swaynag/render.c index 766409e4..7db9fe60 100644 --- a/swaynag/render.c +++ b/swaynag/render.c | |||
@@ -12,7 +12,7 @@ static uint32_t render_message(cairo_t *cairo, struct swaynag *swaynag) { | |||
12 | height -= swaynag->type->bar_border_thickness * swaynag->scale; | 12 | height -= swaynag->type->bar_border_thickness * swaynag->scale; |
13 | 13 | ||
14 | int text_width, text_height; | 14 | int text_width, text_height; |
15 | get_text_size(cairo, swaynag->type->font, &text_width, &text_height, | 15 | get_text_size(cairo, swaynag->type->font, &text_width, &text_height, NULL, |
16 | swaynag->scale, true, "%s", swaynag->message); | 16 | swaynag->scale, true, "%s", swaynag->message); |
17 | 17 | ||
18 | int padding = swaynag->type->message_padding * swaynag->scale; | 18 | int padding = swaynag->type->message_padding * swaynag->scale; |
@@ -34,7 +34,7 @@ static uint32_t render_message(cairo_t *cairo, struct swaynag *swaynag) { | |||
34 | static void render_details_scroll_button(cairo_t *cairo, | 34 | static void render_details_scroll_button(cairo_t *cairo, |
35 | struct swaynag *swaynag, struct swaynag_button *button) { | 35 | struct swaynag *swaynag, struct swaynag_button *button) { |
36 | int text_width, text_height; | 36 | int text_width, text_height; |
37 | get_text_size(cairo, swaynag->type->font, &text_width, &text_height, | 37 | get_text_size(cairo, swaynag->type->font, &text_width, &text_height, NULL, |
38 | swaynag->scale, true, "%s", button->text); | 38 | swaynag->scale, true, "%s", button->text); |
39 | 39 | ||
40 | int border = swaynag->type->button_border_thickness * swaynag->scale; | 40 | int border = swaynag->type->button_border_thickness * swaynag->scale; |
@@ -60,10 +60,10 @@ static void render_details_scroll_button(cairo_t *cairo, | |||
60 | static int get_detailed_scroll_button_width(cairo_t *cairo, | 60 | static int get_detailed_scroll_button_width(cairo_t *cairo, |
61 | struct swaynag *swaynag) { | 61 | struct swaynag *swaynag) { |
62 | int up_width, down_width, temp_height; | 62 | int up_width, down_width, temp_height; |
63 | get_text_size(cairo, swaynag->type->font, &up_width, &temp_height, | 63 | get_text_size(cairo, swaynag->type->font, &up_width, &temp_height, NULL, |
64 | swaynag->scale, true, | 64 | swaynag->scale, true, |
65 | "%s", swaynag->details.button_up.text); | 65 | "%s", swaynag->details.button_up.text); |
66 | get_text_size(cairo, swaynag->type->font, &down_width, &temp_height, | 66 | get_text_size(cairo, swaynag->type->font, &down_width, &temp_height, NULL, |
67 | swaynag->scale, true, | 67 | swaynag->scale, true, |
68 | "%s", swaynag->details.button_down.text); | 68 | "%s", swaynag->details.button_down.text); |
69 | 69 | ||
@@ -179,7 +179,7 @@ static uint32_t render_button(cairo_t *cairo, struct swaynag *swaynag, | |||
179 | struct swaynag_button *button = swaynag->buttons->items[button_index]; | 179 | struct swaynag_button *button = swaynag->buttons->items[button_index]; |
180 | 180 | ||
181 | int text_width, text_height; | 181 | int text_width, text_height; |
182 | get_text_size(cairo, swaynag->type->font, &text_width, &text_height, | 182 | get_text_size(cairo, swaynag->type->font, &text_width, &text_height, NULL, |
183 | swaynag->scale, true, "%s", button->text); | 183 | swaynag->scale, true, "%s", button->text); |
184 | 184 | ||
185 | int border = swaynag->type->button_border_thickness * swaynag->scale; | 185 | int border = swaynag->type->button_border_thickness * swaynag->scale; |