StuBS
|
Basic operations in the VGA-compatible text mode. More...
#include <machine/textmode.h>
Classes | |
union | Attribute |
Structure of a character attribute consists of 4 bit fore- and 3 bit background color, and a single blink bit. More... | |
struct | Attribute.__unnamed66__ |
struct | Cell |
Structure for a cell in text mode. More... | |
Public Types | |
enum | Color { BLACK , BLUE , GREEN , CYAN , RED , MAGENTA , BROWN , LIGHT_GREY , DARK_GREY , LIGHT_BLUE , LIGHT_GREEN , LIGHT_CYAN , LIGHT_RED , LIGHT_MAGENTA , YELLOW , WHITE } |
CGA color palette. More... | |
Static Public Member Functions | |
static void | setCursor (unsigned abs_x, unsigned abs_y) |
Set the keyboard hardware cursor to absolute screen position. More... | |
static void | getCursor (unsigned &abs_x, unsigned &abs_y) |
Retrieve the keyboard hardware cursor position on screen. More... | |
static void | show (unsigned abs_x, unsigned abs_y, char character, Attribute attrib=Attribute()) |
Basic output of a character at a specific position on the screen. More... | |
Static Public Attributes | |
static const unsigned | ROWS = 25 |
Visible rows in text mode. | |
static const unsigned | COLUMNS = 80 |
Visible columns in text mode. | |
Protected Member Functions | |
TextMode () | |
Default constructor. | |
Static Protected Attributes | |
static Cell *const | TEXT_BUFFER_BASE = reinterpret_cast<TextMode::Cell *>(0xb8000) |
Base address for linear text buffer in video memory. | |
static unsigned | mouse_x = 0 |
Last reported column of mouse cursor. | |
static unsigned | mouse_y = 0 |
Last reported row of mouse cursor. | |
static Attribute | mouse_attrib |
(Previous) attributes of cell at mouse cursor | |
Basic operations in the VGA-compatible text mode.
This class provides an interface to access the screen in text mode, with access directly on the hardware level, i.e. the video memory and the I/O ports of the graphics card.
enum TextMode::Color |
CGA color palette.
Colors for the attribute byte. All 16 colors can be used for the foreground while the background colors are limited to the first eight (fromBLACK
to LIGHT_GREY
)
|
static |
Set the keyboard hardware cursor to absolute screen position.
abs_x | absolute column of the keyboard hardware cursor |
abs_y | absolute row of the keyboard hardware cursor |
|
static |
Retrieve the keyboard hardware cursor position on screen.
abs_x | absolute column of the keyboard hardware cursor |
abs_y | absolute row of the keyboard hardware cursor |
|
static |
Basic output of a character at a specific position on the screen.
This method outputs the given character at the absolute screen position (x
, y
) with the specified color attribute.
The position (0
,0
) indicates the upper left corner of the screen. The attribute defines characteristics such as background color, foreground color and blinking.