Dependencies:   mbed

Committer:
simon
Date:
Tue Sep 15 10:02:04 2009 +0000
Revision:
0:cc002f2fad97

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:cc002f2fad97 1 /* mbed TextDisplay Display Library Base Class
simon 0:cc002f2fad97 2 * Copyright (c) 2007-2009 sford
simon 0:cc002f2fad97 3 * Released under the MIT License: http://mbed.org/license/mit
simon 0:cc002f2fad97 4 */
simon 0:cc002f2fad97 5
simon 0:cc002f2fad97 6 #include "TextDisplay.h"
simon 0:cc002f2fad97 7
simon 0:cc002f2fad97 8 TextDisplay::TextDisplay() {
simon 0:cc002f2fad97 9 _row = 0;
simon 0:cc002f2fad97 10 _column = 0;
simon 0:cc002f2fad97 11 }
simon 0:cc002f2fad97 12
simon 0:cc002f2fad97 13 int TextDisplay::_putc(int value) {
simon 0:cc002f2fad97 14 if(value == '\n') {
simon 0:cc002f2fad97 15 _column = 0;
simon 0:cc002f2fad97 16 _row++;
simon 0:cc002f2fad97 17 if(_row >= rows()) {
simon 0:cc002f2fad97 18 _row = 0;
simon 0:cc002f2fad97 19 }
simon 0:cc002f2fad97 20 } else {
simon 0:cc002f2fad97 21 character(_column, _row, value);
simon 0:cc002f2fad97 22 _column++;
simon 0:cc002f2fad97 23 if(_column >= columns()) {
simon 0:cc002f2fad97 24 _column = 0;
simon 0:cc002f2fad97 25 _row++;
simon 0:cc002f2fad97 26 if(_row >= rows()) {
simon 0:cc002f2fad97 27 _row = 0;
simon 0:cc002f2fad97 28 }
simon 0:cc002f2fad97 29 }
simon 0:cc002f2fad97 30 }
simon 0:cc002f2fad97 31 return value;
simon 0:cc002f2fad97 32 }
simon 0:cc002f2fad97 33
simon 0:cc002f2fad97 34 void TextDisplay::cls() {
simon 0:cc002f2fad97 35 locate(0, 0);
simon 0:cc002f2fad97 36 for(int i=0; i<columns()*rows(); i++) {
simon 0:cc002f2fad97 37 putc(' ');
simon 0:cc002f2fad97 38 }
simon 0:cc002f2fad97 39 }
simon 0:cc002f2fad97 40
simon 0:cc002f2fad97 41 void TextDisplay::locate(int column, int row) {
simon 0:cc002f2fad97 42 _column = column;
simon 0:cc002f2fad97 43 _row = row;
simon 0:cc002f2fad97 44 }
simon 0:cc002f2fad97 45
simon 0:cc002f2fad97 46 int TextDisplay::_getc() {
simon 0:cc002f2fad97 47 return -1;
simon 0:cc002f2fad97 48 }
simon 0:cc002f2fad97 49
simon 0:cc002f2fad97 50 void TextDisplay::foreground(int colour) {
simon 0:cc002f2fad97 51 _foreground = colour;
simon 0:cc002f2fad97 52 }
simon 0:cc002f2fad97 53
simon 0:cc002f2fad97 54 void TextDisplay::background(int colour) {
simon 0:cc002f2fad97 55 _background = colour;
simon 0:cc002f2fad97 56 }