diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/Kernel/Devices/Display/VESADisplay.class.cpp | 19 | ||||
-rw-r--r-- | Source/Kernel/Makefile | 2 |
2 files changed, 19 insertions, 2 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) { diff --git a/Source/Kernel/Makefile b/Source/Kernel/Makefile index 660017a..0f244d5 100644 --- a/Source/Kernel/Makefile +++ b/Source/Kernel/Makefile @@ -5,7 +5,7 @@ CXX = g++ LD = ld LDFLAGS = -T Link.ld -Map Map.txt --oformat=elf32-i386 CFLAGS = -nostdlib -nostartfiles -nodefaultlibs -fno-builtin -fno-stack-protector -Wall -Wextra -Werror -I . -CXXFLAGS = -nostartfiles -nostdlib -fno-exceptions -fno-rtti -I . -I ../Library/Common -I ../Library/Interface -Wall -Werror -Wno-write-strings -funsigned-char -D THIS_IS_MELON_KERNEL -D RANDOM_SEED=1`date +%N`LL +CXXFLAGS = -nostartfiles -nostdlib -fno-exceptions -fno-rtti -I . -I ../Library/Common -I ../Library/Interface -Wall -Werror -Wno-write-strings -funsigned-char -D THIS_IS_MELON_KERNEL -D RANDOM_SEED=1`date +%N`LL -O2 ASM = nasm ASMFLAGS = -f elf |