The Pedigree Project
0.1
|
#include <Vga.h>
Public Types | |
enum | VgaControl { LineGraphics = 2, Blink = 3 } |
Public Member Functions | |
virtual void | setControl (VgaControl which)=0 |
virtual void | clearControl (VgaControl which)=0 |
virtual bool | setMode (int mode)=0 |
virtual bool | setLargestTextMode ()=0 |
virtual bool | isMode (size_t nCols, size_t nRows, bool bIsText, size_t nBpp=0)=0 |
virtual bool | isLargestTextMode ()=0 |
virtual size_t | getNumCols ()=0 |
virtual size_t | getNumRows ()=0 |
virtual void | rememberMode ()=0 |
virtual void | restoreMode ()=0 |
virtual void | pokeBuffer (uint8_t *pBuffer, size_t nBufLen)=0 |
virtual void | peekBuffer (uint8_t *pBuffer, size_t nBufLen)=0 |
virtual void | moveCursor (size_t nX, size_t nY)=0 |
virtual | operator uint16_t * () const =0 |
Vga device abstraction.
Definition at line 28 of file include/pedigree/kernel/machine/Vga.h.
|
pure virtual |
Clears the given attribute mode control.
Implemented in X86Vga, ArmBeagleVga, and HostedVga.
|
pure virtual |
Implemented in PPCVga, X86Vga, ArmBeagleVga, MaltaVga, ArmVersatileVga, and HostedVga.
Referenced by BootIO::initialise(), and LocalIO::LocalIO().
|
pure virtual |
Implemented in PPCVga, X86Vga, ArmBeagleVga, MaltaVga, ArmVersatileVga, and HostedVga.
Referenced by BootIO::initialise(), and LocalIO::LocalIO().
|
pure virtual |
Tests if the current video mode is the largest text mode.
Implemented in X86Vga, PPCVga, ArmBeagleVga, MaltaVga, ArmVersatileVga, and HostedVga.
|
pure virtual |
Tests the current video mode.
Implemented in X86Vga, PPCVga, ArmBeagleVga, MaltaVga, ArmVersatileVga, and HostedVga.
|
pure virtual |
Moves the cursor to the position specified by the parameters.
nX | The column to move to. |
nY | The row to move to. |
Implemented in PPCVga, X86Vga, ArmBeagleVga, MaltaVga, ArmVersatileVga, and HostedVga.
Referenced by LocalIO::moveCursor().
|
pure virtual |
Copies the current framebuffer into the given buffer.
The buffer is assumed to be in the correct format for directly copying from video memory. This will obviously depend on the current mode (text/graphical) as well as resolution and bits per pixel (graphics mode only).
A | pointer to the buffer. |
The | length of pBuffer. |
Implemented in PPCVga, X86Vga, ArmBeagleVga, MaltaVga, ArmVersatileVga, and HostedVga.
Referenced by LocalIO::LocalIO().
|
pure virtual |
Copies the given buffer into video memory, replacing the current framebuffer.
The buffer is assumed to be in the correct format for directly copying into video memory. This will obviously depend on the current mode (text/graphical) as well as resolution and bits per pixel (graphics mode only).
A | pointer to the buffer to swap into video memory. |
The | length of pBuffer. |
Implemented in PPCVga, X86Vga, ArmBeagleVga, MaltaVga, ArmVersatileVga, and HostedVga.
Referenced by LocalIO::enableRefreshes(), BootIO::initialise(), and LocalIO::LocalIO().
|
pure virtual |
Stores the current video mode.
Implemented in PPCVga, X86Vga, ArmBeagleVga, MaltaVga, ArmVersatileVga, and HostedVga.
Referenced by FramebufferFile::command(), and LocalIO::LocalIO().
|
pure virtual |
Restores the saved video mode from a rememberMode() call.
Implemented in PPCVga, X86Vga, ArmBeagleVga, MaltaVga, ArmVersatileVga, and HostedVga.
Referenced by FramebufferFile::command(), and LocalIO::LocalIO().
|
pure virtual |
Sets the given attribute mode control.
Implemented in X86Vga, ArmBeagleVga, and HostedVga.
|
pure virtual |
Sets the largest possible text mode.
Implemented in X86Vga, PPCVga, ArmBeagleVga, MaltaVga, ArmVersatileVga, and HostedVga.
Referenced by FramebufferFile::command(), BootIO::initialise(), TextIO::initialise(), and LocalIO::LocalIO().
|
pure virtual |
Changes the mode the VGA device is in.
nCols | The number of columns required. |
nRows | The number of rows required. |
bIsText | True if the caller requires a text mode, false if graphical. |
nBpp | Only applicable for graphics modes - the number of bits per pixel. |
Implemented in X86Vga, PPCVga, ArmBeagleVga, ArmVersatileVga, and HostedVga.
Referenced by FramebufferFile::command(), VbeDisplay::setScreenMode(), and VmwareGraphics::setScreenMode().