Library to control a Graphics TFT connected to 4-wire SPI - revised for the Raio RA8875 Display Controller.

Dependents:   FRDM_RA8875_mPaint RA8875_Demo RA8875_KeyPadDemo SignalGenerator ... more

Fork of SPI_TFT by Peter Drescher

See Components - RA8875 Based Display

Enhanced touch-screen support - where it previous supported both the Resistive Touch and Capacitive Touch based on the FT5206 Touch Controller, now it also has support for the GSL1680 Touch Controller.

Offline Help Manual (Windows chm)

/media/uploads/WiredHome/ra8875.zip.bin (download, rename to .zip and unzip)

Committer:
WiredHome
Date:
Mon Jan 20 19:19:48 2014 +0000
Revision:
31:c72e12cd5c67
Parent:
29:422616aa04bd
Child:
32:0e4f2ae512e2
Support for Bitmap graphics (tested 4-bit and 8-bit formats, have not tested 1-bit or 24-bit).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dreschpe 0:de9d1462a835 1 /* mbed GraphicsDisplay Display Library Base Class
dreschpe 0:de9d1462a835 2 * Copyright (c) 2007-2009 sford
dreschpe 0:de9d1462a835 3 * Released under the MIT License: http://mbed.org/license/mit
dreschpe 0:de9d1462a835 4 *
dreschpe 0:de9d1462a835 5 * A library for providing a common base class for Graphics displays
dreschpe 0:de9d1462a835 6 * To port a new display, derive from this class and implement
dreschpe 0:de9d1462a835 7 * the constructor (setup the display), pixel (put a pixel
dreschpe 0:de9d1462a835 8 * at a location), width and height functions. Everything else
dreschpe 0:de9d1462a835 9 * (locate, printf, putc, cls, window, putp, fill, blit, blitbit)
dreschpe 0:de9d1462a835 10 * will come for free. You can also provide a specialised implementation
dreschpe 0:de9d1462a835 11 * of window and putp to speed up the results
dreschpe 0:de9d1462a835 12 */
dreschpe 0:de9d1462a835 13
dreschpe 0:de9d1462a835 14 #ifndef MBED_GRAPHICSDISPLAY_H
dreschpe 0:de9d1462a835 15 #define MBED_GRAPHICSDISPLAY_H
dreschpe 0:de9d1462a835 16
dreschpe 0:de9d1462a835 17 #include "TextDisplay.h"
dreschpe 0:de9d1462a835 18
dreschpe 0:de9d1462a835 19 class GraphicsDisplay : public TextDisplay {
dreschpe 0:de9d1462a835 20
dreschpe 0:de9d1462a835 21 public:
dreschpe 0:de9d1462a835 22
dreschpe 0:de9d1462a835 23 GraphicsDisplay(const char* name);
dreschpe 0:de9d1462a835 24
WiredHome 19:3f82c1161fd2 25 virtual RetCode_t pixel(unsigned int x, unsigned int y, color_t colour) = 0;
dreschpe 0:de9d1462a835 26 virtual int width() = 0;
dreschpe 0:de9d1462a835 27 virtual int height() = 0;
dreschpe 0:de9d1462a835 28
dreschpe 11:9bb71766cafc 29 virtual void window(unsigned int x,unsigned int y,unsigned int w,unsigned int h);
WiredHome 31:c72e12cd5c67 30 virtual void WindowMax(void);
WiredHome 31:c72e12cd5c67 31 virtual void putp(color_t colour);
dreschpe 0:de9d1462a835 32
WiredHome 19:3f82c1161fd2 33 virtual RetCode_t cls();
WiredHome 31:c72e12cd5c67 34 virtual void fill(int x, int y, int w, int h, color_t colour);
WiredHome 29:422616aa04bd 35 virtual void blit(int x, int y, int w, int h, const int * colour);
WiredHome 29:422616aa04bd 36
WiredHome 29:422616aa04bd 37 virtual int blitbit(int x, int y, int w, int h, const char * colour);
dreschpe 0:de9d1462a835 38
WiredHome 29:422616aa04bd 39 /// This method transfers one character from the external font data
WiredHome 29:422616aa04bd 40 /// to the screen.
WiredHome 29:422616aa04bd 41 ///
WiredHome 29:422616aa04bd 42 /// @note the font data is in a special format as generate by
WiredHome 29:422616aa04bd 43 /// the mikroe font creator. \\
WiredHome 29:422616aa04bd 44 /// See http://www.mikroe.com/glcd-font-creator/
WiredHome 29:422616aa04bd 45 ///
WiredHome 29:422616aa04bd 46 /// @param x is the horizontal pixel coordinate
WiredHome 29:422616aa04bd 47 /// @param y is the vertical pixel coordinate
WiredHome 29:422616aa04bd 48 /// @param fontTable is the base of the table which has the metrics
WiredHome 29:422616aa04bd 49 /// @param fontChar is the start of that record in the table for the char (e.g. 'A' - 'Z')
WiredHome 29:422616aa04bd 50 /// @returns how far the cursor should advance to the right in pixels
WiredHome 29:422616aa04bd 51 ///
WiredHome 29:422616aa04bd 52 virtual int fontblit(int x, int y, const unsigned char * fontTable, const unsigned char * fontChar);
WiredHome 29:422616aa04bd 53
WiredHome 31:c72e12cd5c67 54 /// This method reads a disk file that is in bitmap format and
WiredHome 31:c72e12cd5c67 55 /// puts it on the screen.
WiredHome 31:c72e12cd5c67 56 ///
WiredHome 31:c72e12cd5c67 57 /// @note This only reads 16-bit bitmap format.
WiredHome 31:c72e12cd5c67 58 /// @note This is a slow operation, partially due to the use of
WiredHome 31:c72e12cd5c67 59 /// the local file system, and partially because bmp files
WiredHome 31:c72e12cd5c67 60 /// are stored from the bottom up, and the memory is written
WiredHome 31:c72e12cd5c67 61 /// from the top down.
WiredHome 31:c72e12cd5c67 62 ///
WiredHome 31:c72e12cd5c67 63 /// @param x is the horizontal pixel coordinate
WiredHome 31:c72e12cd5c67 64 /// @param y is the vertical pixel coordinate
WiredHome 31:c72e12cd5c67 65 /// @param Name_BMP is the filename on the local file system.
WiredHome 31:c72e12cd5c67 66 /// @returns success or error code.
WiredHome 31:c72e12cd5c67 67 ///
WiredHome 31:c72e12cd5c67 68 RetCode_t BMP_16(unsigned int x, unsigned int y, const char *Name_BMP);
WiredHome 31:c72e12cd5c67 69
WiredHome 29:422616aa04bd 70 /// prints one character at the specified coordinates.
WiredHome 29:422616aa04bd 71 ///
WiredHome 29:422616aa04bd 72 /// This will print the character at the specified pixel coordinates.
WiredHome 29:422616aa04bd 73 ///
WiredHome 29:422616aa04bd 74 /// @param x is the horizontal offset in pixels.
WiredHome 29:422616aa04bd 75 /// @param y is the vertical offset in pixels.
WiredHome 29:422616aa04bd 76 /// @param value is the character to print.
WiredHome 29:422616aa04bd 77 /// @returns number of pixels to index to the right if a character was printed, 0 otherwise.
WiredHome 29:422616aa04bd 78 ///
WiredHome 29:422616aa04bd 79 virtual int character(int x, int y, int value);
WiredHome 29:422616aa04bd 80
dreschpe 0:de9d1462a835 81 virtual int columns();
dreschpe 0:de9d1462a835 82 virtual int rows();
WiredHome 29:422616aa04bd 83 virtual RetCode_t set_font(const unsigned char * font = NULL);
dreschpe 0:de9d1462a835 84
dreschpe 0:de9d1462a835 85 protected:
WiredHome 29:422616aa04bd 86 const unsigned char * font; ///< reference to an external font somewhere in memory
WiredHome 29:422616aa04bd 87
dreschpe 0:de9d1462a835 88 // pixel location
dreschpe 0:de9d1462a835 89 short _x;
dreschpe 0:de9d1462a835 90 short _y;
dreschpe 0:de9d1462a835 91
dreschpe 0:de9d1462a835 92 // window location
dreschpe 0:de9d1462a835 93 short _x1;
dreschpe 0:de9d1462a835 94 short _x2;
dreschpe 0:de9d1462a835 95 short _y1;
dreschpe 0:de9d1462a835 96 short _y2;
dreschpe 0:de9d1462a835 97 };
dreschpe 0:de9d1462a835 98
dreschpe 0:de9d1462a835 99 #endif