diff options
author | Alexis211 <alexis211@gmail.com> | 2009-12-19 12:46:55 +0100 |
---|---|---|
committer | Alexis211 <alexis211@gmail.com> | 2009-12-19 12:46:55 +0100 |
commit | 6dc28352073c473a35a9d51796b02361c6c6486c (patch) | |
tree | 67d4ed5d2cbe1e0be1414a7eae4b7555acefd169 /Source/Kernel/Devices/Display | |
parent | 66f21576d9f9dee507995c520463c5fa94b66a49 (diff) | |
download | Melon-6dc28352073c473a35a9d51796b02361c6c6486c.tar.gz Melon-6dc28352073c473a35a9d51796b02361c6c6486c.zip |
Nothing, really
Diffstat (limited to 'Source/Kernel/Devices/Display')
-rw-r--r-- | Source/Kernel/Devices/Display/VESADisplay.class.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/Source/Kernel/Devices/Display/VESADisplay.class.cpp b/Source/Kernel/Devices/Display/VESADisplay.class.cpp index f882d5b..d4aee07 100644 --- a/Source/Kernel/Devices/Display/VESADisplay.class.cpp +++ b/Source/Kernel/Devices/Display/VESADisplay.class.cpp @@ -245,7 +245,24 @@ void VESADisplay::drawChar(u16int line, u16int col, WChar c, u8int color) { fgcolor = color & 0xF; bgcolor = (color >> 4) & 0xF; } - + + if (c == WChar(" ")) { + u8int* p = memPos(sx, sy); + for (int y = 0; y < C_FONT_HEIGHT; y++) { + if (m_pixWidth == 1) memset(p, bgcolor, 9); + if (m_pixWidth == 2) memsetw((u16int*)p, bgcolor, 9); + if (m_pixWidth == 3) { + for (int i = 0; i < 9; i++) { + p[0] = (bgcolor >> 16); + p[1] = (bgcolor >> 8); + p[2] = (bgcolor); + p += 3; + } + } + p += m_currMode.pitch; + } + return; + } int y = 0; for (u8int* p = memPos(sx, sy); p < memPos(sx, sy + C_FONT_HEIGHT); p += m_currMode.pitch) { |