add (colored) textwindow
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
#include "textstream.h"
|
#include "textstream.h"
|
||||||
|
#include "../arch/lapic.h"
|
||||||
|
|
||||||
TextStream::TextStream(unsigned from_col,
|
TextStream::TextStream(unsigned from_col,
|
||||||
unsigned to_col,
|
unsigned to_col,
|
||||||
@@ -9,10 +10,14 @@ TextStream::TextStream(unsigned from_col,
|
|||||||
to_col,
|
to_col,
|
||||||
from_row,
|
from_row,
|
||||||
to_row,
|
to_row,
|
||||||
use_cursor){}
|
use_cursor){
|
||||||
|
CGA::Color fg = static_cast<CGA::Color>((LAPIC::getID() + 1 ));
|
||||||
|
this->reset(' ', CGA::Attribute(CGA::LIGHT_GREEN, fg, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void TextStream::flush() {
|
void TextStream::flush() {
|
||||||
print(buffer,pos);
|
CGA::Color fg = static_cast<CGA::Color>((LAPIC::getID() + 1 ));
|
||||||
|
print(buffer,pos,CGA::Attribute(CGA::LIGHT_GREEN, fg, false));
|
||||||
pos = 0;
|
pos = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
44
main.cc
44
main.cc
@@ -7,6 +7,8 @@
|
|||||||
#include "arch/serial.h"
|
#include "arch/serial.h"
|
||||||
#include "device/serialstream.h"
|
#include "device/serialstream.h"
|
||||||
|
|
||||||
|
TextStream kout = TextStream(0, 80, 0, 12, true);
|
||||||
|
|
||||||
// Main function
|
// Main function
|
||||||
// (the bootstrap processor starts here)}
|
// (the bootstrap processor starts here)}
|
||||||
extern "C" int main() {
|
extern "C" int main() {
|
||||||
@@ -25,19 +27,19 @@ extern "C" int main() {
|
|||||||
//TextWindow tw_global = TextWindow(0, 80, 0, 25, true);
|
//TextWindow tw_global = TextWindow(0, 80, 0, 25, true);
|
||||||
//tw_global.reset(' ', CGA::Attribute(CGA::LIGHT_GREEN, CGA::BLUE, false));
|
//tw_global.reset(' ', CGA::Attribute(CGA::LIGHT_GREEN, CGA::BLUE, false));
|
||||||
|
|
||||||
// test SerialStream
|
//// test SerialStream
|
||||||
SerialStream ss = SerialStream();
|
//SerialStream ss = SerialStream();
|
||||||
ss.print("test", 4);
|
//ss.print("test", 4);
|
||||||
ss.setAttribute(SerialStream::UNDERSCORE);
|
//ss.setAttribute(SerialStream::UNDERSCORE);
|
||||||
ss.print("test", 4);
|
//ss.print("test", 4);
|
||||||
ss.setAttribute(SerialStream::RESET);
|
//ss.setAttribute(SerialStream::RESET);
|
||||||
ss.setForeground(SerialStream::MAGENTA);
|
//ss.setForeground(SerialStream::MAGENTA);
|
||||||
ss.print("test", 4);
|
//ss.print("test", 4);
|
||||||
ss.setBackground(SerialStream::CYAN);
|
//ss.setBackground(SerialStream::CYAN);
|
||||||
ss.print("test", 4);
|
//ss.print("test", 4);
|
||||||
ss.setPos(10, 10);
|
//ss.setPos(10, 10);
|
||||||
ss.print("test\n", 5);
|
//ss.print("test\n", 5);
|
||||||
ss.setBackground(SerialStream::BLACK);
|
//ss.setBackground(SerialStream::BLACK);
|
||||||
|
|
||||||
kout << "Test <stream result> -> <expected>" << endl;
|
kout << "Test <stream result> -> <expected>" << endl;
|
||||||
kout << "bool: " << true << " -> true" << endl;
|
kout << "bool: " << true << " -> true" << endl;
|
||||||
@@ -70,21 +72,11 @@ extern "C" int main_ap() {
|
|||||||
<< static_cast<int>(LAPIC::getID()) << " in main_ap()" << endl;
|
<< static_cast<int>(LAPIC::getID()) << " in main_ap()" << endl;
|
||||||
|
|
||||||
|
|
||||||
TextWindow kout = TextWindow(0, 80, 0, 12, true);
|
|
||||||
kout.reset();
|
|
||||||
kout.setPos(0,0);
|
|
||||||
kout.print("Corem ipsum dolor sit amit", 26);
|
|
||||||
kout.setPos(0,-1);
|
|
||||||
kout.print("test", 4, CGA::Attribute(CGA::BLACK, CGA::BLUE));
|
|
||||||
int x,y;
|
|
||||||
kout.getPos(x,y);
|
|
||||||
kout.setPos(x+1,y);
|
|
||||||
kout.reset(' ', CGA::Attribute(CGA::LIGHT_GREEN, CGA::BLUE, false));
|
|
||||||
|
|
||||||
|
|
||||||
TextWindow dout0 = TextWindow(0,20,13,19, false);
|
//TextWindow dout0 = TextWindow(0,20,13,19, false);
|
||||||
dout0.reset();
|
//dout0.reset();
|
||||||
dout0.reset(' ', CGA::Attribute(CGA::LIGHT_GREEN, CGA::RED, false));
|
//dout0.reset(' ', CGA::Attribute(CGA::LIGHT_GREEN, CGA::RED, false));
|
||||||
|
|
||||||
|
|
||||||
////test Serial
|
////test Serial
|
||||||
|
|||||||
Reference in New Issue
Block a user