stdout
Published 30 Nov 2009, by
Simon Ford

No tags
« Back to documentation index
Show/hide line numbers
TextDisplay.cpp Source File
TextDisplay.cpp
00001
00002
00003
00004
00005
00006 #include "TextDisplay.h"
00007
00008 TextDisplay::TextDisplay(const char *name) : Stream(name) {
00009 _row = 0;
00010 _column = 0;
00011 }
00012
00013 int TextDisplay::_putc(int value) {
00014 if(value == '\n') {
00015 _column = 0;
00016 _row++;
00017 if(_row >= rows()) {
00018 _row = 0;
00019 }
00020 } else {
00021 character(_column, _row, value);
00022 _column++;
00023 if(_column >= columns()) {
00024 _column = 0;
00025 _row++;
00026 if(_row >= rows()) {
00027 _row = 0;
00028 }
00029 }
00030 }
00031 return value;
00032 }
00033
00034
00035 void TextDisplay::cls() {
00036 locate(0, 0);
00037 for(int i=0; i<columns()*rows(); i++) {
00038 putc(' ');
00039 }
00040 }
00041
00042 void TextDisplay::locate(int column, int row) {
00043 _column = column;
00044 _row = row;
00045 }
00046
00047 int TextDisplay::_getc() {
00048 return -1;
00049 }
00050
00051 void TextDisplay::foreground(int colour) {
00052 _foreground = colour;
00053 }
00054
00055 void TextDisplay::background(int colour) {
00056 _background = colour;
00057 }