mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
Add vt_set_border function to help to change border color.
Use vt_set_border to reset color after font changed (different font size may change border sizes) Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
9e497e7b04
commit
4d55a4250e
1 changed files with 28 additions and 0 deletions
|
|
@ -1044,6 +1044,30 @@ vt_change_font(struct vt_window *vw, struct vt_font *vf)
|
|||
return (0);
|
||||
}
|
||||
|
||||
static int
|
||||
vt_set_border(struct vt_window *vw, struct vt_font *vf, term_color_t c)
|
||||
{
|
||||
struct vt_device *vd = vw->vw_device;
|
||||
int l, r, t, b, w, h;
|
||||
|
||||
if (vd->vd_driver->vd_drawrect == NULL)
|
||||
return (ENOTSUP);
|
||||
|
||||
w = vd->vd_width - 1;
|
||||
h = vd->vd_height - 1;
|
||||
l = vd->vd_offset.tp_col - 1;
|
||||
r = w - l;
|
||||
t = vd->vd_offset.tp_row - 1;
|
||||
b = h - t;
|
||||
|
||||
vd->vd_driver->vd_drawrect(vd, 0, 0, w, t, 1, c); /* Top bar. */
|
||||
vd->vd_driver->vd_drawrect(vd, 0, t, l, b, 1, c); /* Left bar. */
|
||||
vd->vd_driver->vd_drawrect(vd, r, t, w, b, 1, c); /* Right bar. */
|
||||
vd->vd_driver->vd_drawrect(vd, 0, b, w, h, 1, c); /* Bottom bar. */
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
static int
|
||||
vt_proc_alive(struct vt_window *vw)
|
||||
{
|
||||
|
|
@ -1562,6 +1586,10 @@ skip_thunk:
|
|||
return (error);
|
||||
|
||||
error = vt_change_font(vw, vf);
|
||||
if (error == 0) {
|
||||
/* XXX: replace 0 with current bg color. */
|
||||
vt_set_border(vw, vf, 0);
|
||||
}
|
||||
vtfont_unref(vf);
|
||||
return (error);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue