KSM edits to RA8875

Dependents:   Liz_Test_Code

Committer:
WiredHome
Date:
Sat Jan 25 19:47:33 2014 +0000
Revision:
37:f19b7e7449dc
Parent:
32:0e4f2ae512e2
Child:
42:7cbdfd2bbfc5
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
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 typedef uint16_t color_t;
WiredHome 31:c72e12cd5c67 7
WiredHome 31:c72e12cd5c67 8 /// return values from functions
WiredHome 31:c72e12cd5c67 9 typedef enum
WiredHome 31:c72e12cd5c67 10 {
WiredHome 31:c72e12cd5c67 11 noerror, ///< no errors, command completed successfully
WiredHome 31:c72e12cd5c67 12 bad_parameter, ///< one or more parameters are invalid
WiredHome 31:c72e12cd5c67 13 file_not_found, ///< specified file could not be found
WiredHome 31:c72e12cd5c67 14 not_bmp_format, ///< file is a not bmp file
WiredHome 31:c72e12cd5c67 15 not_supported_format, ///< file format is not yet supported
WiredHome 31:c72e12cd5c67 16 image_too_big, ///< image is too large for the screen
WiredHome 31:c72e12cd5c67 17 not_enough_ram, ///< could not allocate ram for scanline
WiredHome 31:c72e12cd5c67 18 } RetCode_t;
WiredHome 31:c72e12cd5c67 19
WiredHome 37:f19b7e7449dc 20 /// type that manages locations, which is typically an x or y pixel location,
WiredHome 37:f19b7e7449dc 21 /// which can range from -N to +N (even if the screen is 0 to +n). @see textloc_t.
WiredHome 37:f19b7e7449dc 22 typedef int16_t loc_t;
WiredHome 37:f19b7e7449dc 23
WiredHome 37:f19b7e7449dc 24 /// type that manages text locations, which are row or column values in
WiredHome 37:f19b7e7449dc 25 /// units of character, not pixel. @see loc_t.
WiredHome 37:f19b7e7449dc 26 typedef uint16_t textloc_t;
WiredHome 37:f19b7e7449dc 27
WiredHome 37:f19b7e7449dc 28 /// type that manages dimensions of width or height, which range from 0 to N.
WiredHome 37:f19b7e7449dc 29 typedef uint16_t dim_t;
WiredHome 37:f19b7e7449dc 30
WiredHome 32:0e4f2ae512e2 31 /// type that manages x,y pairs
WiredHome 32:0e4f2ae512e2 32 typedef struct
WiredHome 32:0e4f2ae512e2 33 {
WiredHome 37:f19b7e7449dc 34 loc_t x; ///< x value in the point
WiredHome 37:f19b7e7449dc 35 loc_t y; ///< y value in the point
WiredHome 32:0e4f2ae512e2 36 } point_t;
WiredHome 32:0e4f2ae512e2 37
WiredHome 32:0e4f2ae512e2 38 /// color type definition to let the compiler help keep us honest.
WiredHome 32:0e4f2ae512e2 39 ///
WiredHome 32:0e4f2ae512e2 40 /// colors can be defined with the RGB(r,g,b) macro, and there
WiredHome 32:0e4f2ae512e2 41 /// are a number of predefined colors:
WiredHome 32:0e4f2ae512e2 42 /// - Black, Blue, Green, Cyan,
WiredHome 32:0e4f2ae512e2 43 /// - Red, Magenta, Brown, Gray,
WiredHome 32:0e4f2ae512e2 44 /// - Charcoal, BrightBlue, BrightGreen, BrightCyan,
WiredHome 32:0e4f2ae512e2 45 /// - Orange, Pink, Yellow, White
WiredHome 32:0e4f2ae512e2 46 ///
WiredHome 32:0e4f2ae512e2 47 typedef uint16_t color_t;
WiredHome 32:0e4f2ae512e2 48
WiredHome 32:0e4f2ae512e2 49 /// background fill info for drawing Text, Rectangles, RoundedRectanges, Circles, Ellipses and Triangles.
WiredHome 32:0e4f2ae512e2 50 typedef enum
WiredHome 32:0e4f2ae512e2 51 {
WiredHome 32:0e4f2ae512e2 52 NOFILL, ///< do not fill the object with the background color
WiredHome 32:0e4f2ae512e2 53 FILL ///< fill the object space with the background color
WiredHome 32:0e4f2ae512e2 54 } fill_t;
WiredHome 32:0e4f2ae512e2 55
WiredHome 31:c72e12cd5c67 56 #endif // DISPLAYDEFS_H