|
Public Member Functions |
| void | clear () |
| | Clear the screen,.
|
| void | scroll (unsigned n) |
| | Scroll the screen n lines up.
|
| Address | video_base () const |
| | Get the base address for the VGA memory.
|
| void | video_base (Address base) |
| | Set the base address of the VGA memory.
|
| | Vga_console (Address base, unsigned width=80, unsigned height=25, bool light_white=false, bool use_color=false) |
| | Create a new instance of a VGA console.
|
| | ~Vga_console () |
| | dtor.
|
| int | write (char const *str, size_t len) |
| | Output method.
|
| int | getchar (bool blocking=true) |
| | Empty implementation.
|
| bool const | is_working () |
| Mword | get_attributes () const |
| | Console attributes.
|
Private Types |
| enum | { MAX_ANSI_ESC_ARGS = 5
} |
Private Member Functions |
| void | blink_cursor (unsigned x, unsigned y) |
| | Set blinking screen cursor.
|
| int | seq_6 (char const *str, size_t len, unsigned &pos) |
| int | seq_1 (char const *, size_t, unsigned &) |
| int | seq_5 (char const *, size_t, unsigned &) |
| void | ansi_attrib (int a) |
| void | esc_write (char const *str, size_t len, unsigned &i) |
| void | ansi_esc_write (char const *str, size_t len, unsigned &i) |
| void | normal_write (char const *str, size_t len, unsigned &i) |
Private Attributes |
| Vga_console::VChar | packed |
| | Type of a on screen character.
|
| VChar * | _video_base |
| Address | _crtc |
| unsigned | _width |
| unsigned | _height |
| unsigned | _x |
| unsigned | _y |
| unsigned | _attribute |
| int | ansi_esc_args [MAX_ANSI_ESC_ARGS] |
| unsigned | num_ansi_esc_args |
| void(Vga_console::* | wr )(char const *, size_t, unsigned &) |
| bool const | _light_white |
| bool const | _use_color |
| bool | _is_working |
Classes |
| struct | VChar |
| | Type of a on screen character. More...
|
This console is a output only console for VGA. It implements an ANSI ESC capable output device.