The Pedigree Project  0.1
Public Member Functions | List of all members
ArmVersatileVga Class Reference

#include <Vga.h>

+ Inheritance diagram for ArmVersatileVga:
+ Collaboration diagram for ArmVersatileVga:

Public Member Functions

char read ()
 
void write (char c)
 
virtual bool setMode (int mode)
 
bool setLargestTextMode ()
 
bool isMode (size_t nCols, size_t nRows, bool bIsText, size_t nBpp=0)
 
bool isLargestTextMode ()
 
size_t getNumCols ()
 
size_t getNumRows ()
 
void rememberMode ()
 
void restoreMode ()
 
void pokeBuffer (uint8_t *pBuffer, size_t nBufLen)
 
void peekBuffer (uint8_t *pBuffer, size_t nBufLen)
 
void moveCursor (size_t nX, size_t nY)
 
 operator uint16_t * () const
 
- Public Member Functions inherited from Vga
virtual void setControl (VgaControl which)=0
 
virtual void clearControl (VgaControl which)=0
 

Additional Inherited Members

- Public Types inherited from Vga
enum  VgaControl { LineGraphics = 2, Blink = 3 }
 

Detailed Description

Vga device abstraction.

Definition at line 28 of file kernel/machine/arm_versatile/Vga.h.

Member Function Documentation

size_t ArmVersatileVga::getNumCols ( )
inlinevirtual
Returns
The number of columns in the current mode.

Implements Vga.

Definition at line 77 of file kernel/machine/arm_versatile/Vga.h.

size_t ArmVersatileVga::getNumRows ( )
inlinevirtual
Returns
The number of rows in the current mode.

Implements Vga.

Definition at line 85 of file kernel/machine/arm_versatile/Vga.h.

bool ArmVersatileVga::isLargestTextMode ( )
inlinevirtual

Tests if the current video mode is the largest text mode.

Returns
True if the current video mode is equal to the largest text mode.

Implements Vga.

Definition at line 69 of file kernel/machine/arm_versatile/Vga.h.

bool ArmVersatileVga::isMode ( size_t  nCols,
size_t  nRows,
bool  bIsText,
size_t  nBpp = 0 
)
inlinevirtual

Tests the current video mode.

Returns
True if the current mode matches the given arguments.

Implements Vga.

Definition at line 60 of file kernel/machine/arm_versatile/Vga.h.

void ArmVersatileVga::moveCursor ( size_t  nX,
size_t  nY 
)
inlinevirtual

Moves the cursor to the position specified by the parameters.

Parameters
nXThe column to move to.
nYThe row to move to.

Implements Vga.

Definition at line 127 of file kernel/machine/arm_versatile/Vga.h.

Referenced by HostedVga::pokeBuffer().

+ Here is the caller graph for this function:

void ArmVersatileVga::peekBuffer ( uint8_t *  pBuffer,
size_t  nBufLen 
)
inlinevirtual

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).

Parameters
Apointer to the buffer.
Thelength of pBuffer.

Implements Vga.

Definition at line 120 of file kernel/machine/arm_versatile/Vga.h.

void ArmVersatileVga::pokeBuffer ( uint8_t *  pBuffer,
size_t  nBufLen 
)
inlinevirtual

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).

Parameters
Apointer to the buffer to swap into video memory.
Thelength of pBuffer.

Implements Vga.

Definition at line 110 of file kernel/machine/arm_versatile/Vga.h.

void ArmVersatileVga::rememberMode ( )
inlinevirtual

Stores the current video mode.

Implements Vga.

Definition at line 93 of file kernel/machine/arm_versatile/Vga.h.

void ArmVersatileVga::restoreMode ( )
inlinevirtual

Restores the saved video mode from a rememberMode() call.

Implements Vga.

Definition at line 98 of file kernel/machine/arm_versatile/Vga.h.

bool ArmVersatileVga::setLargestTextMode ( )
inlinevirtual

Sets the largest possible text mode.

Returns
True on success, false on failure.

Implements Vga.

Definition at line 51 of file kernel/machine/arm_versatile/Vga.h.

bool ArmVersatileVga::setMode ( int  mode)
virtual

Changes the mode the VGA device is in.

Parameters
nColsThe number of columns required.
nRowsThe number of rows required.
bIsTextTrue if the caller requires a text mode, false if graphical.
nBppOnly applicable for graphics modes - the number of bits per pixel.
Returns
True on success, false on failure.

Implements Vga.

Definition at line 36 of file kernel/machine/arm_versatile/Vga.cc.


The documentation for this class was generated from the following files: