david/ipxe
Archived
1
0

Use current attributes when erasing.

This commit is contained in:
Michael Brown 2006-12-19 01:17:10 +00:00
parent cdfe61662b
commit c1bac56f85
3 changed files with 16 additions and 4 deletions

View File

@ -19,7 +19,7 @@ int wclrtobot ( WINDOW *win ) {
_store_curs_pos( win, &pos );
do {
_wputch( win, (unsigned)' ', WRAP );
_wputc( win, ' ', WRAP );
} while ( win->curs_y + win->curs_x );
_restore_curs_pos( win, &pos );
@ -37,7 +37,7 @@ int wclrtoeol ( WINDOW *win ) {
_store_curs_pos( win, &pos );
while ( ( win->curs_y - pos.y ) == 0 ) {
_wputch( win, (unsigned)' ', WRAP );
_wputc( win, ' ', WRAP );
}
_restore_curs_pos( win, &pos );
@ -51,7 +51,7 @@ int wclrtoeol ( WINDOW *win ) {
* @ret rc return status code
*/
int wdelch ( WINDOW *win ) {
_wputch( win, (unsigned)' ', NOWRAP );
_wputc( win, ' ', NOWRAP );
_wcursback( win );
return OK;

View File

@ -58,6 +58,17 @@ void _wputch ( WINDOW *win, chtype ch, int wrap ) {
}
}
/**
* Write a single character to a window
*
* @v *win window in which to write
* @v c character rendition to write
* @v wrap wrap "switch"
*/
void _wputc ( WINDOW *win, char c, int wrap ) {
_wputch ( win, ( c | win->attrs ), wrap );
}
/**
* Retreat the cursor back one position (useful for a whole host of
* ops)
@ -100,7 +111,7 @@ void _wputchstr ( WINDOW *win, const chtype *chstr, int wrap, int n ) {
*/
void _wputstr ( WINDOW *win, const char *str, int wrap, int n ) {
for ( ; *str && n-- ; str++ ) {
_wputch( win, *str | win->attrs, wrap );
_wputc ( win, *str, wrap );
}
}

View File

@ -13,6 +13,7 @@
extern SCREEN _ansi_screen;
extern void _wputch ( WINDOW *win, chtype ch, int wrap );
extern void _wputc ( WINDOW *win, char c, int wrap );
extern void _wputchstr ( WINDOW *win, const chtype *chstr, int wrap, int n );
extern void _wputstr ( WINDOW *win, const char *str, int wrap, int n );
extern void _wcursback ( WINDOW *win );