library for Sharp memory LCD (LS027B4DH01)
Dependents: Sharp_Memory_LCD_Test Sharp_Memory_LCD_Test
TextDisplay.h
00001 /* mbed TextDisplay Library Base Class 00002 * Copyright (c) 2007-2009 sford 00003 * Released under the MIT License: http://mbed.org/license/mit 00004 * 00005 * A common base class for Text displays 00006 * To port a new display, derive from this class and implement 00007 * the constructor (setup the display), character (put a character 00008 * at a location), rows and columns (number of rows/cols) functions. 00009 * Everything else (locate, printf, putc, cls) will come for free 00010 * 00011 * The model is the display will wrap at the right and bottom, so you can 00012 * keep writing and will always get valid characters. The location is 00013 * maintained internally to the class to make this easy 00014 */ 00015 00016 #ifndef MBED_TEXTDISPLAY_H 00017 #define MBED_TEXTDISPLAY_H 00018 00019 #include "mbed.h" 00020 00021 class TextDisplay : public Stream { 00022 public: 00023 00024 // functions needing implementation in derived implementation class 00025 /** Create a TextDisplay interface 00026 * 00027 * @param name The name used in the path to access the strean through the filesystem 00028 */ 00029 TextDisplay(const char *name = NULL); 00030 00031 /** output a character at the given position 00032 * 00033 * @param column column where charater must be written 00034 * @param row where character must be written 00035 * @param c the character to be written to the TextDisplay 00036 */ 00037 virtual void character(int column, int row, int c) = 0; 00038 00039 /** return number if rows on TextDisplay 00040 * @result number of rows 00041 */ 00042 virtual int rows() = 0; 00043 00044 /** return number if columns on TextDisplay 00045 * @result number of rows 00046 */ 00047 virtual int columns() = 0; 00048 00049 // functions that come for free, but can be overwritten 00050 00051 /** redirect output from a stream (stoud, sterr) to display 00052 * @param stream stream that shall be redirected to the TextDisplay 00053 */ 00054 virtual bool claim (FILE *stream); 00055 00056 /** clear screen 00057 */ 00058 virtual void cls(); 00059 virtual void locate(int column, int row); 00060 virtual void foreground(uint16_t colour); 00061 virtual void background(uint16_t colour); 00062 // putc (from Stream) 00063 // printf (from Stream) 00064 00065 protected: 00066 00067 virtual int _putc(int value); 00068 virtual int _getc(); 00069 00070 // character location 00071 uint16_t _column; 00072 uint16_t _row; 00073 00074 // colours 00075 uint16_t _foreground; 00076 uint16_t _background; 00077 char *_path; 00078 }; 00079 00080 #endif
Generated on Tue Jul 12 2022 20:55:35 by 1.7.2