simplify setcolor/getcolor

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2010-05-08 01:06:22 +02:00
parent d8e9099811
commit 3c151d94af
13 changed files with 54 additions and 185 deletions

View file

@ -28,11 +28,5 @@ extern grub_uint8_t grub_console_cur_color;
grub_uint16_t grub_console_getwh (struct grub_term_output *term); grub_uint16_t grub_console_getwh (struct grub_term_output *term);
void grub_console_setcolorstate (struct grub_term_output *term, void grub_console_setcolorstate (struct grub_term_output *term,
grub_term_color_state state); grub_term_color_state state);
void grub_console_setcolor (struct grub_term_output *term,
grub_uint8_t normal_color,
grub_uint8_t highlight_color);
void grub_console_getcolor (struct grub_term_output *term,
grub_uint8_t *normal_color,
grub_uint8_t *highlight_color);
#endif /* ! GRUB_VGA_COMMON_CPU_HEADER */ #endif /* ! GRUB_VGA_COMMON_CPU_HEADER */

View file

@ -195,16 +195,6 @@ struct grub_term_output
void (*setcolorstate) (struct grub_term_output *term, void (*setcolorstate) (struct grub_term_output *term,
grub_term_color_state state); grub_term_color_state state);
/* Set the normal color and the highlight color. The format of each
color is VGA's. */
void (*setcolor) (struct grub_term_output *term,
grub_uint8_t normal_color, grub_uint8_t highlight_color);
/* Get the normal color and the highlight color. The format of each
color is VGA's. */
void (*getcolor) (struct grub_term_output *term,
grub_uint8_t *normal_color, grub_uint8_t *highlight_color);
/* Turn on/off the cursor. */ /* Turn on/off the cursor. */
void (*setcursor) (struct grub_term_output *term, int on); void (*setcursor) (struct grub_term_output *term, int on);
@ -214,10 +204,18 @@ struct grub_term_output
/* The feature flags defined above. */ /* The feature flags defined above. */
grub_uint32_t flags; grub_uint32_t flags;
/* Current color state. */
grub_uint8_t normal_color;
grub_uint8_t highlight_color;
void *data; void *data;
}; };
typedef struct grub_term_output *grub_term_output_t; typedef struct grub_term_output *grub_term_output_t;
#define GRUB_TERM_DEFAULT_NORMAL_COLOR 0x07
#define GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR 0x70
#define GRUB_TERM_DEFAULT_STANDARD_COLOR 0x07
extern struct grub_term_output *EXPORT_VAR(grub_term_outputs_disabled); extern struct grub_term_output *EXPORT_VAR(grub_term_outputs_disabled);
extern struct grub_term_input *EXPORT_VAR(grub_term_inputs_disabled); extern struct grub_term_input *EXPORT_VAR(grub_term_inputs_disabled);
extern struct grub_term_output *EXPORT_VAR(grub_term_outputs); extern struct grub_term_output *EXPORT_VAR(grub_term_outputs);
@ -361,14 +359,14 @@ grub_term_setcolorstate (struct grub_term_output *term,
term->setcolorstate (term, state); term->setcolorstate (term, state);
} }
/* Set the normal color and the highlight color. The format of each /* Set the normal color and the highlight color. The format of each
color is VGA's. */ color is VGA's. */
static inline void static inline void
grub_term_setcolor (struct grub_term_output *term, grub_term_setcolor (struct grub_term_output *term,
grub_uint8_t normal_color, grub_uint8_t highlight_color) grub_uint8_t normal_color, grub_uint8_t highlight_color)
{ {
if (term->setcolor) term->normal_color = normal_color;
term->setcolor (term, normal_color, highlight_color); term->highlight_color = highlight_color;
} }
/* Turn on/off the cursor. */ /* Turn on/off the cursor. */
@ -429,13 +427,8 @@ static inline void
grub_term_getcolor (struct grub_term_output *term, grub_term_getcolor (struct grub_term_output *term,
grub_uint8_t *normal_color, grub_uint8_t *highlight_color) grub_uint8_t *normal_color, grub_uint8_t *highlight_color)
{ {
if (term->getcolor) *normal_color = term->normal_color;
term->getcolor (term, normal_color, highlight_color); *highlight_color = term->highlight_color;
else
{
*normal_color = 0x07;
*highlight_color = 0x07;
}
} }
struct grub_term_autoload struct grub_term_autoload

