iPXE
Defines | Functions | Variables
mucurses.h File Reference

MuCurses core implementation specific header file. More...

Go to the source code of this file.

Defines

#define WRAP   0
#define NOWRAP   1

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
void _wputch (WINDOW *win, chtype ch, int wrap) __nonnull
 Write a single character rendition to a window.
void _wputc (WINDOW *win, char c, int wrap) __nonnull
 Write a single character to a window.
void _wputchstr (WINDOW *win, const chtype *chstr, int wrap, int n) __nonnull
 Write a chtype string to a window.
void _wputstr (WINDOW *win, const char *str, int wrap, int n) __nonnull
 Write a standard c-style string to a window.
void _wcursback (WINDOW *win) __nonnull
 Retreat the cursor back one position (useful for a whole host of ops)

Variables

SCREEN _ansi_screen

Detailed Description

MuCurses core implementation specific header file.

Definition in file mucurses.h.


Define Documentation

#define WRAP   0
#define NOWRAP   1

Definition at line 13 of file mucurses.h.

Referenced by _print_label(), slk_restore(), waddchnstr(), wborder(), wdelch(), whline(), and wvline().


Function Documentation

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )
void _wputch ( WINDOW win,
chtype  ch,
int  wrap 
)

Write a single character rendition to a window.

Parameters:
*winwindow in which to write
chcharacter rendition to write
wrapwrap "switch"

Definition at line 50 of file mucurses.c.

References _wupdcurs(), _curses_window::curs_x, _curses_window::curs_y, _curses_window::height, _curses_screen::putc, _curses_window::scr, _curses_window::width, and WRAP.

Referenced by _printw_handler(), _wgetc(), _wputc(), _wputchstr(), delwin(), slk_restore(), waddch(), wborder(), wgetch(), whline(), and wvline().

                                                  {
        /* make sure we set the screen cursor to the right position
           first! */
        _wupdcurs(win);
        win->scr->putc(win->scr, ch);
        if ( ++(win->curs_x) - win->width == 0 ) {
                if ( wrap == WRAP ) {
                        win->curs_x = 0;
                        /* specification says we should really scroll,
                           but we have no buffer to scroll with, so we
                           can only overwrite back at the beginning of
                           the window */
                        if ( ++(win->curs_y) - win->height == 0 )
                                win->curs_y = 0;
                } else {
                        (win->curs_x)--;
                }
        }
}
void _wputc ( WINDOW win,
char  c,
int  wrap 
)

Write a single character to a window.

Parameters:
*winwindow in which to write
ccharacter rendition to write
wrapwrap "switch"

Definition at line 77 of file mucurses.c.

References _wputch(), and _curses_window::attrs.

Referenced by _wputstr(), wclrtobot(), wclrtoeol(), and wdelch().

                                              {
        _wputch ( win, ( ( ( unsigned char ) c ) | win->attrs ), wrap );
}
void _wputchstr ( WINDOW win,
const chtype chstr,
int  wrap,
int  n 
)

Write a chtype string to a window.

Parameters:
*winwindow in which to write
*chstrchtype string
wrapwrap "switch"
nwrite at most n chtypes

Definition at line 107 of file mucurses.c.

References _wputch().

Referenced by waddchnstr().

                                                                      {
        for ( ; *chstr && n-- ; chstr++ ) {
                _wputch(win,*chstr,wrap);
        }
}
void _wputstr ( WINDOW win,
const char *  str,
int  wrap,
int  n 
)

Write a standard c-style string to a window.

Parameters:
*winwindow in which to write
*strstring
wrapwrap "switch"
nwrite at most n chars from *str

Definition at line 121 of file mucurses.c.

References _wputc().

Referenced by _print_label(), and waddnstr().

                                                                {
        for ( ; *str && n-- ; str++ ) {
                _wputc ( win, *str, wrap );
        }
}
void _wcursback ( WINDOW win)

Retreat the cursor back one position (useful for a whole host of ops)

Parameters:
*winwindow in which to retreat

Definition at line 87 of file mucurses.c.

References _wupdcurs(), _curses_window::curs_x, _curses_window::curs_y, _curses_window::height, and _curses_window::width.

Referenced by wdelch(), wgetch(), and wgetnstr().

                                {
        if ( win->curs_x == 0 ) {
                if ( win->curs_y == 0 )
                        win->curs_y = win->height - 1;
                win->curs_x = win->width = 1;
        } else {
                win->curs_x--;
        }

        _wupdcurs(win);
}

Variable Documentation

Definition at line 93 of file ansi_screen.c.