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
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)
DisplayDefs.h@137:9e09f6081ef1, 2016-12-08 (annotated)
- Committer:
- WiredHome
- Date:
- Thu Dec 08 12:29:54 2016 +0000
- Revision:
- 137:9e09f6081ef1
- Parent:
- 125:7a0b70f56550
- Child:
- 167:8aa3fb2a5a31
Correct a defect in BlockMove
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
WiredHome | 31:c72e12cd5c67 | 1 | #ifndef DISPLAYDEFS_H |
WiredHome | 31:c72e12cd5c67 | 2 | #define DISPLAYDEFS_H |
WiredHome | 31:c72e12cd5c67 | 3 | |
WiredHome | 32:0e4f2ae512e2 | 4 | #define RGB(r,g,b) ( ((r<<8)&0xF800) | ((g<<3)&0x07E0) | (b>>3) ) |
WiredHome | 32:0e4f2ae512e2 | 5 | |
WiredHome | 31:c72e12cd5c67 | 6 | |
WiredHome | 125:7a0b70f56550 | 7 | /// Return values from functions. Use this number, or use the |
WiredHome | 79:544eb4964795 | 8 | /// lookup function to get a text string. @see GetErrorMessage. |
WiredHome | 79:544eb4964795 | 9 | /// |
WiredHome | 31:c72e12cd5c67 | 10 | typedef enum |
WiredHome | 31:c72e12cd5c67 | 11 | { |
WiredHome | 31:c72e12cd5c67 | 12 | noerror, ///< no errors, command completed successfully |
WiredHome | 31:c72e12cd5c67 | 13 | bad_parameter, ///< one or more parameters are invalid |
WiredHome | 31:c72e12cd5c67 | 14 | file_not_found, ///< specified file could not be found |
WiredHome | 42:7cbdfd2bbfc5 | 15 | not_bmp_format, ///< file is not a .bmp file |
WiredHome | 42:7cbdfd2bbfc5 | 16 | not_ico_format, ///< file is not a .ico file |
WiredHome | 112:325ca91bc03d | 17 | not_supported_format, ///< file format is not yet supported (e.g. bits per pixel, compression) |
WiredHome | 31:c72e12cd5c67 | 18 | image_too_big, ///< image is too large for the screen |
WiredHome | 31:c72e12cd5c67 | 19 | not_enough_ram, ///< could not allocate ram for scanline |
WiredHome | 122:79e431f98fa9 | 20 | touch_cal_timeout, ///< timeout while trying to calibrate touchscreen, perhaps it is not installed. |
WiredHome | 115:c9862fd0c689 | 21 | external_abort, ///< an external process caused an abort |
WiredHome | 79:544eb4964795 | 22 | LastErrCode, // Private marker. |
WiredHome | 31:c72e12cd5c67 | 23 | } RetCode_t; |
WiredHome | 31:c72e12cd5c67 | 24 | |
WiredHome | 83:7bad0068cca0 | 25 | /// return values from TouchPanelReadable, TouchPanelA2DRaw, TouchPanelA2DFiltered. |
WiredHome | 83:7bad0068cca0 | 26 | /// @see TouchPanelReadable. |
WiredHome | 83:7bad0068cca0 | 27 | typedef enum |
WiredHome | 83:7bad0068cca0 | 28 | { |
WiredHome | 83:7bad0068cca0 | 29 | no_touch, ///< no touch is detected |
WiredHome | 83:7bad0068cca0 | 30 | touch, ///< touch is detected |
WiredHome | 83:7bad0068cca0 | 31 | held, ///< held after touch |
WiredHome | 83:7bad0068cca0 | 32 | release, ///< release is detected |
WiredHome | 83:7bad0068cca0 | 33 | no_cal, ///< no calibration matrix is available |
WiredHome | 83:7bad0068cca0 | 34 | } TouchCode_t; |
WiredHome | 83:7bad0068cca0 | 35 | |
WiredHome | 125:7a0b70f56550 | 36 | /// Data type that manages locations, which is typically an x or y pixel location, |
WiredHome | 37:f19b7e7449dc | 37 | /// which can range from -N to +N (even if the screen is 0 to +n). @see textloc_t. |
WiredHome | 37:f19b7e7449dc | 38 | typedef int16_t loc_t; |
WiredHome | 37:f19b7e7449dc | 39 | |
WiredHome | 125:7a0b70f56550 | 40 | /// Data type that manages text locations, which are row or column values in |
WiredHome | 37:f19b7e7449dc | 41 | /// units of character, not pixel. @see loc_t. |
WiredHome | 37:f19b7e7449dc | 42 | typedef uint16_t textloc_t; |
WiredHome | 37:f19b7e7449dc | 43 | |
WiredHome | 37:f19b7e7449dc | 44 | /// type that manages dimensions of width or height, which range from 0 to N. |
WiredHome | 37:f19b7e7449dc | 45 | typedef uint16_t dim_t; |
WiredHome | 37:f19b7e7449dc | 46 | |
WiredHome | 32:0e4f2ae512e2 | 47 | /// type that manages x,y pairs |
WiredHome | 32:0e4f2ae512e2 | 48 | typedef struct |
WiredHome | 32:0e4f2ae512e2 | 49 | { |
WiredHome | 37:f19b7e7449dc | 50 | loc_t x; ///< x value in the point |
WiredHome | 37:f19b7e7449dc | 51 | loc_t y; ///< y value in the point |
WiredHome | 32:0e4f2ae512e2 | 52 | } point_t; |
WiredHome | 32:0e4f2ae512e2 | 53 | |
WiredHome | 125:7a0b70f56550 | 54 | /// Data type that manages rectangles, which are pairs of points. It is recommended |
WiredHome | 81:01da2e34283d | 55 | /// that p1 contains the top-left point and p2 contains the bottom-right point, |
WiredHome | 81:01da2e34283d | 56 | /// even though eventually this should not matter. |
WiredHome | 81:01da2e34283d | 57 | typedef struct |
WiredHome | 81:01da2e34283d | 58 | { |
WiredHome | 81:01da2e34283d | 59 | point_t p1; ///< p1 defines one point on the rectangle |
WiredHome | 81:01da2e34283d | 60 | point_t p2; ///< p2 defines the opposite point on the rectangle |
WiredHome | 81:01da2e34283d | 61 | } rect_t; |
WiredHome | 81:01da2e34283d | 62 | |
WiredHome | 125:7a0b70f56550 | 63 | /// Data type that manages the calibration matrix for the resistive touch panel. |
WiredHome | 125:7a0b70f56550 | 64 | /// |
WiredHome | 125:7a0b70f56550 | 65 | /// This object, when instantiated, may be passed back and forth, stored |
WiredHome | 125:7a0b70f56550 | 66 | /// and loaded, but the internals are generally of little interest. |
WiredHome | 77:9206c13aa527 | 67 | typedef struct |
WiredHome | 77:9206c13aa527 | 68 | { |
WiredHome | 125:7a0b70f56550 | 69 | int32_t An; ///< calibration factor, see source for details |
WiredHome | 125:7a0b70f56550 | 70 | int32_t Bn; ///< calibration factor, see source for details |
WiredHome | 125:7a0b70f56550 | 71 | int32_t Cn; ///< calibration factor, see source for details |
WiredHome | 125:7a0b70f56550 | 72 | int32_t Dn; ///< calibration factor, see source for details |
WiredHome | 125:7a0b70f56550 | 73 | int32_t En; ///< calibration factor, see source for details |
WiredHome | 125:7a0b70f56550 | 74 | int32_t Fn; ///< calibration factor, see source for details |
WiredHome | 125:7a0b70f56550 | 75 | int32_t Divider; ///< calibration factor, see source for details |
WiredHome | 77:9206c13aa527 | 76 | } tpMatrix_t; |
WiredHome | 77:9206c13aa527 | 77 | |
WiredHome | 32:0e4f2ae512e2 | 78 | /// color type definition to let the compiler help keep us honest. |
WiredHome | 32:0e4f2ae512e2 | 79 | /// |
WiredHome | 32:0e4f2ae512e2 | 80 | /// colors can be defined with the RGB(r,g,b) macro, and there |
WiredHome | 32:0e4f2ae512e2 | 81 | /// are a number of predefined colors: |
WiredHome | 32:0e4f2ae512e2 | 82 | /// - Black, Blue, Green, Cyan, |
WiredHome | 32:0e4f2ae512e2 | 83 | /// - Red, Magenta, Brown, Gray, |
WiredHome | 32:0e4f2ae512e2 | 84 | /// - Charcoal, BrightBlue, BrightGreen, BrightCyan, |
WiredHome | 32:0e4f2ae512e2 | 85 | /// - Orange, Pink, Yellow, White |
WiredHome | 32:0e4f2ae512e2 | 86 | /// |
WiredHome | 32:0e4f2ae512e2 | 87 | typedef uint16_t color_t; |
WiredHome | 32:0e4f2ae512e2 | 88 | |
WiredHome | 32:0e4f2ae512e2 | 89 | /// background fill info for drawing Text, Rectangles, RoundedRectanges, Circles, Ellipses and Triangles. |
WiredHome | 32:0e4f2ae512e2 | 90 | typedef enum |
WiredHome | 32:0e4f2ae512e2 | 91 | { |
WiredHome | 32:0e4f2ae512e2 | 92 | NOFILL, ///< do not fill the object with the background color |
WiredHome | 32:0e4f2ae512e2 | 93 | FILL ///< fill the object space with the background color |
WiredHome | 32:0e4f2ae512e2 | 94 | } fill_t; |
WiredHome | 32:0e4f2ae512e2 | 95 | |
WiredHome | 31:c72e12cd5c67 | 96 | #endif // DISPLAYDEFS_H |