C++ Crashkurs
Basic operations in the VGA-compatible text mode. More...
#include <machine/textmode.h>
Inheritance diagram for TextMode:
Collaboration diagram for TextMode: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.__unnamed53__ |
| 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 void | show (int abs_x, int 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. | |
Detailed Description
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.
Class Documentation
| struct TextMode::Attribute.__unnamed53__ |
Member Enumeration Documentation
| 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)
Member Function Documentation
|
static |
|
static |
|
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.
- Parameters
-
abs_x Column ( abs_x< COLUMNS) in which the character should be displayedabs_y Row ( abs_y< ROWS) in which the character should be displayedcharacter Character to be displayed attrib Attribute with color settings
- Todo:
- Implement the method
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. Negative coordinates are interpreted relative to the right (x) and bottom (y) border.
- Parameters
-
abs_x Column (-COLUMNS ≤ abs_x< COLUMNS) in which the character should be displayed – using the right border (COLUMNS) as reference for negative values.abs_y Row (-ROWS ≤ abs_y< ROWS) in which the character should be displayed – using the bottom border (ROWS) as reference for negative values.character Character to be displayed attrib Attribute with color settings
- Optional:
- Implement this method (it can either use or replace show(unsigned, unsigned, char, Attribute))
The documentation for this class was generated from the following files:
- machine/textmode.h
- machine/textmode.cc