From 9ad8e2fe0242da26dae7fca2b180640637c8c062 Mon Sep 17 00:00:00 2001 From: Alexis211 Date: Sat, 29 Aug 2009 19:03:00 +0200 Subject: We now have (partial) support for UTF-8. --- Source/Kernel/Devices/Display/Display.proto.h | 3 ++- Source/Kernel/Devices/Display/VGATextOutput.class.cpp | 4 ++-- Source/Kernel/Devices/Display/VGATextOutput.class.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) (limited to 'Source/Kernel/Devices/Display') diff --git a/Source/Kernel/Devices/Display/Display.proto.h b/Source/Kernel/Devices/Display/Display.proto.h index 1c8e724..f2a98af 100644 --- a/Source/Kernel/Devices/Display/Display.proto.h +++ b/Source/Kernel/Devices/Display/Display.proto.h @@ -3,12 +3,13 @@ #include #include +#include class Display : public Device { public: virtual u16int textCols() = 0; virtual u16int textRows() = 0; - virtual void putChar(u16int line, u16int col, char c, u8int color) = 0; //Color : + virtual void putChar(u16int line, u16int col, wchar c, u8int color) = 0; //Color : virtual void moveCursor(u16int line, u16int col) = 0; virtual void clear() = 0; }; diff --git a/Source/Kernel/Devices/Display/VGATextOutput.class.cpp b/Source/Kernel/Devices/Display/VGATextOutput.class.cpp index a424153..2a69754 100644 --- a/Source/Kernel/Devices/Display/VGATextOutput.class.cpp +++ b/Source/Kernel/Devices/Display/VGATextOutput.class.cpp @@ -21,9 +21,9 @@ u16int VGATextOutput::textRows() { return 25; } -void VGATextOutput::putChar(u16int line, u16int col, char c, u8int color) { +void VGATextOutput::putChar(u16int line, u16int col, wchar c, u8int color) { u16int* where = (u16int*)RAM_ADDR; - where[(80 * line) + col] = (color << 8) | c; + where[(80 * line) + col] = (color << 8) | c.toAscii(); } void VGATextOutput::moveCursor(u16int line, u16int col) { diff --git a/Source/Kernel/Devices/Display/VGATextOutput.class.h b/Source/Kernel/Devices/Display/VGATextOutput.class.h index eb3fc99..7746a7b 100644 --- a/Source/Kernel/Devices/Display/VGATextOutput.class.h +++ b/Source/Kernel/Devices/Display/VGATextOutput.class.h @@ -10,7 +10,7 @@ class VGATextOutput : public Display { u16int textCols(); u16int textRows(); - void putChar(u16int line, u16int col, char c, u8int color); + void putChar(u16int line, u16int col, wchar c, u8int color); void moveCursor(u16int line, u16int col); void clear(); }; -- cgit v1.2.3