mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-04-27 06:46:44 -04:00
Refresh terminal after updating alpha
This commit is contained in:
parent
4e2347da12
commit
27f513920f
4 changed files with 16 additions and 12 deletions
|
|
@ -15,8 +15,6 @@
|
|||
#include "util.h"
|
||||
#include "xmalloc.h"
|
||||
|
||||
#define clamp(x, lower, upper) (min(upper, max(x, lower)))
|
||||
|
||||
enum thickness {
|
||||
LIGHT,
|
||||
HEAVY,
|
||||
|
|
@ -1281,17 +1279,17 @@ draw_box_drawings_light_arc(struct buf *buf, char32_t wc)
|
|||
* The general idea here is to connect the two incoming lines using a
|
||||
* circle, which is extended to the box-edges with vertical/horizontal
|
||||
* lines.
|
||||
*
|
||||
*
|
||||
* The radius of the quartercircle should be as big as possible, with some
|
||||
* restrictions: The radius should be the same for all of ╭ ╮ ╯ ╰ at a
|
||||
* given box-size (which won't be the case if we choose the biggest
|
||||
* possible radius for a given box, consider the following:)
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* ▕ ███ ▏
|
||||
* ▕a │ d▔▔
|
||||
* ▕ │ x
|
||||
* ▕ │
|
||||
* ▕a │ d▔▔
|
||||
* ▕ │ x
|
||||
* ▕ │
|
||||
* ▕ │ ██
|
||||
* ▕ ╰────██
|
||||
* ▕ ██
|
||||
|
|
@ -1302,7 +1300,7 @@ draw_box_drawings_light_arc(struct buf *buf, char32_t wc)
|
|||
* for ╰ it would be possible to center the circle on the upper right
|
||||
* corner of d, but we have set it on x instead because ╯ can only use a
|
||||
* 2px inner radius:
|
||||
*
|
||||
*
|
||||
* ▕ ███ ▏
|
||||
* ▔▔a │ d▏
|
||||
* x │ ▏
|
||||
|
|
|
|||
2
config.c
2
config.c
|
|
@ -1190,7 +1190,7 @@ parse_section_colors(struct context *ctx)
|
|||
return false;
|
||||
}
|
||||
|
||||
conf->colors.alpha = alpha * 65535.;
|
||||
conf->colors.alpha = alpha * UINT16_MAX;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2005,17 +2005,22 @@ term_font_size_reset(struct terminal *term)
|
|||
return load_fonts_from_conf(term);
|
||||
}
|
||||
|
||||
#define ALPHA_STEP (0.05 * UINT16_MAX)
|
||||
bool
|
||||
term_alpha_increase(struct terminal *term)
|
||||
{
|
||||
term->colors.alpha += 0.05;
|
||||
term->colors.alpha = clamp(term->colors.alpha + ALPHA_STEP, 0, UINT16_MAX);
|
||||
term->render.last_buf = NULL;
|
||||
render_refresh(term);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
term_alpha_decrease(struct terminal *term)
|
||||
{
|
||||
term->colors.alpha -= 0.05;
|
||||
term->colors.alpha = clamp(term->colors.alpha - ALPHA_STEP, 0, UINT16_MAX);
|
||||
term->render.last_buf = NULL;
|
||||
render_refresh(term);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
1
util.h
1
util.h
|
|
@ -6,6 +6,7 @@
|
|||
#define ALEN(v) (sizeof(v) / sizeof((v)[0]))
|
||||
#define min(x, y) ((x) < (y) ? (x) : (y))
|
||||
#define max(x, y) ((x) > (y) ? (x) : (y))
|
||||
#define clamp(x, lower, upper) (min(upper, max(x, lower)))
|
||||
|
||||
static inline const char *
|
||||
thrd_err_as_string(int thrd_err)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue