StuBS
|
Basic operations in the VGA-compatible text mode. More...
#include <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 | 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. | |
static void | getCursor (unsigned &abs_x, unsigned &abs_y) |
Retrieve the keyboard hardware cursor position on screen. | |
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. | |
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. | |
Basic operations in the VGA-compatible text mode.
This class provides an interface to access the screen in text mode (also known as CGA 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 |
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 |
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 |
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.