View file

@ -49,9 +49,6 @@ struct grub_terminfo_output_state
char *cursor_off; char *cursor_off;
char *setcolor; char *setcolor;
grub_uint8_t normal_color;
grub_uint8_t highlight_color;
unsigned int xpos, ypos; unsigned int xpos, ypos;
void (*put) (const int c); void (*put) (const int c);
@ -72,12 +69,6 @@ grub_err_t EXPORT_FUNC (grub_terminfo_input_init) (struct grub_term_input *term)
int EXPORT_FUNC (grub_terminfo_getkey) (struct grub_term_input *term); int EXPORT_FUNC (grub_terminfo_getkey) (struct grub_term_input *term);
void EXPORT_FUNC (grub_terminfo_putchar) (struct grub_term_output *term, void EXPORT_FUNC (grub_terminfo_putchar) (struct grub_term_output *term,
const struct grub_unicode_glyph *c); const struct grub_unicode_glyph *c);
void EXPORT_FUNC (grub_terminfo_getcolor) (struct grub_term_output *term,
grub_uint8_t *normal_color,
grub_uint8_t *highlight_color);
void EXPORT_FUNC (grub_terminfo_setcolor) (struct grub_term_output *term,
grub_uint8_t normal_color,
grub_uint8_t highlight_color);
grub_err_t EXPORT_FUNC (grub_terminfo_output_register) (struct grub_term_output *term, grub_err_t EXPORT_FUNC (grub_terminfo_output_register) (struct grub_term_output *term,
const char *type); const char *type);

View file

@ -24,15 +24,9 @@
#include <grub/efi/api.h> #include <grub/efi/api.h>
#include <grub/efi/console.h> #include <grub/efi/console.h>
static grub_uint8_t static const grub_uint8_t
grub_console_standard_color = GRUB_EFI_TEXT_ATTR (GRUB_EFI_YELLOW, grub_console_standard_color = GRUB_EFI_TEXT_ATTR (GRUB_EFI_YELLOW,
GRUB_EFI_BACKGROUND_BLACK); GRUB_EFI_BACKGROUND_BLACK);
static grub_uint8_t
grub_console_normal_color = GRUB_EFI_TEXT_ATTR (GRUB_EFI_LIGHTGRAY,
GRUB_EFI_BACKGROUND_BLACK);
static grub_uint8_t
grub_console_highlight_color = GRUB_EFI_TEXT_ATTR (GRUB_EFI_BLACK,
GRUB_EFI_BACKGROUND_LIGHTGRAY);
static int read_key = -1; static int read_key = -1;
@ -292,7 +286,7 @@ grub_console_cls (struct grub_term_output *term __attribute__ ((unused)))
} }
static void static void
grub_console_setcolorstate (struct grub_term_output *term __attribute__ ((unused)), grub_console_setcolorstate (struct grub_term_output *term,
grub_term_color_state state) grub_term_color_state state)
{ {
grub_efi_simple_text_output_interface_t *o; grub_efi_simple_text_output_interface_t *o;
@ -304,32 +298,16 @@ grub_console_setcolorstate (struct grub_term_output *term __attribute__ ((unused
efi_call_2 (o->set_attributes, o, grub_console_standard_color); efi_call_2 (o->set_attributes, o, grub_console_standard_color);
break; break;
case GRUB_TERM_COLOR_NORMAL: case GRUB_TERM_COLOR_NORMAL:
efi_call_2 (o->set_attributes, o, grub_console_normal_color); efi_call_2 (o->set_attributes, o, term->normal_color);
break; break;
case GRUB_TERM_COLOR_HIGHLIGHT: case GRUB_TERM_COLOR_HIGHLIGHT:
efi_call_2 (o->set_attributes, o, grub_console_highlight_color); efi_call_2 (o->set_attributes, o, term->highlight_color);
break; break;
default: default:
break; break;
} }
} }
static void
grub_console_setcolor (struct grub_term_output *term __attribute__ ((unused)),
grub_uint8_t normal_color, grub_uint8_t highlight_color)
{
grub_console_normal_color = normal_color;
grub_console_highlight_color = highlight_color;
}
static void
grub_console_getcolor (struct grub_term_output *term __attribute__ ((unused)),
grub_uint8_t *normal_color, grub_uint8_t *highlight_color)
{
*normal_color = grub_console_normal_color;
*highlight_color = grub_console_highlight_color;
}
static void static void
grub_console_setcursor (struct grub_term_output *term __attribute__ ((unused)), grub_console_setcursor (struct grub_term_output *term __attribute__ ((unused)),
int on) int on)
@ -356,9 +334,11 @@ static struct grub_term_output grub_console_term_output =
.gotoxy = grub_console_gotoxy, .gotoxy = grub_console_gotoxy,
.cls = grub_console_cls, .cls = grub_console_cls,
.setcolorstate = grub_console_setcolorstate, .setcolorstate = grub_console_setcolorstate,
.setcolor = grub_console_setcolor,
.getcolor = grub_console_getcolor,
.setcursor = grub_console_setcursor, .setcursor = grub_console_setcursor,
.normal_color = GRUB_EFI_TEXT_ATTR (GRUB_EFI_LIGHTGRAY,
GRUB_EFI_BACKGROUND_BLACK),
.highlight_color = GRUB_EFI_TEXT_ATTR (GRUB_EFI_BLACK,
GRUB_EFI_BACKGROUND_LIGHTGRAY),
.flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS .flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS
}; };

