render: scale the width out the outline of the unfocused block cursor

This commit is contained in:
Daniel Eklöf 2021-12-28 20:51:19 +01:00
parent fa1088da93
commit ef8d5ebca0
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 9 additions and 4 deletions

View file

@ -54,6 +54,9 @@
* `[scrollback].multiplier` is now applied in “alternate scroll” mode,
where scroll events are translated to fake arrow key presses on the
alt screen (https://codeberg.org/dnkl/foot/issues/859).
* The width of the block cursors outline in an unfocused window is
now scaled by the output scaling factor (“desktop
scaling”). Previously, it was always 1px.
### Deprecated

View file

@ -317,13 +317,15 @@ static void
draw_unfocused_block(const struct terminal *term, pixman_image_t *pix,
const pixman_color_t *color, int x, int y, int cell_cols)
{
const int scale = term->scale;
pixman_image_fill_rectangles(
PIXMAN_OP_SRC, pix, color, 4,
(pixman_rectangle16_t []){
{x, y, cell_cols * term->cell_width, 1}, /* top */
{x, y, 1, term->cell_height}, /* left */
{x + cell_cols * term->cell_width - 1, y, 1, term->cell_height}, /* right */
{x, y + term->cell_height - 1, cell_cols * term->cell_width, 1}, /* bottom */
{x, y, cell_cols * term->cell_width, scale}, /* top */
{x, y, scale, term->cell_height}, /* left */
{x + cell_cols * term->cell_width - scale, y, scale, term->cell_height}, /* right */
{x, y + term->cell_height - scale, cell_cols * term->cell_width, scale}, /* bottom */
});
}