Make color variables global instead of it being per-terminal.
This commit is contained in:
parent
7d8848f363
commit
bc1369732f
17 changed files with 83 additions and 79 deletions
|
@ -102,8 +102,6 @@ static struct grub_term_output grub_console_term_output =
|
|||
.setcursor = grub_terminfo_setcursor,
|
||||
.flags = GRUB_TERM_CODE_TYPE_ASCII,
|
||||
.data = &grub_console_terminfo_output,
|
||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
||||
};
|
||||
|
||||
void
|
||||
|
|
|
@ -192,7 +192,8 @@ grub_console_cls (struct grub_term_output *term __attribute__ ((unused)))
|
|||
}
|
||||
|
||||
static void
|
||||
grub_console_setcolorstate (struct grub_term_output *term,
|
||||
grub_console_setcolorstate (struct grub_term_output *term
|
||||
__attribute__ ((unused)),
|
||||
grub_term_color_state state)
|
||||
{
|
||||
grub_efi_simple_text_output_interface_t *o;
|
||||
|
@ -208,10 +209,10 @@ grub_console_setcolorstate (struct grub_term_output *term,
|
|||
& 0x7f);
|
||||
break;
|
||||
case GRUB_TERM_COLOR_NORMAL:
|
||||
efi_call_2 (o->set_attributes, o, term->normal_color & 0x7f);
|
||||
efi_call_2 (o->set_attributes, o, grub_term_normal_color & 0x7f);
|
||||
break;
|
||||
case GRUB_TERM_COLOR_HIGHLIGHT:
|
||||
efi_call_2 (o->set_attributes, o, term->highlight_color & 0x7f);
|
||||
efi_call_2 (o->set_attributes, o, grub_term_highlight_color & 0x7f);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -265,8 +266,6 @@ static struct grub_term_output grub_console_term_output =
|
|||
.cls = grub_console_cls,
|
||||
.setcolorstate = grub_console_setcolorstate,
|
||||
.setcursor = grub_console_setcursor,
|
||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
||||
.flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS
|
||||
};
|
||||
|
||||
|
|
|
@ -82,11 +82,11 @@ grub_ncurses_setcolorstate (struct grub_term_output *term,
|
|||
grub_console_attr = A_NORMAL;
|
||||
break;
|
||||
case GRUB_TERM_COLOR_NORMAL:
|
||||
grub_console_cur_color = term->normal_color;
|
||||
grub_console_cur_color = grub_term_normal_color;
|
||||
grub_console_attr = A_NORMAL;
|
||||
break;
|
||||
case GRUB_TERM_COLOR_HIGHLIGHT:
|
||||
grub_console_cur_color = term->highlight_color;
|
||||
grub_console_cur_color = grub_term_highlight_color;
|
||||
grub_console_attr = A_STANDOUT;
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -1036,7 +1036,7 @@ grub_gfxterm_cls (struct grub_term_output *term)
|
|||
}
|
||||
|
||||
static void
|
||||
grub_virtual_screen_setcolorstate (struct grub_term_output *term,
|
||||
grub_virtual_screen_setcolorstate (struct grub_term_output *term __attribute__ ((unused)),
|
||||
grub_term_color_state state)
|
||||
{
|
||||
switch (state)
|
||||
|
@ -1046,11 +1046,11 @@ grub_virtual_screen_setcolorstate (struct grub_term_output *term,
|
|||
break;
|
||||
|
||||
case GRUB_TERM_COLOR_NORMAL:
|
||||
virtual_screen.term_color = term->normal_color;
|
||||
virtual_screen.term_color = grub_term_normal_color;
|
||||
break;
|
||||
|
||||
case GRUB_TERM_COLOR_HIGHLIGHT:
|
||||
virtual_screen.term_color = term->highlight_color;
|
||||
virtual_screen.term_color = grub_term_highlight_color;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -1246,8 +1246,6 @@ static struct grub_term_output grub_video_term =
|
|||
.refresh = grub_gfxterm_refresh,
|
||||
.fullscreen = grub_gfxterm_fullscreen,
|
||||
.flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS,
|
||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
||||
.next = 0
|
||||
};
|
||||
|
||||
|
|
|
@ -259,7 +259,8 @@ grub_console_getwh (struct grub_term_output *term __attribute__ ((unused)))
|
|||
}
|
||||
|
||||
static void
|
||||
grub_console_setcolorstate (struct grub_term_output *term,
|
||||
grub_console_setcolorstate (struct grub_term_output *term
|
||||
__attribute__ ((unused)),
|
||||
grub_term_color_state state)
|
||||
{
|
||||
switch (state) {
|
||||
|
@ -267,10 +268,10 @@ grub_console_setcolorstate (struct grub_term_output *term,
|
|||
grub_console_cur_color = GRUB_TERM_DEFAULT_STANDARD_COLOR & 0x7f;
|
||||
break;
|
||||
case GRUB_TERM_COLOR_NORMAL:
|
||||
grub_console_cur_color = term->normal_color & 0x7f;
|
||||
grub_console_cur_color = grub_term_normal_color & 0x7f;
|
||||
break;
|
||||
case GRUB_TERM_COLOR_HIGHLIGHT:
|
||||
grub_console_cur_color = term->highlight_color & 0x7f;
|
||||
grub_console_cur_color = grub_term_highlight_color & 0x7f;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -295,8 +296,6 @@ static struct grub_term_output grub_console_term_output =
|
|||
.setcolorstate = grub_console_setcolorstate,
|
||||
.setcursor = grub_console_setcursor,
|
||||
.flags = GRUB_TERM_CODE_TYPE_CP437,
|
||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
||||
};
|
||||
|
||||
void
|
||||
|
|
|
@ -209,18 +209,18 @@ grub_vga_text_getwh (struct grub_term_output *term __attribute__ ((unused)))
|
|||
#ifndef MODE_MDA
|
||||
|
||||
static void
|
||||
grub_vga_text_setcolorstate (struct grub_term_output *term,
|
||||
grub_term_color_state state)
|
||||
grub_vga_text_setcolorstate (struct grub_term_output *term __attribute__ ((unused)),
|
||||
grub_term_color_state state)
|
||||
{
|
||||
switch (state) {
|
||||
case GRUB_TERM_COLOR_STANDARD:
|
||||
cur_color = GRUB_TERM_DEFAULT_STANDARD_COLOR & 0x7f;
|
||||
break;
|
||||
case GRUB_TERM_COLOR_NORMAL:
|
||||
cur_color = term->normal_color & 0x7f;
|
||||
cur_color = grub_term_normal_color & 0x7f;
|
||||
break;
|
||||
case GRUB_TERM_COLOR_HIGHLIGHT:
|
||||
cur_color = term->highlight_color & 0x7f;
|
||||
cur_color = grub_term_highlight_color & 0x7f;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -265,8 +265,6 @@ static struct grub_term_output grub_vga_text_term =
|
|||
.setcolorstate = grub_vga_text_setcolorstate,
|
||||
.setcursor = grub_vga_text_setcursor,
|
||||
.flags = GRUB_TERM_CODE_TYPE_CP437,
|
||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
||||
};
|
||||
|
||||
#ifdef MODE_MDA
|
||||
|
|
|
@ -229,8 +229,6 @@ static struct grub_term_output grub_console_term_output =
|
|||
.setcursor = grub_console_setcursor,
|
||||
.flags = GRUB_TERM_CODE_TYPE_ASCII,
|
||||
.data = &grub_console_terminfo_output,
|
||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
||||
};
|
||||
|
||||
void
|
||||
|
|
|
@ -115,8 +115,6 @@ static struct grub_term_output grub_audio_term_output =
|
|||
.cls = (void *) dummy,
|
||||
.setcolorstate = (void *) dummy,
|
||||
.setcursor = (void *) dummy,
|
||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
||||
.flags = GRUB_TERM_CODE_TYPE_ASCII | GRUB_TERM_DUMB
|
||||
};
|
||||
|
||||
|
|
|
@ -121,8 +121,6 @@ static struct grub_term_output grub_serial_term_output =
|
|||
.setcursor = grub_terminfo_setcursor,
|
||||
.flags = GRUB_TERM_CODE_TYPE_ASCII,
|
||||
.data = &grub_serial_terminfo_output,
|
||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -127,8 +127,6 @@ static struct grub_term_output grub_spkmodem_term_output =
|
|||
.setcursor = grub_terminfo_setcursor,
|
||||
.flags = GRUB_TERM_CODE_TYPE_ASCII,
|
||||
.data = &grub_spkmodem_terminfo_output,
|
||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
||||
};
|
||||
|
||||
GRUB_MOD_INIT (spkmodem)
|
||||
|
|
|
@ -303,12 +303,12 @@ grub_terminfo_setcolorstate (struct grub_term_output *term,
|
|||
{
|
||||
case GRUB_TERM_COLOR_STANDARD:
|
||||
case GRUB_TERM_COLOR_NORMAL:
|
||||
fg = term->normal_color & 0x0f;
|
||||
bg = term->normal_color >> 4;
|
||||
fg = grub_term_normal_color & 0x0f;
|
||||
bg = grub_term_normal_color >> 4;
|
||||
break;
|
||||
case GRUB_TERM_COLOR_HIGHLIGHT:
|
||||
fg = term->highlight_color & 0x0f;
|
||||
bg = term->highlight_color >> 4;
|
||||
fg = grub_term_highlight_color & 0x0f;
|
||||
bg = grub_term_highlight_color >> 4;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue