|
The Pedigree Project 0.1
|
#include <LocalIO.h>
Inheritance diagram for LocalIO:
Collaboration diagram for LocalIO:Public Member Functions | |
| LocalIO (Vga *pVga, Keyboard *pKeyboard) | |
| void | initialise () |
| void | destroy () |
| void | setCliUpperLimit (size_t nlines) |
| void | setCliLowerLimit (size_t nlines) |
| void | enableCli () |
| void | disableCli () |
| void | cls () |
| virtual char | getCharNonBlock () |
| void | drawHorizontalLine (char c, size_t row, size_t colStart, size_t colEnd, DebuggerIO::Colour foreColour, DebuggerIO::Colour backColour) |
| void | drawVerticalLine (char c, size_t col, size_t rowStart, size_t rowEnd, DebuggerIO::Colour foreColour, DebuggerIO::Colour backColour) |
| void | drawString (const char *str, size_t row, size_t col, DebuggerIO::Colour foreColour, DebuggerIO::Colour backColour) |
| size_t | getWidth () |
| size_t | getHeight () |
| void | enableRefreshes () |
| void | disableRefreshes () |
| void | forceRefresh () |
| char | getChar () |
| void | readDimensions () |
Public Member Functions inherited from DebuggerIO | |
| DebuggerIO () | |
| virtual void | writeCli (const char *str, Colour foreColour, Colour backColour) |
| virtual void | writeCli (char ch, DebuggerIO::Colour foreColour, DebuggerIO::Colour backColour) |
| virtual bool | readCli (HugeStaticString &str, DebuggerCommand *pAutoComplete) |
Protected Member Functions | |
| void | scroll () |
| void | moveCursor () |
| void | putChar (char c, DebuggerIO::Colour foreColour, DebuggerIO::Colour backColour) |
| void | setMode (int nMode) |
| int | getMode () |
Protected Attributes | |
| uint16_t | m_pFramebuffer [MAX_CONSOLE_WIDTH *MAX_CONSOLE_HEIGHT] |
| uint16_t | m_pOldFramebuffer [MAX_CONSOLE_WIDTH *MAX_CONSOLE_HEIGHT] |
| size_t | m_nWidth |
| size_t | m_nHeight |
| size_t | m_UpperCliLimit |
| size_t | m_LowerCliLimit |
| size_t | m_CursorX |
| size_t | m_CursorY |
| Vga * | m_pVga |
| Keyboard * | m_pKeyboard |
Protected Attributes inherited from DebuggerIO | |
| bool | m_bReady |
| char | m_pCommand [COMMAND_MAX] |
| bool | m_bRefreshesEnabled |
Private Member Functions | |
| LocalIO (const LocalIO &) | |
| LocalIO & | operator= (const LocalIO &) |
Additional Inherited Members | |
Public Types inherited from DebuggerIO | |
| enum | Colour { Black = 0 , Blue = 1 , Green = 2 , Cyan = 3 , Red = 4 , Magenta = 5 , Orange = 6 , LightGrey = 7 , DarkGrey = 8 , LightBlue = 9 , LightGreen = 10 , LightCyan = 11 , LightRed = 12 , LightMagenta = 13 , Yellow = 14 , White = 15 } |
Provides an implementation of DebuggerIO, using the monitor and keyboard.
Default constructor and destructor.
Definition at line 24 of file LocalIO.cc.
| LocalIO::~LocalIO | ( | ) |
Definition at line 36 of file LocalIO.cc.
|
virtual |
Implements DebuggerIO.
Definition at line 299 of file LocalIO.cc.
|
virtual |
Implements DebuggerIO.
Definition at line 64 of file LocalIO.cc.
|
virtual |
Implements DebuggerIO.
Definition at line 107 of file LocalIO.cc.
|
virtual |
Implements DebuggerIO.
Definition at line 223 of file LocalIO.cc.
|
virtual |
Draw a line of characters in the given fore and back colours, in the horizontal or vertical direction. Note that if the CLI is enabled, anything drawn across the CLI area can be wiped without warning.
Implements DebuggerIO.
Definition at line 130 of file LocalIO.cc.
References DebuggerIO::m_bRefreshesEnabled, and m_pFramebuffer.
|
virtual |
Draws a string of text at the given location in the given colour. note that wrapping is not performed, the string will be clipped.
Implements DebuggerIO.
Definition at line 184 of file LocalIO.cc.
References DebuggerIO::m_bRefreshesEnabled, m_CursorX, and moveCursor().
|
virtual |
Implements DebuggerIO.
Definition at line 157 of file LocalIO.cc.
|
virtual |
Enables or disables the command line interface, allowing full access to the display. disableCli blanks the screen, enableCli blanks it and puts a prompt up.
Implements DebuggerIO.
Definition at line 90 of file LocalIO.cc.
References m_CursorX, DebuggerIO::m_pCommand, m_pFramebuffer, and m_UpperCliLimit.
|
virtual |
Allows disabling of refreshes, for example when deleting something then writing it back.
Implements DebuggerIO.
Definition at line 218 of file LocalIO.cc.
References DebuggerIO::m_bRefreshesEnabled.
|
virtual |
Implements DebuggerIO.
Definition at line 227 of file LocalIO.cc.
|
virtual |
Gets a character from the keyboard. Blocking. Returns 0 for a nonprintable character.
Implements DebuggerIO.
Definition at line 126 of file LocalIO.cc.
References Keyboard::getChar(), and m_pKeyboard.
|
virtual |
Implements DebuggerIO.
Definition at line 122 of file LocalIO.cc.
|
inlinevirtual |
Implements DebuggerIO.
|
inlinevirtual |
Returns the width and height respectively of the console.
Implements DebuggerIO.
|
virtual |
Implements DebuggerIO.
Definition at line 38 of file LocalIO.cc.
|
protectedvirtual |
Updates the hardware cursor position.
Implements DebuggerIO.
Definition at line 249 of file LocalIO.cc.
References m_CursorX, m_pVga, and Vga::moveCursor().
Referenced by drawString().
Here is the caller graph for this function:
|
protectedvirtual |
Implements DebuggerIO.
Definition at line 253 of file LocalIO.cc.
|
inlinevirtual |
Implements DebuggerIO.
|
protectedvirtual |
Scrolls the CLI screen down a line, if needed.
Implements DebuggerIO.
Definition at line 232 of file LocalIO.cc.
References m_LowerCliLimit, m_pFramebuffer, and m_UpperCliLimit.
|
virtual |
Implements DebuggerIO.
Definition at line 80 of file LocalIO.cc.
|
virtual |
Forces the command line interface not to use the specified number of lines from either the top or bottom of the screen, respectively. Can be used to create status lines that aren't destroyed by screen scrolling.
Implements DebuggerIO.
Definition at line 70 of file LocalIO.cc.
References m_UpperCliLimit.
|
protected |
How many lines from the bottom of the screen the bottom of our CLI area is. Current cursor position.
Definition at line 154 of file LocalIO.h.
Referenced by drawString(), enableCli(), and moveCursor().
|
protected |
|
protected |
Definition at line 133 of file LocalIO.h.
Referenced by drawHorizontalLine(), enableCli(), and scroll().
|
protected |
|
protected |
Framebuffer for the screen before we took control.
|
protected |
|
protected |
Current upper and lower CLI limits.
Definition at line 146 of file LocalIO.h.
Referenced by enableCli(), scroll(), and setCliUpperLimit().