Simon Ford
/
displays
TextDisplay.h@0:cc002f2fad97, 2009-09-15 (annotated)
- Committer:
- simon
- Date:
- Tue Sep 15 10:02:04 2009 +0000
- Revision:
- 0:cc002f2fad97
Who changed what in which revision?
User | Revision | Line number | New 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 |