Initialise colour pairs to default (white on black).

Move colour initialisation so we don't reinitialise the first 8 colours.
This commit is contained in:
jdc 2000-04-21 15:54:42 +00:00
parent 3f08804668
commit cc935fb60f

View File

@ -1,4 +1,4 @@
/* $NetBSD: color.c,v 1.6 2000/04/18 22:47:40 jdc Exp $ */ /* $NetBSD: color.c,v 1.7 2000/04/21 15:54:42 jdc Exp $ */
/* /*
* Copyright (c) 2000 The NetBSD Foundation, Inc. * Copyright (c) 2000 The NetBSD Foundation, Inc.
@ -130,16 +130,36 @@ start_color(void)
if (!COLORS) if (!COLORS)
return (ERR); return (ERR);
/* Initialise colours and pairs */ /* Set up initial 8 colours */
for (i = 0; i < COLORS; i++) { if (COLORS >= COLOR_BLACK)
(void) init_color(COLOR_BLACK, 0, 0, 0);
if (COLORS >= COLOR_RED)
(void) init_color(COLOR_RED, 1000, 0, 0);
if (COLORS >= COLOR_GREEN)
(void) init_color(COLOR_GREEN, 0, 1000, 0);
if (COLORS >= COLOR_YELLOW)
(void) init_color(COLOR_YELLOW, 1000, 1000, 0);
if (COLORS >= COLOR_BLUE)
(void) init_color(COLOR_BLUE, 0, 0, 1000);
if (COLORS >= COLOR_MAGENTA)
(void) init_color(COLOR_MAGENTA, 1000, 0, 1000);
if (COLORS >= COLOR_CYAN)
(void) init_color(COLOR_CYAN, 0, 1000, 1000);
if (COLORS >= COLOR_WHITE)
(void) init_color(COLOR_WHITE, 1000, 1000, 1000);
/* Initialise other colours */
for (i = 8; i < COLORS; i++) {
colors[i].red = 0; colors[i].red = 0;
colors[i].green = 0; colors[i].green = 0;
colors[i].blue = 0; colors[i].blue = 0;
colors[i].flags = 0; colors[i].flags = 0;
} }
/* Initialise colour pairs to default (white on black) */
for (i = 0; i < COLOR_PAIRS; i++) { for (i = 0; i < COLOR_PAIRS; i++) {
pairs[i].fore = 0; pairs[i].fore = COLOR_WHITE;
pairs[i].back = 0; pairs[i].back = COLOR_BLACK;
pairs[i].flags = 0; pairs[i].flags = 0;
} }
@ -153,7 +173,7 @@ start_color(void)
curscr->wattr &= ~__ATTRIBUTES | __ALTCHARSET; curscr->wattr &= ~__ATTRIBUTES | __ALTCHARSET;
} }
/* Type of colour manipulation - ANSI/TEK/HP */ /* Type of colour manipulation - ANSI/TEK/HP/other */
if (af != NULL && ab != NULL) if (af != NULL && ab != NULL)
__color_type = COLOR_ANSI; __color_type = COLOR_ANSI;
else if (iP != NULL) else if (iP != NULL)
@ -184,24 +204,6 @@ start_color(void)
} }
#endif #endif
/* Set up initial 8 colours */
if (COLORS >= COLOR_BLACK)
(void) init_color(COLOR_BLACK, 0, 0, 0);
if (COLORS >= COLOR_RED)
(void) init_color(COLOR_RED, 1000, 0, 0);
if (COLORS >= COLOR_GREEN)
(void) init_color(COLOR_GREEN, 0, 1000, 0);
if (COLORS >= COLOR_YELLOW)
(void) init_color(COLOR_YELLOW, 1000, 1000, 0);
if (COLORS >= COLOR_BLUE)
(void) init_color(COLOR_BLUE, 0, 0, 1000);
if (COLORS >= COLOR_MAGENTA)
(void) init_color(COLOR_MAGENTA, 1000, 0, 1000);
if (COLORS >= COLOR_CYAN)
(void) init_color(COLOR_CYAN, 0, 1000, 1000);
if (COLORS >= COLOR_WHITE)
(void) init_color(COLOR_WHITE, 1000, 1000, 1000);
/* /*
* Attributes that cannot be used with color. * Attributes that cannot be used with color.
* Store these in an attr_t for wattrset()/wattron(). * Store these in an attr_t for wattrset()/wattron().