1
Files
lecture-operating-system-de…/c_os/devices/VESA.h
2022-07-24 21:12:31 +02:00

41 lines
1.5 KiB
C++

/*****************************************************************************
* *
* V E S A *
* *
*---------------------------------------------------------------------------*
* Beschreibung: VESA-Treiber ueber 16-Bit BIOS. *
* *
* Autor: Michael Schoettner, HHU, 19.5.2022 *
*****************************************************************************/
#ifndef VESA_include__
#define VESA_include__
#include "devices/LFBgraphics.h"
#include "user/lib/Logger.h"
// Ausgewaehlte Grafikmodi mit Mode-Nummer
constexpr const unsigned int MODE_640_480_16BITS = 0x111;
constexpr const unsigned int MODE_640_480_24BITS = 0x112;
constexpr const unsigned int MODE_800_600_16BITS = 0x114;
constexpr const unsigned int MODE_800_600_24BITS = 0x115;
constexpr const unsigned int MODE_1024_768_16BITS = 0x117;
constexpr const unsigned int MODE_1024_768_24BITS = 0x118;
class VESA : public LFBgraphics {
private:
int mode_nr; // Nummer des Modus
NamedLogger log;
public:
VESA(const VESA& copy) = delete; // Verhindere Kopieren
VESA() : log("VESA") {}
// Bestimmten Grafikmodus einschalten
bool initGraphicMode(unsigned short mode);
static void initTextMode();
};
#endif