diff options
author | Alexis211 <alexis211@gmail.com> | 2009-12-19 12:52:26 +0100 |
---|---|---|
committer | Alexis211 <alexis211@gmail.com> | 2009-12-19 12:52:26 +0100 |
commit | b079ac88df4c2580310e44fda6a2a4ac5f0f840f (patch) | |
tree | 67d4ed5d2cbe1e0be1414a7eae4b7555acefd169 /Source/Kernel/Devices/Display | |
parent | b2e3fc19bdad4c4d5c650e9ca759883db54b2e41 (diff) | |
parent | 6dc28352073c473a35a9d51796b02361c6c6486c (diff) | |
download | Melon-b079ac88df4c2580310e44fda6a2a4ac5f0f840f.tar.gz Melon-b079ac88df4c2580310e44fda6a2a4ac5f0f840f.zip |
Merge branch 'framework'
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) { |