View file

@ -35,8 +35,6 @@
#define DEFAULT_BORDER_WIDTH 10 #define DEFAULT_BORDER_WIDTH 10
#define DEFAULT_STANDARD_COLOR 0x07 #define DEFAULT_STANDARD_COLOR 0x07
#define DEFAULT_NORMAL_COLOR 0x07
#define DEFAULT_HIGHLIGHT_COLOR 0x70
struct grub_dirty_region struct grub_dirty_region
{ {
@ -92,8 +90,6 @@ struct grub_virtual_screen
/* Terminal color settings. */ /* Terminal color settings. */
grub_uint8_t standard_color_setting; grub_uint8_t standard_color_setting;
grub_uint8_t normal_color_setting;
grub_uint8_t highlight_color_setting;
grub_uint8_t term_color; grub_uint8_t term_color;
/* Color settings. */ /* Color settings. */
@ -260,10 +256,8 @@ grub_virtual_screen_setup (unsigned int x, unsigned int y,
grub_video_set_active_render_target (text_layer); grub_video_set_active_render_target (text_layer);
virtual_screen.standard_color_setting = DEFAULT_STANDARD_COLOR; virtual_screen.standard_color_setting = DEFAULT_STANDARD_COLOR;
virtual_screen.normal_color_setting = DEFAULT_NORMAL_COLOR;
virtual_screen.highlight_color_setting = DEFAULT_HIGHLIGHT_COLOR;
virtual_screen.term_color = virtual_screen.normal_color_setting; virtual_screen.term_color = GRUB_TERM_DEFAULT_NORMAL_COLOR;
set_term_color (virtual_screen.term_color); set_term_color (virtual_screen.term_color);
@ -1041,7 +1035,7 @@ grub_gfxterm_cls (struct grub_term_output *term)
} }
static void static void
grub_virtual_screen_setcolorstate (struct grub_term_output *term __attribute__ ((unused)), grub_virtual_screen_setcolorstate (struct grub_term_output *term,
grub_term_color_state state) grub_term_color_state state)
{ {
switch (state) switch (state)
@ -1051,11 +1045,11 @@ grub_virtual_screen_setcolorstate (struct grub_term_output *term __attribute__ (
break; break;
case GRUB_TERM_COLOR_NORMAL: case GRUB_TERM_COLOR_NORMAL:
virtual_screen.term_color = virtual_screen.normal_color_setting; virtual_screen.term_color = term->normal_color;
break; break;
case GRUB_TERM_COLOR_HIGHLIGHT: case GRUB_TERM_COLOR_HIGHLIGHT:
virtual_screen.term_color = virtual_screen.highlight_color_setting; virtual_screen.term_color = term->highlight_color;
break; break;
default: default:
@ -1066,24 +1060,6 @@ grub_virtual_screen_setcolorstate (struct grub_term_output *term __attribute__ (
set_term_color (virtual_screen.term_color); set_term_color (virtual_screen.term_color);
} }
static void
grub_virtual_screen_setcolor (struct grub_term_output *term __attribute__ ((unused)),
grub_uint8_t normal_color,
grub_uint8_t highlight_color)
{
virtual_screen.normal_color_setting = normal_color;
virtual_screen.highlight_color_setting = highlight_color;
}
static void
grub_virtual_screen_getcolor (struct grub_term_output *term __attribute__ ((unused)),
grub_uint8_t *normal_color,
grub_uint8_t *highlight_color)
{
*normal_color = virtual_screen.normal_color_setting;
*highlight_color = virtual_screen.highlight_color_setting;
}
static void static void
grub_gfxterm_setcursor (struct grub_term_output *term __attribute__ ((unused)), grub_gfxterm_setcursor (struct grub_term_output *term __attribute__ ((unused)),
int on) int on)
@ -1211,11 +1187,11 @@ static struct grub_term_output grub_video_term =
.gotoxy = grub_gfxterm_gotoxy, .gotoxy = grub_gfxterm_gotoxy,
.cls = grub_gfxterm_cls, .cls = grub_gfxterm_cls,
.setcolorstate = grub_virtual_screen_setcolorstate, .setcolorstate = grub_virtual_screen_setcolorstate,
.setcolor = grub_virtual_screen_setcolor,
.getcolor = grub_virtual_screen_getcolor,
.setcursor = grub_gfxterm_setcursor, .setcursor = grub_gfxterm_setcursor,
.refresh = grub_gfxterm_refresh, .refresh = grub_gfxterm_refresh,
.flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS, .flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS,
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
.next = 0 .next = 0
}; };

View file

@ -62,10 +62,10 @@ static struct grub_term_output grub_console_term_output =
.gotoxy = grub_console_gotoxy, .gotoxy = grub_console_gotoxy,
.cls = grub_console_cls, .cls = grub_console_cls,
.setcolorstate = grub_console_setcolorstate, .setcolorstate = grub_console_setcolorstate,
.setcolor = grub_console_setcolor,
.getcolor = grub_console_getcolor,
.setcursor = grub_console_setcursor, .setcursor = grub_console_setcursor,
.flags = GRUB_TERM_CODE_TYPE_VGA .flags = GRUB_TERM_CODE_TYPE_VGA,
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
}; };
void void

View file

@ -511,6 +511,8 @@ static struct grub_term_output grub_vga_term =
.setcolorstate = grub_vga_setcolorstate, .setcolorstate = grub_vga_setcolorstate,
.setcursor = grub_vga_setcursor, .setcursor = grub_vga_setcursor,
.flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS, .flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS,
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
}; };
GRUB_MOD_INIT(vga) GRUB_MOD_INIT(vga)

