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:
Sat Jan 25 19:47:33 2014 +0000
Revision:
37:f19b7e7449dc
Parent:
36:300f6ee0b2cf
Child:
41:2956a0a221e5
major API tweak to use typedef's for pixel locations, dimensions, and text locations.

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
WiredHome 32:0e4f2ae512e2 16 #include "Bitmap.h"
dreschpe 0:de9d1462a835 17 #include "TextDisplay.h"
dreschpe 0:de9d1462a835 18
WiredHome 37:f19b7e7449dc 19 // GraphicsDisplay has one "soft font" which is in a different format
WiredHome 37:f19b7e7449dc 20 // then the primary font rendering api - see set_font(...). This is
WiredHome 37:f19b7e7449dc 21 // therefore deprecated, but preserved for a time for backward
WiredHome 37:f19b7e7449dc 22 // compatibility.
WiredHome 37:f19b7e7449dc 23 // #define LOCALFONT
WiredHome 37:f19b7e7449dc 24
WiredHome 37:f19b7e7449dc 25
WiredHome 32:0e4f2ae512e2 26 /// The GraphicsDisplay class
WiredHome 32:0e4f2ae512e2 27 ///
WiredHome 32:0e4f2ae512e2 28 /// This graphics display class supports both graphics and text operations.
WiredHome 32:0e4f2ae512e2 29 /// Typically, a subclass is derived from this which has localizations to
WiredHome 32:0e4f2ae512e2 30 /// adapt to a specific hardware platform (e.g. a display controller chip),
WiredHome 32:0e4f2ae512e2 31 /// that overrides methods in here to either add more capability or perhaps
WiredHome 32:0e4f2ae512e2 32 /// to improve performance, by leveraging specific hardware capabilities.
WiredHome 32:0e4f2ae512e2 33 ///
WiredHome 32:0e4f2ae512e2 34 class GraphicsDisplay : public TextDisplay
WiredHome 32:0e4f2ae512e2 35 {
WiredHome 32:0e4f2ae512e2 36 public:
WiredHome 32:0e4f2ae512e2 37 /// The constructor
dreschpe 0:de9d1462a835 38 GraphicsDisplay(const char* name);
WiredHome 32:0e4f2ae512e2 39
WiredHome 32:0e4f2ae512e2 40 /// Draw a pixel in the specified color.
WiredHome 32:0e4f2ae512e2 41 ///
WiredHome 32:0e4f2ae512e2 42 /// @note this method must be supported in the derived class.
WiredHome 32:0e4f2ae512e2 43 ///
WiredHome 32:0e4f2ae512e2 44 /// @param x is the horizontal offset to this pixel.
WiredHome 32:0e4f2ae512e2 45 /// @param y is the vertical offset to this pixel.
WiredHome 32:0e4f2ae512e2 46 /// @param color defines the color for the pixel.
WiredHome 32:0e4f2ae512e2 47 /// @returns success/failure code. @see RetCode_t.
WiredHome 32:0e4f2ae512e2 48 ///
WiredHome 37:f19b7e7449dc 49 virtual RetCode_t pixel(loc_t x, loc_t y, color_t color) = 0;
WiredHome 32:0e4f2ae512e2 50
WiredHome 32:0e4f2ae512e2 51 /// get the screen width in pixels
WiredHome 32:0e4f2ae512e2 52 ///
WiredHome 32:0e4f2ae512e2 53 /// @note this method must be supported in the derived class.
WiredHome 32:0e4f2ae512e2 54 ///
WiredHome 32:0e4f2ae512e2 55 /// @returns screen width in pixels.
WiredHome 32:0e4f2ae512e2 56 ///
WiredHome 32:0e4f2ae512e2 57 virtual uint16_t width() = 0;
WiredHome 32:0e4f2ae512e2 58
WiredHome 32:0e4f2ae512e2 59 /// get the screen height in pixels
WiredHome 32:0e4f2ae512e2 60 ///
WiredHome 32:0e4f2ae512e2 61 /// @note this method must be supported in the derived class.
WiredHome 32:0e4f2ae512e2 62 ///
WiredHome 32:0e4f2ae512e2 63 /// @returns screen height in pixels.
WiredHome 32:0e4f2ae512e2 64 ///
WiredHome 32:0e4f2ae512e2 65 virtual uint16_t height() = 0;
WiredHome 32:0e4f2ae512e2 66
WiredHome 32:0e4f2ae512e2 67 /// Prepare the controller to write binary data to the screen by positioning
WiredHome 32:0e4f2ae512e2 68 /// the memory cursor.
WiredHome 32:0e4f2ae512e2 69 ///
WiredHome 32:0e4f2ae512e2 70 /// @note this method must be supported in the derived class.
WiredHome 32:0e4f2ae512e2 71 ///
WiredHome 32:0e4f2ae512e2 72 /// @param x is the horizontal position in pixels (from the left edge)
WiredHome 32:0e4f2ae512e2 73 /// @param y is the vertical position in pixels (from the top edge)
WiredHome 32:0e4f2ae512e2 74 /// @returns success/failure code. @see RetCode_t.
WiredHome 32:0e4f2ae512e2 75 ///
WiredHome 37:f19b7e7449dc 76 virtual RetCode_t SetGraphicsCursor(loc_t x, loc_t y) = 0;
WiredHome 32:0e4f2ae512e2 77
WiredHome 32:0e4f2ae512e2 78 /// Draw a filled rectangle in the specified color
WiredHome 32:0e4f2ae512e2 79 ///
WiredHome 32:0e4f2ae512e2 80 /// @note As a side effect, this changes the current
WiredHome 32:0e4f2ae512e2 81 /// foreground color for subsequent operations.
WiredHome 32:0e4f2ae512e2 82 ///
WiredHome 32:0e4f2ae512e2 83 /// @note this method must be supported in the derived class.
WiredHome 32:0e4f2ae512e2 84 ///
WiredHome 32:0e4f2ae512e2 85 /// @param x1 is the horizontal start of the line.
WiredHome 32:0e4f2ae512e2 86 /// @param y1 is the vertical start of the line.
WiredHome 32:0e4f2ae512e2 87 /// @param x2 is the horizontal end of the line.
WiredHome 32:0e4f2ae512e2 88 /// @param y2 is the vertical end of the line.
WiredHome 32:0e4f2ae512e2 89 /// @param color defines the foreground color.
WiredHome 32:0e4f2ae512e2 90 /// @param fillit is optional to NOFILL the rectangle. default is FILL.
WiredHome 32:0e4f2ae512e2 91 /// @returns success/failure code. @see RetCode_t.
WiredHome 32:0e4f2ae512e2 92 ///
WiredHome 37:f19b7e7449dc 93 virtual RetCode_t fillrect(loc_t x1, loc_t y1, loc_t x2, loc_t y2,
WiredHome 32:0e4f2ae512e2 94 color_t color, fill_t fillit = FILL) = 0;
WiredHome 32:0e4f2ae512e2 95
WiredHome 32:0e4f2ae512e2 96
WiredHome 32:0e4f2ae512e2 97 virtual RetCode_t WriteCommand(unsigned char command, unsigned int data = 0xFFFF) = 0;
WiredHome 32:0e4f2ae512e2 98 virtual RetCode_t WriteData(unsigned char data) = 0;
WiredHome 32:0e4f2ae512e2 99
WiredHome 32:0e4f2ae512e2 100 /// Set the window, which controls where items are written to the screen.
WiredHome 32:0e4f2ae512e2 101 ///
WiredHome 32:0e4f2ae512e2 102 /// When something hits the window width, it wraps back to the left side
WiredHome 32:0e4f2ae512e2 103 /// and down a row. If the initial write is outside the window, it will
WiredHome 32:0e4f2ae512e2 104 /// be captured into the window when it crosses a boundary.
WiredHome 32:0e4f2ae512e2 105 ///
WiredHome 32:0e4f2ae512e2 106 /// @param x is the left edge in pixels.
WiredHome 32:0e4f2ae512e2 107 /// @param y is the top edge in pixels.
WiredHome 33:b6b710758ab3 108 /// @param w is the window width in pixels.
WiredHome 33:b6b710758ab3 109 /// @param h is the window height in pixels.
WiredHome 32:0e4f2ae512e2 110 /// @returns success/failure code. @see RetCode_t.
WiredHome 32:0e4f2ae512e2 111 ///
WiredHome 37:f19b7e7449dc 112 virtual RetCode_t window(loc_t x, loc_t y, dim_t w, dim_t h);
WiredHome 32:0e4f2ae512e2 113
WiredHome 32:0e4f2ae512e2 114 /// Clear the screen.
WiredHome 32:0e4f2ae512e2 115 ///
WiredHome 32:0e4f2ae512e2 116 /// The behavior is to clear the whole screen.
WiredHome 32:0e4f2ae512e2 117 ///
WiredHome 32:0e4f2ae512e2 118 /// @returns success/failure code. @see RetCode_t.
WiredHome 32:0e4f2ae512e2 119 ///
WiredHome 32:0e4f2ae512e2 120 virtual RetCode_t cls();
WiredHome 32:0e4f2ae512e2 121
WiredHome 32:0e4f2ae512e2 122
WiredHome 31:c72e12cd5c67 123 virtual void WindowMax(void);
dreschpe 0:de9d1462a835 124
WiredHome 32:0e4f2ae512e2 125 /// method to put a single color pixel to the screen.
WiredHome 32:0e4f2ae512e2 126 ///
WiredHome 32:0e4f2ae512e2 127 /// This method may be called as many times as necessary after
WiredHome 32:0e4f2ae512e2 128 /// @see _StartGraphicsStream() is called, and it should be followed
WiredHome 32:0e4f2ae512e2 129 /// by _EndGraphicsStream.
WiredHome 32:0e4f2ae512e2 130 ///
WiredHome 32:0e4f2ae512e2 131 /// @param pixel is a color value to be put on the screen.
WiredHome 32:0e4f2ae512e2 132 /// @returns error code.
WiredHome 32:0e4f2ae512e2 133 ///
WiredHome 32:0e4f2ae512e2 134 virtual RetCode_t putp(color_t pixel);
WiredHome 32:0e4f2ae512e2 135
WiredHome 32:0e4f2ae512e2 136
WiredHome 33:b6b710758ab3 137 virtual void fill(int x, int y, int w, int h, color_t color);
WiredHome 33:b6b710758ab3 138 virtual void blit(int x, int y, int w, int h, const int * color);
WiredHome 29:422616aa04bd 139
WiredHome 29:422616aa04bd 140 /// This method transfers one character from the external font data
WiredHome 29:422616aa04bd 141 /// to the screen.
WiredHome 29:422616aa04bd 142 ///
WiredHome 29:422616aa04bd 143 /// @note the font data is in a special format as generate by
WiredHome 29:422616aa04bd 144 /// the mikroe font creator. \\
WiredHome 29:422616aa04bd 145 /// See http://www.mikroe.com/glcd-font-creator/
WiredHome 29:422616aa04bd 146 ///
WiredHome 29:422616aa04bd 147 /// @param x is the horizontal pixel coordinate
WiredHome 29:422616aa04bd 148 /// @param y is the vertical pixel coordinate
WiredHome 29:422616aa04bd 149 /// @param fontTable is the base of the table which has the metrics
WiredHome 29:422616aa04bd 150 /// @param fontChar is the start of that record in the table for the char (e.g. 'A' - 'Z')
WiredHome 29:422616aa04bd 151 /// @returns how far the cursor should advance to the right in pixels
WiredHome 29:422616aa04bd 152 ///
WiredHome 29:422616aa04bd 153 virtual int fontblit(int x, int y, const unsigned char * fontTable, const unsigned char * fontChar);
WiredHome 29:422616aa04bd 154
WiredHome 32:0e4f2ae512e2 155 /// This method returns the color value from a palette.
WiredHome 32:0e4f2ae512e2 156 ///
WiredHome 32:0e4f2ae512e2 157 /// This method accepts a pointer to a Bitmap color palette, which
WiredHome 32:0e4f2ae512e2 158 /// is a table in memory composed of RGB Quad values (r, g, b, 0),
WiredHome 32:0e4f2ae512e2 159 /// and an index into that table. It then extracts the color information
WiredHome 32:0e4f2ae512e2 160 /// and downsamples it to a color_t value which it returns.
WiredHome 32:0e4f2ae512e2 161 ///
WiredHome 32:0e4f2ae512e2 162 /// @note This method probably has very little value outside of
WiredHome 32:0e4f2ae512e2 163 /// the internal methods for reading BMP files.
WiredHome 32:0e4f2ae512e2 164 ///
WiredHome 32:0e4f2ae512e2 165 /// @param colorPalette is the handle to the color palette to use.
WiredHome 32:0e4f2ae512e2 166 /// @param i is the index into the color palette.
WiredHome 32:0e4f2ae512e2 167 /// @returns the color in color_t format.
WiredHome 32:0e4f2ae512e2 168 ///
WiredHome 32:0e4f2ae512e2 169 color_t RGBQuadToRGB16(RGBQUAD * colorPalette, uint16_t i);
WiredHome 32:0e4f2ae512e2 170
WiredHome 31:c72e12cd5c67 171 /// This method reads a disk file that is in bitmap format and
WiredHome 31:c72e12cd5c67 172 /// puts it on the screen.
WiredHome 31:c72e12cd5c67 173 ///
WiredHome 36:300f6ee0b2cf 174 /// Supported formats:
WiredHome 36:300f6ee0b2cf 175 /// \li 4-bit color format (16 colors)
WiredHome 36:300f6ee0b2cf 176 /// \li 8-bit color format (256 colors)
WiredHome 36:300f6ee0b2cf 177 /// \li 16-bit color format (65k colors)
WiredHome 36:300f6ee0b2cf 178 /// \li compression: no.
WiredHome 36:300f6ee0b2cf 179 ///
WiredHome 36:300f6ee0b2cf 180 /// @note This is a slow operation, typically due to the use of
WiredHome 36:300f6ee0b2cf 181 /// the file system, and partially because bmp files
WiredHome 31:c72e12cd5c67 182 /// are stored from the bottom up, and the memory is written
WiredHome 32:0e4f2ae512e2 183 /// from the top down; as a result, it constantly 'seeks'
WiredHome 32:0e4f2ae512e2 184 /// on the file system for the next row of information.
WiredHome 31:c72e12cd5c67 185 ///
WiredHome 34:c99ec28fac66 186 /// As a performance test, a sample picture was timed. A family picture
WiredHome 34:c99ec28fac66 187 /// was converted to Bitmap format; shrunk to 352 x 272 pixels and save
WiredHome 34:c99ec28fac66 188 /// in 8-bit color format. The resulting file size was 94.5 KByte.
WiredHome 34:c99ec28fac66 189 /// The SPI port interface was set to 20 MHz.
WiredHome 34:c99ec28fac66 190 /// The original bitmap rendering software was purely in software,
WiredHome 34:c99ec28fac66 191 /// pushing 1 pixel at a time to the write function, which did use SPI
WiredHome 34:c99ec28fac66 192 /// hardware (not pin wiggling) to transfer commands and data to the
WiredHome 34:c99ec28fac66 193 /// display. Then, the driver was improved to leverage the capability
WiredHome 34:c99ec28fac66 194 /// of the derived display driver. As a final check, instead of the
WiredHome 34:c99ec28fac66 195 /// [known slow] local file system, a randomly chosen USB stick was
WiredHome 34:c99ec28fac66 196 /// used. The performance results are impressive (but depend on the
WiredHome 34:c99ec28fac66 197 /// listed factors).
WiredHome 34:c99ec28fac66 198 ///
WiredHome 35:7dcab9e3ab25 199 /// \li 34 seconds, LocalFileSystem, Software Rendering
WiredHome 35:7dcab9e3ab25 200 /// \li 9 seconds, LocalFileSystem, Hardware Rending for RA8875
WiredHome 35:7dcab9e3ab25 201 /// \li 3 seconds, MSCFileSystem, Hardware Rendering for RA8875
WiredHome 34:c99ec28fac66 202 ///
WiredHome 31:c72e12cd5c67 203 /// @param x is the horizontal pixel coordinate
WiredHome 31:c72e12cd5c67 204 /// @param y is the vertical pixel coordinate
WiredHome 31:c72e12cd5c67 205 /// @param Name_BMP is the filename on the local file system.
WiredHome 31:c72e12cd5c67 206 /// @returns success or error code.
WiredHome 31:c72e12cd5c67 207 ///
WiredHome 37:f19b7e7449dc 208 RetCode_t RenderBitmapFile(loc_t x, loc_t y, const char *Name_BMP);
WiredHome 31:c72e12cd5c67 209
WiredHome 29:422616aa04bd 210 /// prints one character at the specified coordinates.
WiredHome 29:422616aa04bd 211 ///
WiredHome 29:422616aa04bd 212 /// This will print the character at the specified pixel coordinates.
WiredHome 29:422616aa04bd 213 ///
WiredHome 29:422616aa04bd 214 /// @param x is the horizontal offset in pixels.
WiredHome 29:422616aa04bd 215 /// @param y is the vertical offset in pixels.
WiredHome 29:422616aa04bd 216 /// @param value is the character to print.
WiredHome 29:422616aa04bd 217 /// @returns number of pixels to index to the right if a character was printed, 0 otherwise.
WiredHome 29:422616aa04bd 218 ///
WiredHome 29:422616aa04bd 219 virtual int character(int x, int y, int value);
WiredHome 29:422616aa04bd 220
WiredHome 32:0e4f2ae512e2 221 /// get the number of colums based on the currently active font
WiredHome 32:0e4f2ae512e2 222 ///
WiredHome 32:0e4f2ae512e2 223 /// @returns number of columns.
WiredHome 32:0e4f2ae512e2 224 ///
WiredHome 32:0e4f2ae512e2 225 virtual int columns(void);
WiredHome 32:0e4f2ae512e2 226
WiredHome 32:0e4f2ae512e2 227 /// get the number of rows based on the currently active font
WiredHome 32:0e4f2ae512e2 228 ///
WiredHome 32:0e4f2ae512e2 229 /// @returns number of rows.
WiredHome 32:0e4f2ae512e2 230 ///
WiredHome 32:0e4f2ae512e2 231 virtual int rows(void);
WiredHome 32:0e4f2ae512e2 232
WiredHome 36:300f6ee0b2cf 233 /// Select a bitmap font (provided by the user) for all subsequent text
WiredHome 36:300f6ee0b2cf 234 /// rendering.
WiredHome 36:300f6ee0b2cf 235 ///
WiredHome 36:300f6ee0b2cf 236 /// This API permits selection of a special memory mapped font, which
WiredHome 36:300f6ee0b2cf 237 /// enables the presentation of many font sizes and styles, including
WiredHome 36:300f6ee0b2cf 238 /// proportional fonts.
WiredHome 32:0e4f2ae512e2 239 ///
WiredHome 32:0e4f2ae512e2 240 /// @note Tool to create the fonts is accessible from its creator
WiredHome 36:300f6ee0b2cf 241 /// available at http://www.mikroe.com.
WiredHome 36:300f6ee0b2cf 242 /// Hint: Change the data to an array of type char[].
WiredHome 32:0e4f2ae512e2 243 ///
WiredHome 32:0e4f2ae512e2 244 /// This special font array has a 4-byte header, followed by
WiredHome 32:0e4f2ae512e2 245 /// the data:
WiredHome 36:300f6ee0b2cf 246 /// \li the number of bytes per char
WiredHome 36:300f6ee0b2cf 247 /// \li the vertical size in pixels for each character
WiredHome 36:300f6ee0b2cf 248 /// \li the horizontal size in pixels for each character
WiredHome 36:300f6ee0b2cf 249 /// \li the number of bytes per vertical line (width of the array)
WiredHome 36:300f6ee0b2cf 250 /// \li the subsequent records are the font information.
WiredHome 36:300f6ee0b2cf 251 ///
WiredHome 36:300f6ee0b2cf 252 /// @param font is a pointer to a specially formed font array.
WiredHome 36:300f6ee0b2cf 253 /// NULL, or the omission of this parameter will restore the default
WiredHome 36:300f6ee0b2cf 254 /// font capability, which may use the display controllers hardware
WiredHome 36:300f6ee0b2cf 255 /// font (if available), or no font.
WiredHome 32:0e4f2ae512e2 256 /// @returns error code.
WiredHome 32:0e4f2ae512e2 257 ///
WiredHome 29:422616aa04bd 258 virtual RetCode_t set_font(const unsigned char * font = NULL);
WiredHome 32:0e4f2ae512e2 259
WiredHome 32:0e4f2ae512e2 260 protected:
WiredHome 32:0e4f2ae512e2 261
WiredHome 32:0e4f2ae512e2 262 /// Pure virtual method indicating the start of a graphics stream.
WiredHome 32:0e4f2ae512e2 263 ///
WiredHome 32:0e4f2ae512e2 264 /// This is called prior to a stream of pixel data being sent.
WiredHome 32:0e4f2ae512e2 265 /// This may cause register configuration changes in the derived
WiredHome 32:0e4f2ae512e2 266 /// class in order to prepare the hardware to accept the streaming
WiredHome 32:0e4f2ae512e2 267 /// data.
WiredHome 32:0e4f2ae512e2 268 ///
WiredHome 32:0e4f2ae512e2 269 /// @note this method must be supported in the derived class.
WiredHome 32:0e4f2ae512e2 270 ///
WiredHome 32:0e4f2ae512e2 271 /// @returns error code.
WiredHome 32:0e4f2ae512e2 272 ///
WiredHome 32:0e4f2ae512e2 273 virtual RetCode_t _StartGraphicsStream(void) = 0;
dreschpe 0:de9d1462a835 274
WiredHome 32:0e4f2ae512e2 275 /// Pure virtual method indicating the end of a graphics stream.
WiredHome 32:0e4f2ae512e2 276 ///
WiredHome 32:0e4f2ae512e2 277 /// This is called to conclude a stream of pixel data that was sent.
WiredHome 32:0e4f2ae512e2 278 /// This may cause register configuration changes in the derived
WiredHome 32:0e4f2ae512e2 279 /// class in order to stop the hardware from accept the streaming
WiredHome 32:0e4f2ae512e2 280 /// data.
WiredHome 32:0e4f2ae512e2 281 ///
WiredHome 32:0e4f2ae512e2 282 /// @note this method must be supported in the derived class.
WiredHome 32:0e4f2ae512e2 283 ///
WiredHome 32:0e4f2ae512e2 284 /// @returns error code.
WiredHome 32:0e4f2ae512e2 285 ///
WiredHome 32:0e4f2ae512e2 286 virtual RetCode_t _EndGraphicsStream(void) = 0;
WiredHome 32:0e4f2ae512e2 287
WiredHome 37:f19b7e7449dc 288 #ifdef LOCALFONT
WiredHome 37:f19b7e7449dc 289 virtual int blitbit(int x, int y, int w, int h, const char * color);
WiredHome 37:f19b7e7449dc 290 #endif
WiredHome 37:f19b7e7449dc 291
WiredHome 29:422616aa04bd 292 const unsigned char * font; ///< reference to an external font somewhere in memory
WiredHome 29:422616aa04bd 293
dreschpe 0:de9d1462a835 294 // pixel location
dreschpe 0:de9d1462a835 295 short _x;
dreschpe 0:de9d1462a835 296 short _y;
dreschpe 0:de9d1462a835 297
dreschpe 0:de9d1462a835 298 // window location
dreschpe 0:de9d1462a835 299 short _x1;
dreschpe 0:de9d1462a835 300 short _x2;
dreschpe 0:de9d1462a835 301 short _y1;
dreschpe 0:de9d1462a835 302 short _y2;
dreschpe 0:de9d1462a835 303 };
dreschpe 0:de9d1462a835 304
dreschpe 0:de9d1462a835 305 #endif
WiredHome 33:b6b710758ab3 306