Correctly scale swaybar

Fixes #910. There were some missing multiplications with window->scale.
This commit is contained in:
D.B 2016-09-29 14:31:35 +02:00
parent 4e660975a9
commit fe89d7fba3

View file

@ -93,7 +93,7 @@ static void render_block(struct window *window, struct config *config, struct st
// render background // render background
if (block->background != 0x0) { if (block->background != 0x0) {
cairo_set_source_u32(window->cairo, block->background); cairo_set_source_u32(window->cairo, block->background);
cairo_rectangle(window->cairo, pos - 0.5, 1, block_width, window->height - 2); cairo_rectangle(window->cairo, pos - 0.5, 1, block_width, (window->height * window->scale) - 2);
cairo_fill(window->cairo); cairo_fill(window->cairo);
} }
@ -110,7 +110,7 @@ static void render_block(struct window *window, struct config *config, struct st
if (block->border != 0 && block->border_bottom > 0) { if (block->border != 0 && block->border_bottom > 0) {
render_sharp_line(window->cairo, block->border, render_sharp_line(window->cairo, block->border,
pos - 0.5, pos - 0.5,
window->height - 1 - block->border_bottom, (window->height * window->scale) - 1 - block->border_bottom,
block_width, block_width,
block->border_bottom); block->border_bottom);
} }
@ -121,7 +121,7 @@ static void render_block(struct window *window, struct config *config, struct st
pos - 0.5, pos - 0.5,
1, 1,
block->border_left, block->border_left,
window->height - 2); (window->height * window->scale) - 2);
pos += block->border_left + margin; pos += block->border_left + margin;
} }
@ -152,7 +152,7 @@ static void render_block(struct window *window, struct config *config, struct st
pos - 0.5, pos - 0.5,
1, 1,
block->border_right, block->border_right,
window->height - 2); (window->height * window->scale) - 2);
pos += block->border_right; pos += block->border_right;
} }
@ -170,7 +170,7 @@ static void render_block(struct window *window, struct config *config, struct st
cairo_move_to(window->cairo, pos + block->separator_block_width/2, cairo_move_to(window->cairo, pos + block->separator_block_width/2,
margin); margin);
cairo_line_to(window->cairo, pos + block->separator_block_width/2, cairo_line_to(window->cairo, pos + block->separator_block_width/2,
window->height - margin); (window->height * window->scale) - margin);
cairo_stroke(window->cairo); cairo_stroke(window->cairo);
} }
} }
@ -298,7 +298,7 @@ void render(struct output *output, struct config *config, struct status_line *li
pango_printf(window->cairo, window->font, window->scale, pango_printf(window->cairo, window->font, window->scale,
config->pango_markup, "%s", line->text_line); config->pango_markup, "%s", line->text_line);
} else if (line->protocol == I3BAR && line->block_line) { } else if (line->protocol == I3BAR && line->block_line) {
double pos = window->width - 0.5; double pos = (window->width * window->scale) - 0.5;
bool edge = true; bool edge = true;
for (i = line->block_line->length - 1; i >= 0; --i) { for (i = line->block_line->length - 1; i >= 0; --i) {
struct status_block *block = line->block_line->items[i]; struct status_block *block = line->block_line->items[i];