View file

@ -163,10 +163,10 @@ static struct grub_term_output grub_vga_text_term =
.gotoxy = grub_vga_text_gotoxy, .gotoxy = grub_vga_text_gotoxy,
.cls = grub_vga_text_cls, .cls = grub_vga_text_cls,
.setcolorstate = grub_console_setcolorstate, .setcolorstate = grub_console_setcolorstate,
.setcolor = grub_console_setcolor,
.getcolor = grub_console_getcolor,
.setcursor = grub_vga_text_setcursor, .setcursor = grub_vga_text_setcursor,
.flags = GRUB_TERM_CODE_TYPE_VGA .flags = GRUB_TERM_CODE_TYPE_VGA,
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
}; };
GRUB_MOD_INIT(vga_text) GRUB_MOD_INIT(vga_text)

View file

@ -21,9 +21,6 @@
#include <grub/types.h> #include <grub/types.h>
grub_uint8_t grub_console_cur_color = 0x7; grub_uint8_t grub_console_cur_color = 0x7;
static grub_uint8_t grub_console_standard_color = 0x7;
static grub_uint8_t grub_console_normal_color = 0x7;
static grub_uint8_t grub_console_highlight_color = 0x70;
grub_uint16_t grub_uint16_t
grub_console_getwh (struct grub_term_output *term __attribute__ ((unused))) grub_console_getwh (struct grub_term_output *term __attribute__ ((unused)))
@ -32,36 +29,20 @@ grub_console_getwh (struct grub_term_output *term __attribute__ ((unused)))
} }
void void
grub_console_setcolorstate (struct grub_term_output *term __attribute__ ((unused)), grub_console_setcolorstate (struct grub_term_output *term,
grub_term_color_state state) grub_term_color_state state)
{ {
switch (state) { switch (state) {
case GRUB_TERM_COLOR_STANDARD: case GRUB_TERM_COLOR_STANDARD:
grub_console_cur_color = grub_console_standard_color; grub_console_cur_color = GRUB_TERM_DEFAULT_STANDARD_COLOR;
break; break;
case GRUB_TERM_COLOR_NORMAL: case GRUB_TERM_COLOR_NORMAL:
grub_console_cur_color = grub_console_normal_color; grub_console_cur_color = term->normal_color;
break; break;
case GRUB_TERM_COLOR_HIGHLIGHT: case GRUB_TERM_COLOR_HIGHLIGHT:
grub_console_cur_color = grub_console_highlight_color; grub_console_cur_color = term->highlight_color;
break; break;
default: default:
break; break;
} }
} }
void
grub_console_setcolor (struct grub_term_output *term __attribute__ ((unused)),
grub_uint8_t normal_color, grub_uint8_t highlight_color)
{
grub_console_normal_color = normal_color;
grub_console_highlight_color = highlight_color;
}
void
grub_console_getcolor (struct grub_term_output *term __attribute__ ((unused)),
grub_uint8_t *normal_color, grub_uint8_t *highlight_color)
{
*normal_color = grub_console_normal_color;
*highlight_color = grub_console_highlight_color;
}

