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 * A common base class for Text displays
simon 0:cc002f2fad97 6 * To port a new display, derive from this class and implement
simon 0:cc002f2fad97 7 * the constructor (setup the display), character (put a character
simon 0:cc002f2fad97 8 * at a location), rows and columns functions. Everything else
simon 0:cc002f2fad97 9 * (locate, printf, putc, cls) will come for free
simon 0:cc002f2fad97 10 */
simon 0:cc002f2fad97 11
simon 0:cc002f2fad97 12 #ifndef MBED_TEXTDISPLAY_H
simon 0:cc002f2fad97 13 #define MBED_TEXTDISPLAY_H
simon 0:cc002f2fad97 14
simon 0:cc002f2fad97 15 #include "mbed.h"
simon 0:cc002f2fad97 16
simon 0:cc002f2fad97 17 class TextDisplay : public Stream {
simon 0:cc002f2fad97 18 public:
simon 0:cc002f2fad97 19
simon 0:cc002f2fad97 20 // functions to implement in derived class
simon 0:cc002f2fad97 21 TextDisplay();
simon 0:cc002f2fad97 22 virtual void character(int column, int row, int c) = 0;
simon 0:cc002f2fad97 23 virtual int rows() = 0;
simon 0:cc002f2fad97 24 virtual int columns() = 0;
simon 0:cc002f2fad97 25
simon 0:cc002f2fad97 26 virtual void cls();
simon 0:cc002f2fad97 27 virtual void locate(int column, int row);
simon 0:cc002f2fad97 28 virtual void foreground(int colour);
simon 0:cc002f2fad97 29 virtual void background(int colour);
simon 0:cc002f2fad97 30 // putc, printf also available from Stream
simon 0:cc002f2fad97 31
simon 0:cc002f2fad97 32 protected:
simon 0:cc002f2fad97 33
simon 0:cc002f2fad97 34 virtual int _putc(int value);
simon 0:cc002f2fad97 35 virtual int _getc();
simon 0:cc002f2fad97 36
simon 0:cc002f2fad97 37 // character location
simon 0:cc002f2fad97 38 short _column;
simon 0:cc002f2fad97 39 short _row;
simon 0:cc002f2fad97 40
simon 0:cc002f2fad97 41 // colours
simon 0:cc002f2fad97 42 int _foreground;
simon 0:cc002f2fad97 43 int _background;
simon 0:cc002f2fad97 44 };
simon 0:cc002f2fad97 45
simon 0:cc002f2fad97 46 #endif