This is the final version of Mini Gateway for Automation and Security desgined for Renesas GR Peach Design Contest

Dependencies:   GR-PEACH_video GraphicsFramework HTTPServer R_BSP mbed-rpc mbed-rtos Socket lwip-eth lwip-sys lwip FATFileSystem

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Committer:
vipinranka
Date:
Wed Jan 11 11:41:30 2017 +0000
Revision:
12:9a20164dcc47
This is the final version MGAS Project for Renesas GR Peach Design Contest

Who changed what in which revision?

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