View file

@ -204,11 +204,11 @@ static struct grub_term_output grub_ofconsole_term_output =
.gotoxy = grub_terminfo_gotoxy, .gotoxy = grub_terminfo_gotoxy,
.cls = grub_terminfo_cls, .cls = grub_terminfo_cls,
.setcolorstate = grub_terminfo_setcolorstate, .setcolorstate = grub_terminfo_setcolorstate,
.setcolor = grub_terminfo_setcolor,
.getcolor = grub_terminfo_getcolor,
.setcursor = grub_ofconsole_setcursor, .setcursor = grub_ofconsole_setcursor,
.flags = GRUB_TERM_CODE_TYPE_ASCII, .flags = GRUB_TERM_CODE_TYPE_ASCII,
.data = &grub_ofconsole_terminfo_output .data = &grub_ofconsole_terminfo_output,
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
}; };
void grub_terminfo_fini (void); void grub_terminfo_fini (void);

View file

@ -219,11 +219,11 @@ static struct grub_term_output grub_serial_term_output =
.gotoxy = grub_terminfo_gotoxy, .gotoxy = grub_terminfo_gotoxy,
.cls = grub_terminfo_cls, .cls = grub_terminfo_cls,
.setcolorstate = grub_terminfo_setcolorstate, .setcolorstate = grub_terminfo_setcolorstate,
.setcolor = grub_terminfo_setcolor,
.getcolor = grub_terminfo_getcolor,
.setcursor = grub_terminfo_setcursor, .setcursor = grub_terminfo_setcursor,
.flags = GRUB_TERM_CODE_TYPE_ASCII, .flags = GRUB_TERM_CODE_TYPE_ASCII,
.data = &grub_serial_terminfo_output .data = &grub_serial_terminfo_output,
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
}; };

View file

