Juan Loreto / Mbed 2 deprecated Nucleo-F411RE-LGDP4535_TFT_Demo

Dependencies:   mbed

Committer:
jloreto
Date:
Sun Aug 23 15:50:19 2015 +0000
Revision:
0:e67bf8f398ee
This program is to test MCU Friend shield based on LGDP4535 in Nucleo-F411RE board.; Libraries modified from Unigraphic Library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jloreto 0:e67bf8f398ee 1 /* mbed GraphicsDisplay Display Library Base Class
jloreto 0:e67bf8f398ee 2 * Copyright (c) 2007-2009 sford
jloreto 0:e67bf8f398ee 3 * Released under the MIT License: http://mbed.org/license/mit
jloreto 0:e67bf8f398ee 4 *
jloreto 0:e67bf8f398ee 5 * A library for providing a common base class for Graphics displays
jloreto 0:e67bf8f398ee 6 * To port a new display, derive from this class and implement
jloreto 0:e67bf8f398ee 7 * the constructor (setup the display), pixel (put a pixel
jloreto 0:e67bf8f398ee 8 * at a location), width and height functions. Everything else
jloreto 0:e67bf8f398ee 9 * (locate, printf, putc, cls, window, putp, fill, blit, blitbit)
jloreto 0:e67bf8f398ee 10 * will come for free. You can also provide a specialised implementation
jloreto 0:e67bf8f398ee 11 * of window and putp to speed up the results
jloreto 0:e67bf8f398ee 12 */
jloreto 0:e67bf8f398ee 13
jloreto 0:e67bf8f398ee 14 #ifndef MBED_GRAPHICSDISPLAY_H
jloreto 0:e67bf8f398ee 15 #define MBED_GRAPHICSDISPLAY_H
jloreto 0:e67bf8f398ee 16
jloreto 0:e67bf8f398ee 17 #include "TextDisplay.h"
jloreto 0:e67bf8f398ee 18 #include "Terminal6x8.h"
jloreto 0:e67bf8f398ee 19
jloreto 0:e67bf8f398ee 20
jloreto 0:e67bf8f398ee 21
jloreto 0:e67bf8f398ee 22 /* some RGB color definitions */
jloreto 0:e67bf8f398ee 23 #define Black 0x0000 /* 0, 0, 0 */
jloreto 0:e67bf8f398ee 24 #define Navy 0x000F /* 0, 0, 128 */
jloreto 0:e67bf8f398ee 25 #define DarkGreen 0x03E0 /* 0, 128, 0 */
jloreto 0:e67bf8f398ee 26 #define DarkCyan 0x03EF /* 0, 128, 128 */
jloreto 0:e67bf8f398ee 27 #define Maroon 0x7800 /* 128, 0, 0 */
jloreto 0:e67bf8f398ee 28 #define Purple 0x780F /* 128, 0, 128 */
jloreto 0:e67bf8f398ee 29 #define Olive 0x7BE0 /* 128, 128, 0 */
jloreto 0:e67bf8f398ee 30 #define LightGrey 0xC618 /* 192, 192, 192 */
jloreto 0:e67bf8f398ee 31 #define DarkGrey 0x7BEF /* 128, 128, 128 */
jloreto 0:e67bf8f398ee 32 #define Blue 0x001F /* 0, 0, 255 */
jloreto 0:e67bf8f398ee 33 #define Green 0x07E0 /* 0, 255, 0 */
jloreto 0:e67bf8f398ee 34 #define Cyan 0x07FF /* 0, 255, 255 */
jloreto 0:e67bf8f398ee 35 #define Red 0xF800 /* 255, 0, 0 */
jloreto 0:e67bf8f398ee 36 #define Magenta 0xF81F /* 255, 0, 255 */
jloreto 0:e67bf8f398ee 37 #define Yellow 0xFFE0 /* 255, 255, 0 */
jloreto 0:e67bf8f398ee 38 #define White 0xFFFF /* 255, 255, 255 */
jloreto 0:e67bf8f398ee 39 #define Orange 0xFD20 /* 255, 165, 0 */
jloreto 0:e67bf8f398ee 40 #define GreenYellow 0xAFE5 /* 173, 255, 47 */
jloreto 0:e67bf8f398ee 41
jloreto 0:e67bf8f398ee 42 /** Bitmap
jloreto 0:e67bf8f398ee 43 */
jloreto 0:e67bf8f398ee 44 struct Bitmap_s{
jloreto 0:e67bf8f398ee 45 int xSize;
jloreto 0:e67bf8f398ee 46 int ySize;
jloreto 0:e67bf8f398ee 47 int Byte_in_Line;
jloreto 0:e67bf8f398ee 48 char* data;
jloreto 0:e67bf8f398ee 49 };
jloreto 0:e67bf8f398ee 50
jloreto 0:e67bf8f398ee 51 /** A common base class for Graphics displays
jloreto 0:e67bf8f398ee 52 */
jloreto 0:e67bf8f398ee 53 class GraphicsDisplay : public TextDisplay {
jloreto 0:e67bf8f398ee 54
jloreto 0:e67bf8f398ee 55 public:
jloreto 0:e67bf8f398ee 56
jloreto 0:e67bf8f398ee 57 /** Create a GraphicsDisplay interface
jloreto 0:e67bf8f398ee 58 * @param name The name used by the parent class to access the interface
jloreto 0:e67bf8f398ee 59 */
jloreto 0:e67bf8f398ee 60 GraphicsDisplay(const char* name);
jloreto 0:e67bf8f398ee 61
jloreto 0:e67bf8f398ee 62 ////// functions needing implementation in derived implementation class ///////////////////////////////////////
jloreto 0:e67bf8f398ee 63 ////// ---------------------------------------------------------------- ///////////////////////////////////////
jloreto 0:e67bf8f398ee 64
jloreto 0:e67bf8f398ee 65 /** Draw a pixel in the specified color.
jloreto 0:e67bf8f398ee 66 * @note this method must be supported in the derived class.
jloreto 0:e67bf8f398ee 67 * @param x is the horizontal offset to this pixel.
jloreto 0:e67bf8f398ee 68 * @param y is the vertical offset to this pixel.
jloreto 0:e67bf8f398ee 69 * @param color defines the color for the pixel.
jloreto 0:e67bf8f398ee 70 */
jloreto 0:e67bf8f398ee 71 virtual void pixel(int x, int y, unsigned short color) = 0;
jloreto 0:e67bf8f398ee 72
jloreto 0:e67bf8f398ee 73 /** Set the window, which controls where items are written to the screen.
jloreto 0:e67bf8f398ee 74 * When something hits the window width, it wraps back to the left side
jloreto 0:e67bf8f398ee 75 * and down a row. If the initial write is outside the window, it will
jloreto 0:e67bf8f398ee 76 * be captured into the window when it crosses a boundary.
jloreto 0:e67bf8f398ee 77 * @param x is the left edge in pixels.
jloreto 0:e67bf8f398ee 78 * @param y is the top edge in pixels.
jloreto 0:e67bf8f398ee 79 * @param w is the window width in pixels.
jloreto 0:e67bf8f398ee 80 * @param h is the window height in pixels.
jloreto 0:e67bf8f398ee 81 * @note this method must be overridden in a derived class.
jloreto 0:e67bf8f398ee 82 */
jloreto 0:e67bf8f398ee 83 virtual void window(int x, int y, int w, int h) = 0;
jloreto 0:e67bf8f398ee 84
jloreto 0:e67bf8f398ee 85 /** Push a single pixel into the window and increment position.
jloreto 0:e67bf8f398ee 86 * You may first call window() then push pixels in loop.
jloreto 0:e67bf8f398ee 87 * @param color is the pixel color.
jloreto 0:e67bf8f398ee 88 * @note this method must be overridden in a derived class.
jloreto 0:e67bf8f398ee 89 */
jloreto 0:e67bf8f398ee 90 virtual void window_pushpixel(unsigned short color) = 0;
jloreto 0:e67bf8f398ee 91
jloreto 0:e67bf8f398ee 92 /** Push some pixels of the same color into the window and increment position.
jloreto 0:e67bf8f398ee 93 * You must first call window() then push pixels.
jloreto 0:e67bf8f398ee 94 * @param color is the pixel color.
jloreto 0:e67bf8f398ee 95 * @param count: how many
jloreto 0:e67bf8f398ee 96 */
jloreto 0:e67bf8f398ee 97 virtual void window_pushpixel(unsigned short color, unsigned int count) = 0;
jloreto 0:e67bf8f398ee 98
jloreto 0:e67bf8f398ee 99 /** Push array of pixel colors into the window and increment position.
jloreto 0:e67bf8f398ee 100 * You must first call window() then push pixels.
jloreto 0:e67bf8f398ee 101 * @param color is the pixel color.
jloreto 0:e67bf8f398ee 102 */
jloreto 0:e67bf8f398ee 103 virtual void window_pushpixelbuf(unsigned short* color, unsigned int lenght) = 0;
jloreto 0:e67bf8f398ee 104
jloreto 0:e67bf8f398ee 105 /** If framebuffer is used, it needs to be sent to LCD from time to time
jloreto 0:e67bf8f398ee 106 @note this method must be overridden in a derived class.
jloreto 0:e67bf8f398ee 107 @note real function for LCD, dummy for TFT
jloreto 0:e67bf8f398ee 108 */
jloreto 0:e67bf8f398ee 109 virtual void copy_to_lcd() = 0;
jloreto 0:e67bf8f398ee 110
jloreto 0:e67bf8f398ee 111 /////// functions that come for free, but can be overwritten///////////////////////////////////////////////////
jloreto 0:e67bf8f398ee 112 /////// ----------------------------------------------------///////////////////////////////////////////////////
jloreto 0:e67bf8f398ee 113
jloreto 0:e67bf8f398ee 114 /** Set window to max possible size
jloreto 0:e67bf8f398ee 115 * May be overridden in a derived class.
jloreto 0:e67bf8f398ee 116 */
jloreto 0:e67bf8f398ee 117 virtual void WindowMax(void);
jloreto 0:e67bf8f398ee 118
jloreto 0:e67bf8f398ee 119 /** clear the entire screen
jloreto 0:e67bf8f398ee 120 * Basically it sets windomax then fill with background color
jloreto 0:e67bf8f398ee 121 * May be overridden in a derived class.
jloreto 0:e67bf8f398ee 122 */
jloreto 0:e67bf8f398ee 123 virtual void cls();
jloreto 0:e67bf8f398ee 124
jloreto 0:e67bf8f398ee 125 /** draw a circle
jloreto 0:e67bf8f398ee 126 *
jloreto 0:e67bf8f398ee 127 * @param x0,y0 center
jloreto 0:e67bf8f398ee 128 * @param r radius
jloreto 0:e67bf8f398ee 129 * @param color 16 bit color *
jloreto 0:e67bf8f398ee 130 *
jloreto 0:e67bf8f398ee 131 */
jloreto 0:e67bf8f398ee 132 virtual void circle(int x, int y, int r, unsigned short color);
jloreto 0:e67bf8f398ee 133
jloreto 0:e67bf8f398ee 134 /** draw a filled circle
jloreto 0:e67bf8f398ee 135 *
jloreto 0:e67bf8f398ee 136 * @param x0,y0 center
jloreto 0:e67bf8f398ee 137 * @param r radius
jloreto 0:e67bf8f398ee 138 * @param color 16 bit color *
jloreto 0:e67bf8f398ee 139 */
jloreto 0:e67bf8f398ee 140 virtual void fillcircle(int x, int y, int r, unsigned short color);
jloreto 0:e67bf8f398ee 141
jloreto 0:e67bf8f398ee 142
jloreto 0:e67bf8f398ee 143 /** draw a 1 pixel line
jloreto 0:e67bf8f398ee 144 *
jloreto 0:e67bf8f398ee 145 * @param x0,y0 start point
jloreto 0:e67bf8f398ee 146 * @param x1,y1 stop point
jloreto 0:e67bf8f398ee 147 * @param color 16 bit color
jloreto 0:e67bf8f398ee 148 *
jloreto 0:e67bf8f398ee 149 */
jloreto 0:e67bf8f398ee 150 virtual void line(int x0, int y0, int x1, int y1, unsigned short color);
jloreto 0:e67bf8f398ee 151
jloreto 0:e67bf8f398ee 152 /** draw a horizontal line
jloreto 0:e67bf8f398ee 153 *
jloreto 0:e67bf8f398ee 154 * @param x0 horizontal start
jloreto 0:e67bf8f398ee 155 * @param x1 horizontal stop
jloreto 0:e67bf8f398ee 156 * @param y vertical position
jloreto 0:e67bf8f398ee 157 * @param color 16 bit color
jloreto 0:e67bf8f398ee 158 *
jloreto 0:e67bf8f398ee 159 */
jloreto 0:e67bf8f398ee 160 void hline(int x0, int x1, int y, unsigned short color);
jloreto 0:e67bf8f398ee 161
jloreto 0:e67bf8f398ee 162 /** draw a vertical line
jloreto 0:e67bf8f398ee 163 *
jloreto 0:e67bf8f398ee 164 * @param x horizontal position
jloreto 0:e67bf8f398ee 165 * @param y0 vertical start
jloreto 0:e67bf8f398ee 166 * @param y1 vertical stop
jloreto 0:e67bf8f398ee 167 * @param color 16 bit color
jloreto 0:e67bf8f398ee 168 */
jloreto 0:e67bf8f398ee 169 void vline(int y0, int y1, int x, unsigned short color);
jloreto 0:e67bf8f398ee 170
jloreto 0:e67bf8f398ee 171 /** draw a rect
jloreto 0:e67bf8f398ee 172 *
jloreto 0:e67bf8f398ee 173 * @param x0,y0 top left corner
jloreto 0:e67bf8f398ee 174 * @param x1,y1 down right corner
jloreto 0:e67bf8f398ee 175 * @param color 16 bit color
jloreto 0:e67bf8f398ee 176 * *
jloreto 0:e67bf8f398ee 177 */
jloreto 0:e67bf8f398ee 178 virtual void rect(int x0, int y0, int x1, int y1, unsigned short color);
jloreto 0:e67bf8f398ee 179
jloreto 0:e67bf8f398ee 180 /** draw a filled rect
jloreto 0:e67bf8f398ee 181 *
jloreto 0:e67bf8f398ee 182 * @param x0,y0 top left corner
jloreto 0:e67bf8f398ee 183 * @param x1,y1 down right corner
jloreto 0:e67bf8f398ee 184 * @param color 16 bit color
jloreto 0:e67bf8f398ee 185 *
jloreto 0:e67bf8f398ee 186 */
jloreto 0:e67bf8f398ee 187 virtual void fillrect(int x0, int y0, int x1, int y1, unsigned short color);
jloreto 0:e67bf8f398ee 188
jloreto 0:e67bf8f398ee 189 /** setup cursor position for text
jloreto 0:e67bf8f398ee 190 *
jloreto 0:e67bf8f398ee 191 * @param x x-position (top left)
jloreto 0:e67bf8f398ee 192 * @param y y-position
jloreto 0:e67bf8f398ee 193 */
jloreto 0:e67bf8f398ee 194 virtual void locate(int x, int y);
jloreto 0:e67bf8f398ee 195
jloreto 0:e67bf8f398ee 196 /** put a char on the screen
jloreto 0:e67bf8f398ee 197 *
jloreto 0:e67bf8f398ee 198 * @param value char to print
jloreto 0:e67bf8f398ee 199 * @returns printed char
jloreto 0:e67bf8f398ee 200 *
jloreto 0:e67bf8f398ee 201 */
jloreto 0:e67bf8f398ee 202 virtual int _putc(int value);
jloreto 0:e67bf8f398ee 203
jloreto 0:e67bf8f398ee 204 /** draw a character on given position out of the active font to the TFT
jloreto 0:e67bf8f398ee 205 *
jloreto 0:e67bf8f398ee 206 * @param x x-position of char (top left)
jloreto 0:e67bf8f398ee 207 * @param y y-position
jloreto 0:e67bf8f398ee 208 * @param c char to print
jloreto 0:e67bf8f398ee 209 *
jloreto 0:e67bf8f398ee 210 */
jloreto 0:e67bf8f398ee 211 virtual void character(int x, int y, int c);
jloreto 0:e67bf8f398ee 212
jloreto 0:e67bf8f398ee 213 /** paint a bitmap on the TFT
jloreto 0:e67bf8f398ee 214 *
jloreto 0:e67bf8f398ee 215 * @param x,y : upper left corner
jloreto 0:e67bf8f398ee 216 * @param w width of bitmap
jloreto 0:e67bf8f398ee 217 * @param h high of bitmap
jloreto 0:e67bf8f398ee 218 * @param *bitmap pointer to the bitmap data
jloreto 0:e67bf8f398ee 219 *
jloreto 0:e67bf8f398ee 220 * bitmap format: 16 bit R5 G6 B5
jloreto 0:e67bf8f398ee 221 *
jloreto 0:e67bf8f398ee 222 * use Gimp to create / load , save as BMP, option 16 bit R5 G6 B5
jloreto 0:e67bf8f398ee 223 * use winhex to load this file and mark data stating at offset 0x46 to end
jloreto 0:e67bf8f398ee 224 * use edit -> copy block -> C Source to export C array
jloreto 0:e67bf8f398ee 225 * paste this array into your program
jloreto 0:e67bf8f398ee 226 *
jloreto 0:e67bf8f398ee 227 * define the array as static const unsigned char to put it into flash memory
jloreto 0:e67bf8f398ee 228 * cast the pointer to (unsigned char *) :
jloreto 0:e67bf8f398ee 229 * tft.Bitmap(10,40,309,50,(unsigned char *)scala);
jloreto 0:e67bf8f398ee 230 */
jloreto 0:e67bf8f398ee 231 void Bitmap(int x, int y, int w, int h,unsigned char *bitmap);
jloreto 0:e67bf8f398ee 232
jloreto 0:e67bf8f398ee 233 /** paint monochrome bitmap to screen
jloreto 0:e67bf8f398ee 234 *
jloreto 0:e67bf8f398ee 235 * @param bm Bitmap in flash
jloreto 0:e67bf8f398ee 236 * @param x x start
jloreto 0:e67bf8f398ee 237 * @param y y start
jloreto 0:e67bf8f398ee 238 *
jloreto 0:e67bf8f398ee 239 */
jloreto 0:e67bf8f398ee 240 void Bitmap_BW(Bitmap_s bm, int x, int y);
jloreto 0:e67bf8f398ee 241
jloreto 0:e67bf8f398ee 242 /** paint a 16 bit BMP from filesytem on the TFT (slow)
jloreto 0:e67bf8f398ee 243 *
jloreto 0:e67bf8f398ee 244 * @param x,y : position of upper left corner
jloreto 0:e67bf8f398ee 245 * @param *Name_BMP name of the BMP file with drive: "/local/test.bmp"
jloreto 0:e67bf8f398ee 246 *
jloreto 0:e67bf8f398ee 247 * @returns 1 if bmp file was found and painted
jloreto 0:e67bf8f398ee 248 * @returns 0 if bmp file was found not found
jloreto 0:e67bf8f398ee 249 * @returns -1 if file is no bmp
jloreto 0:e67bf8f398ee 250 * @returns -2 if bmp file is no 16 bit bmp
jloreto 0:e67bf8f398ee 251 * @returns -3 if bmp file is to big for screen
jloreto 0:e67bf8f398ee 252 * @returns -4 if buffer malloc go wrong
jloreto 0:e67bf8f398ee 253 *
jloreto 0:e67bf8f398ee 254 * bitmap format: 16 bit R5 G6 B5
jloreto 0:e67bf8f398ee 255 *
jloreto 0:e67bf8f398ee 256 * use Gimp to create / load , save as BMP, option 16 bit R5 G6 B5
jloreto 0:e67bf8f398ee 257 * copy to internal file system or SD card
jloreto 0:e67bf8f398ee 258 */
jloreto 0:e67bf8f398ee 259 int BMP_16(int x, int y, const char *Name_BMP);
jloreto 0:e67bf8f398ee 260
jloreto 0:e67bf8f398ee 261
jloreto 0:e67bf8f398ee 262
jloreto 0:e67bf8f398ee 263 /** select the font to use
jloreto 0:e67bf8f398ee 264 *
jloreto 0:e67bf8f398ee 265 * @param f pointer to font array
jloreto 0:e67bf8f398ee 266 * @param firstascii first ascii code present in font array, default 32 (space)
jloreto 0:e67bf8f398ee 267 * @param lastascii last ascii code present in font array, default 127 (DEL)
jloreto 0:e67bf8f398ee 268 * @param proportional enable/disable variable font width (default enabled)
jloreto 0:e67bf8f398ee 269 *
jloreto 0:e67bf8f398ee 270 * font array can created with GLCD Font Creator from http://www.mikroe.com
jloreto 0:e67bf8f398ee 271 * you have to add 4 parameter at the beginning of the font array to use:
jloreto 0:e67bf8f398ee 272 * - the number of byte / char (not used in this revision, set to whatever)
jloreto 0:e67bf8f398ee 273 * - the vertial size in pixel
jloreto 0:e67bf8f398ee 274 * - the horizontal size in pixel
jloreto 0:e67bf8f398ee 275 * - the number of byte per vertical line (not used in this revision, set to whatever)
jloreto 0:e67bf8f398ee 276 * you also have to change the array to cont unsigned char[] and __align(2)
jloreto 0:e67bf8f398ee 277 *
jloreto 0:e67bf8f398ee 278 */
jloreto 0:e67bf8f398ee 279 void set_font(unsigned char* f, unsigned char firstascii=32, unsigned char lastascii=127, bool proportional = true);
jloreto 0:e67bf8f398ee 280
jloreto 0:e67bf8f398ee 281 /** Zoom fount
jloreto 0:e67bf8f398ee 282 *
jloreto 0:e67bf8f398ee 283 * @param x_mul horizontal size multiplier
jloreto 0:e67bf8f398ee 284 * @param y_mul vertical size multiplier
jloreto 0:e67bf8f398ee 285 */
jloreto 0:e67bf8f398ee 286 void set_font_zoom(unsigned char x_mul, unsigned char y_mul);
jloreto 0:e67bf8f398ee 287
jloreto 0:e67bf8f398ee 288 /** Get the number of columns based on the currently active font.
jloreto 0:e67bf8f398ee 289 * @returns number of columns.
jloreto 0:e67bf8f398ee 290 * @note this method may be overridden in a derived class.
jloreto 0:e67bf8f398ee 291 */
jloreto 0:e67bf8f398ee 292 virtual int columns();
jloreto 0:e67bf8f398ee 293
jloreto 0:e67bf8f398ee 294 /** Get the number of rows based on the currently active font.
jloreto 0:e67bf8f398ee 295 * @returns number of rows.
jloreto 0:e67bf8f398ee 296 * @note this method may be overridden in a derived class.
jloreto 0:e67bf8f398ee 297 */
jloreto 0:e67bf8f398ee 298 virtual int rows();
jloreto 0:e67bf8f398ee 299
jloreto 0:e67bf8f398ee 300 /** get the current oriented screen width in pixels
jloreto 0:e67bf8f398ee 301 * @returns screen width in pixels.
jloreto 0:e67bf8f398ee 302 */
jloreto 0:e67bf8f398ee 303 int width();
jloreto 0:e67bf8f398ee 304
jloreto 0:e67bf8f398ee 305 /** get the current oriented screen height in pixels
jloreto 0:e67bf8f398ee 306 * @returns screen height in pixels.
jloreto 0:e67bf8f398ee 307 */
jloreto 0:e67bf8f398ee 308 int height();
jloreto 0:e67bf8f398ee 309
jloreto 0:e67bf8f398ee 310 /** set the current oriented screen width in pixels
jloreto 0:e67bf8f398ee 311 * @param width screen width in pixels.
jloreto 0:e67bf8f398ee 312 */
jloreto 0:e67bf8f398ee 313 void set_width(int width);
jloreto 0:e67bf8f398ee 314
jloreto 0:e67bf8f398ee 315 /** set the current oriented screen height in pixels
jloreto 0:e67bf8f398ee 316 * @param height screen height in pixels.
jloreto 0:e67bf8f398ee 317 */
jloreto 0:e67bf8f398ee 318 void set_height(int height);
jloreto 0:e67bf8f398ee 319
jloreto 0:e67bf8f398ee 320 /** setup auto update of screen
jloreto 0:e67bf8f398ee 321 *
jloreto 0:e67bf8f398ee 322 * @param up 1 = on , 0 = off
jloreto 0:e67bf8f398ee 323 * if switched off the program has to call copy_to_lcd()
jloreto 0:e67bf8f398ee 324 * to update screen from framebuffer
jloreto 0:e67bf8f398ee 325 */
jloreto 0:e67bf8f398ee 326 void set_auto_up(bool up);
jloreto 0:e67bf8f398ee 327
jloreto 0:e67bf8f398ee 328 /** get status of the auto update function
jloreto 0:e67bf8f398ee 329 *
jloreto 0:e67bf8f398ee 330 * @returns if auto update is on
jloreto 0:e67bf8f398ee 331 */
jloreto 0:e67bf8f398ee 332 bool get_auto_up(void);
jloreto 0:e67bf8f398ee 333
jloreto 0:e67bf8f398ee 334
jloreto 0:e67bf8f398ee 335
jloreto 0:e67bf8f398ee 336 private:
jloreto 0:e67bf8f398ee 337
jloreto 0:e67bf8f398ee 338 unsigned char* font;
jloreto 0:e67bf8f398ee 339 // display width and height related to current orientation
jloreto 0:e67bf8f398ee 340 int oriented_width;
jloreto 0:e67bf8f398ee 341 int oriented_height;
jloreto 0:e67bf8f398ee 342
jloreto 0:e67bf8f398ee 343 // text char location
jloreto 0:e67bf8f398ee 344 int char_x;
jloreto 0:e67bf8f398ee 345 int char_y;
jloreto 0:e67bf8f398ee 346
jloreto 0:e67bf8f398ee 347 int fontoffset;// bytes / char (short)
jloreto 0:e67bf8f398ee 348 int fonthor; // hor size of font (char)
jloreto 0:e67bf8f398ee 349 int fontvert; // ver size of font (char)
jloreto 0:e67bf8f398ee 350 int fontbpl; // bytes per line (char)
jloreto 0:e67bf8f398ee 351 int fontzoomver; // size multiplier
jloreto 0:e67bf8f398ee 352 int fontzoomhor; // size multiplier
jloreto 0:e67bf8f398ee 353 unsigned char firstch; // first ascii code present in font array (usually 32)
jloreto 0:e67bf8f398ee 354 unsigned char lastch; // last ascii code present in font array (usually 127)
jloreto 0:e67bf8f398ee 355 bool auto_up; // autoupdate flag for LCD
jloreto 0:e67bf8f398ee 356 bool fontprop;
jloreto 0:e67bf8f398ee 357
jloreto 0:e67bf8f398ee 358
jloreto 0:e67bf8f398ee 359 };
jloreto 0:e67bf8f398ee 360
jloreto 0:e67bf8f398ee 361 #endif