@ -169,9 +169,6 @@ grub_terminfo_output_register (struct grub_term_output *term,
data->next = terminfo_outputs; data->next = terminfo_outputs;
terminfo_outputs = term; terminfo_outputs = term;
data->normal_color = 0x07;
data->highlight_color = 0x70;
return GRUB_ERR_NONE; return GRUB_ERR_NONE;
} }
@ -247,30 +244,6 @@ grub_terminfo_cls (struct grub_term_output *term)
data->xpos = data->ypos = 0; data->xpos = data->ypos = 0;
} }
void
grub_terminfo_setcolor (struct grub_term_output *term,
grub_uint8_t normal_color,
grub_uint8_t highlight_color)
{
struct grub_terminfo_output_state *data
= (struct grub_terminfo_output_state *) term->data;
data->normal_color = normal_color;
data->highlight_color = highlight_color;
}
void
grub_terminfo_getcolor (struct grub_term_output *term,
grub_uint8_t *normal_color,
grub_uint8_t *highlight_color)
{
struct grub_terminfo_output_state *data
= (struct grub_terminfo_output_state *) term->data;
*normal_color = data->normal_color;
*highlight_color = data->highlight_color;
}
void void
grub_terminfo_setcolorstate (struct grub_term_output *term, grub_terminfo_setcolorstate (struct grub_term_output *term,
const grub_term_color_state state) const grub_term_color_state state)
@ -298,12 +271,12 @@ grub_terminfo_setcolorstate (struct grub_term_output *term,
{ {
case GRUB_TERM_COLOR_STANDARD: case GRUB_TERM_COLOR_STANDARD:
case GRUB_TERM_COLOR_NORMAL: case GRUB_TERM_COLOR_NORMAL:
fg = data->normal_color & 0x0f; fg = term->normal_color & 0x0f;
bg = data->normal_color >> 4; bg = term->normal_color >> 4;
break; break;
case GRUB_TERM_COLOR_HIGHLIGHT: case GRUB_TERM_COLOR_HIGHLIGHT:
fg = data->highlight_color & 0x0f; fg = term->highlight_color & 0x0f;
bg = data->highlight_color >> 4; bg = term->highlight_color >> 4;
break; break;
default: default:
return; return;

View file

@ -43,9 +43,7 @@ static int grub_console_attr = A_NORMAL;
grub_uint8_t grub_console_cur_color = 7; grub_uint8_t grub_console_cur_color = 7;
static grub_uint8_t grub_console_standard_color = 0x7; static const grub_uint8_t grub_console_standard_color = 0x7;
static grub_uint8_t grub_console_normal_color = 0x7;
static grub_uint8_t grub_console_highlight_color = 0x70;
#define NUM_COLORS 8 #define NUM_COLORS 8
@ -71,7 +69,7 @@ grub_ncurses_putchar (struct grub_term_output *term __attribute__ ((unused)),
} }
static void static void
grub_ncurses_setcolorstate (struct grub_term_output *term __attribute__ ((unused)), grub_ncurses_setcolorstate (struct grub_term_output *term,
grub_term_color_state state) grub_term_color_state state)
{ {
switch (state) switch (state)
@ -81,11 +79,11 @@ grub_ncurses_setcolorstate (struct grub_term_output *term __attribute__ ((unused
grub_console_attr = A_NORMAL; grub_console_attr = A_NORMAL;
break; break;
case GRUB_TERM_COLOR_NORMAL: case GRUB_TERM_COLOR_NORMAL:
grub_console_cur_color = grub_console_normal_color; grub_console_cur_color = term->normal_color;
grub_console_attr = A_NORMAL; grub_console_attr = A_NORMAL;
break; break;
case GRUB_TERM_COLOR_HIGHLIGHT: case GRUB_TERM_COLOR_HIGHLIGHT:
grub_console_cur_color = grub_console_highlight_color; grub_console_cur_color = term->highlight_color;
grub_console_attr = A_STANDOUT; grub_console_attr = A_STANDOUT;
break; break;
default: default:
@ -104,23 +102,6 @@ grub_ncurses_setcolorstate (struct grub_term_output *term __attribute__ ((unused
} }
} }
/* XXX: This function is never called. */
static void
grub_ncurses_setcolor (struct grub_term_output *term __attribute__ ((unused)),
grub_uint8_t normal_color, grub_uint8_t highlight_color)
{
grub_console_normal_color = normal_color;
grub_console_highlight_color = highlight_color;
}
static void
grub_ncurses_getcolor (struct grub_term_output *term __attribute__ ((unused)),
grub_uint8_t *normal_color, grub_uint8_t *highlight_color)
{
*normal_color = grub_console_normal_color;
*highlight_color = grub_console_highlight_color;
}
static int saved_char = ERR; static int saved_char = ERR;
static int static int
@ -322,8 +303,6 @@ static struct grub_term_output grub_ncurses_term_output =
.gotoxy = grub_ncurses_gotoxy, .gotoxy = grub_ncurses_gotoxy,
.cls = grub_ncurses_cls, .cls = grub_ncurses_cls,
.setcolorstate = grub_ncurses_setcolorstate, .setcolorstate = grub_ncurses_setcolorstate,
.setcolor = grub_ncurses_setcolor,
.getcolor = grub_ncurses_getcolor,
.setcursor = grub_ncurses_setcursor, .setcursor = grub_ncurses_setcursor,
.refresh = grub_ncurses_refresh, .refresh = grub_ncurses_refresh,
.flags = GRUB_TERM_CODE_TYPE_ASCII .flags = GRUB_TERM_CODE_TYPE_ASCII