Driver for 4D Systems LCD screen with Picaso processor. Ported from 4D Systems Picaso Serial Linux Library

Dependencies:   MODSERIAL

Dependents:   uLCD_4D_24PTU Drawing Program RoommateTracker_ScreenAndPhone ece4180_roommate_tracker_final

Committer:
admcrae
Date:
Tue Mar 10 16:05:28 2015 +0000
Revision:
2:ebe7029e2825
Child:
3:be4da6cb58b1
Added comments to header file, added a bunch of enums.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
admcrae 2:ebe7029e2825 1 #ifndef PICASO_ENUMS_H
admcrae 2:ebe7029e2825 2 #define PICASO_ENUMS_H
admcrae 2:ebe7029e2825 3
admcrae 2:ebe7029e2825 4 namespace Picaso {
admcrae 2:ebe7029e2825 5
admcrae 2:ebe7029e2825 6 // generic constants
admcrae 2:ebe7029e2825 7 enum {
admcrae 2:ebe7029e2825 8 ENABLE = 1,
admcrae 2:ebe7029e2825 9 DISABLE = 0,
admcrae 2:ebe7029e2825 10
admcrae 2:ebe7029e2825 11 HI = 1,
admcrae 2:ebe7029e2825 12 LO = 0,
admcrae 2:ebe7029e2825 13
admcrae 2:ebe7029e2825 14 INPUT = 1,
admcrae 2:ebe7029e2825 15 OUTPUT = 0,
admcrae 2:ebe7029e2825 16
admcrae 2:ebe7029e2825 17 ON = 1,
admcrae 2:ebe7029e2825 18 OFF = 0,
admcrae 2:ebe7029e2825 19
admcrae 2:ebe7029e2825 20 ALL = 0xFFFF // argument for img_xxx functions to update all images
admcrae 2:ebe7029e2825 21 };
admcrae 2:ebe7029e2825 22
admcrae 2:ebe7029e2825 23
admcrae 2:ebe7029e2825 24 // Allowed serial interface baud rates.
admcrae 2:ebe7029e2825 25 enum BaudRate {
admcrae 2:ebe7029e2825 26 BAUD_110 = 0, BAUD_300, BAUD_600, BAUD_1200, BAUD_2400, BAUD_4800, BAUD_9600, BAUD_14400,
admcrae 2:ebe7029e2825 27 BAUD_19200, BAUD_31250, BAUD_38400, BAUD_56000, BAUD_57600, BAUD_115200, BAUD_128000,
admcrae 2:ebe7029e2825 28 BAUD_256000, BAUD_300000, BAUD_375000, BAUD_500000, BAUD_600000
admcrae 2:ebe7029e2825 29 };
admcrae 2:ebe7029e2825 30
admcrae 2:ebe7029e2825 31
admcrae 2:ebe7029e2825 32 /*
admcrae 2:ebe7029e2825 33 16 bit RGB (565) Colour Chart
admcrae 2:ebe7029e2825 34 Original work by 4D Forum Member: skadoo
admcrae 2:ebe7029e2825 35 */
admcrae 2:ebe7029e2825 36 enum Color {
admcrae 2:ebe7029e2825 37 ALICEBLUE = 0xF7DF,
admcrae 2:ebe7029e2825 38 ANTIQUEWHITE = 0xFF5A,
admcrae 2:ebe7029e2825 39 AQUA = 0x07FF,
admcrae 2:ebe7029e2825 40 AQUAMARINE = 0x7FFA,
admcrae 2:ebe7029e2825 41 AZURE = 0xF7FF,
admcrae 2:ebe7029e2825 42 BEIGE = 0xF7BB,
admcrae 2:ebe7029e2825 43 BISQUE = 0xFF38,
admcrae 2:ebe7029e2825 44 BLACK = 0x0000,
admcrae 2:ebe7029e2825 45 BLANCHEDALMOND = 0xFF59,
admcrae 2:ebe7029e2825 46 BLUE = 0x001F,
admcrae 2:ebe7029e2825 47 BLUEVIOLET = 0x895C,
admcrae 2:ebe7029e2825 48 BROWN = 0xA145,
admcrae 2:ebe7029e2825 49 BURLYWOOD = 0xDDD0,
admcrae 2:ebe7029e2825 50 CADETBLUE = 0x5CF4,
admcrae 2:ebe7029e2825 51 CHARTREUSE = 0x7FE0,
admcrae 2:ebe7029e2825 52 CHOCOLATE = 0xD343,
admcrae 2:ebe7029e2825 53 CORAL = 0xFBEA,
admcrae 2:ebe7029e2825 54 CORNFLOWERBLUE = 0x64BD,
admcrae 2:ebe7029e2825 55 CORNSILK = 0xFFDB,
admcrae 2:ebe7029e2825 56 CRIMSON = 0xD8A7,
admcrae 2:ebe7029e2825 57 CYAN = 0x07FF,
admcrae 2:ebe7029e2825 58 DARKBLUE = 0x0011,
admcrae 2:ebe7029e2825 59 DARKCYAN = 0x0451,
admcrae 2:ebe7029e2825 60 DARKGOLDENROD = 0xBC21,
admcrae 2:ebe7029e2825 61 DARKGRAY = 0xAD55,
admcrae 2:ebe7029e2825 62 DARKGREEN = 0x0320,
admcrae 2:ebe7029e2825 63 DARKKHAKI = 0xBDAD,
admcrae 2:ebe7029e2825 64 DARKMAGENTA = 0x8811,
admcrae 2:ebe7029e2825 65 DARKOLIVEGREEN = 0x5345,
admcrae 2:ebe7029e2825 66 DARKORANGE = 0xFC60,
admcrae 2:ebe7029e2825 67 DARKORCHID = 0x9999,
admcrae 2:ebe7029e2825 68 DARKRED = 0x8800,
admcrae 2:ebe7029e2825 69 DARKSALMON = 0xECAF,
admcrae 2:ebe7029e2825 70 DARKSEAGREEN = 0x8DF1,
admcrae 2:ebe7029e2825 71 DARKSLATEBLUE = 0x49F1,
admcrae 2:ebe7029e2825 72 DARKSLATEGRAY = 0x2A69,
admcrae 2:ebe7029e2825 73 DARKTURQUOISE = 0x067A,
admcrae 2:ebe7029e2825 74 DARKVIOLET = 0x901A,
admcrae 2:ebe7029e2825 75 DEEPPINK = 0xF8B2,
admcrae 2:ebe7029e2825 76 DEEPSKYBLUE = 0x05FF,
admcrae 2:ebe7029e2825 77 DIMGRAY = 0x6B4D,
admcrae 2:ebe7029e2825 78 DODGERBLUE = 0x1C9F,
admcrae 2:ebe7029e2825 79 FIREBRICK = 0xB104,
admcrae 2:ebe7029e2825 80 FLORALWHITE = 0xFFDE,
admcrae 2:ebe7029e2825 81 FORESTGREEN = 0x2444,
admcrae 2:ebe7029e2825 82 FUCHSIA = 0xF81F,
admcrae 2:ebe7029e2825 83 GAINSBORO = 0xDEFB,
admcrae 2:ebe7029e2825 84 GHOSTWHITE = 0xFFDF,
admcrae 2:ebe7029e2825 85 GOLD = 0xFEA0,
admcrae 2:ebe7029e2825 86 GOLDENROD = 0xDD24,
admcrae 2:ebe7029e2825 87 GRAY = 0x8410,
admcrae 2:ebe7029e2825 88 GREEN = 0x0400,
admcrae 2:ebe7029e2825 89 GREENYELLOW = 0xAFE5,
admcrae 2:ebe7029e2825 90 HONEYDEW = 0xF7FE,
admcrae 2:ebe7029e2825 91 HOTPINK = 0xFB56,
admcrae 2:ebe7029e2825 92 INDIANRED = 0xCAEB,
admcrae 2:ebe7029e2825 93 INDIGO = 0x4810,
admcrae 2:ebe7029e2825 94 IVORY = 0xFFFE,
admcrae 2:ebe7029e2825 95 KHAKI = 0xF731,
admcrae 2:ebe7029e2825 96 LAVENDER = 0xE73F,
admcrae 2:ebe7029e2825 97 LAVENDERBLUSH = 0xFF9E,
admcrae 2:ebe7029e2825 98 LAWNGREEN = 0x7FE0,
admcrae 2:ebe7029e2825 99 LEMONCHIFFON = 0xFFD9,
admcrae 2:ebe7029e2825 100 LIGHTBLUE = 0xAEDC,
admcrae 2:ebe7029e2825 101 LIGHTCORAL = 0xF410,
admcrae 2:ebe7029e2825 102 LIGHTCYAN = 0xE7FF,
admcrae 2:ebe7029e2825 103 LIGHTGOLD = 0xFFDA,
admcrae 2:ebe7029e2825 104 LIGHTGREEN = 0x9772,
admcrae 2:ebe7029e2825 105 LIGHTGREY = 0xD69A,
admcrae 2:ebe7029e2825 106 LIGHTPINK = 0xFDB8,
admcrae 2:ebe7029e2825 107 LIGHTSALMON = 0xFD0F,
admcrae 2:ebe7029e2825 108 LIGHTSEAGREEN = 0x2595,
admcrae 2:ebe7029e2825 109 LIGHTSKYBLUE = 0x867F,
admcrae 2:ebe7029e2825 110 LIGHTSLATEGRAY = 0x7453,
admcrae 2:ebe7029e2825 111 LIGHTSTEELBLUE = 0xB63B,
admcrae 2:ebe7029e2825 112 LIGHTYELLOW = 0xFFFC,
admcrae 2:ebe7029e2825 113 LIME = 0x07E0,
admcrae 2:ebe7029e2825 114 LIMEGREEN = 0x3666,
admcrae 2:ebe7029e2825 115 LINEN = 0xFF9C,
admcrae 2:ebe7029e2825 116 MAGENTA = 0xF81F,
admcrae 2:ebe7029e2825 117 MAROON = 0x8000,
admcrae 2:ebe7029e2825 118 MEDIUMAQUAMARINE = 0x6675,
admcrae 2:ebe7029e2825 119 MEDIUMBLUE = 0x0019,
admcrae 2:ebe7029e2825 120 MEDIUMORCHID = 0xBABA,
admcrae 2:ebe7029e2825 121 MEDIUMPURPLE = 0x939B,
admcrae 2:ebe7029e2825 122 MEDIUMSEAGREEN = 0x3D8E,
admcrae 2:ebe7029e2825 123 MEDIUMSLATEBLUE = 0x7B5D,
admcrae 2:ebe7029e2825 124 MEDIUMSPRINGGREEN = 0x07D3,
admcrae 2:ebe7029e2825 125 MEDIUMTURQUOISE = 0x4E99,
admcrae 2:ebe7029e2825 126 MEDIUMVIOLETRED = 0xC0B0,
admcrae 2:ebe7029e2825 127 MIDNIGHTBLUE = 0x18CE,
admcrae 2:ebe7029e2825 128 MINTCREAM = 0xF7FF,
admcrae 2:ebe7029e2825 129 MISTYROSE = 0xFF3C,
admcrae 2:ebe7029e2825 130 MOCCASIN = 0xFF36,
admcrae 2:ebe7029e2825 131 NAVAJOWHITE = 0xFEF5,
admcrae 2:ebe7029e2825 132 NAVY = 0x0010,
admcrae 2:ebe7029e2825 133 OLDLACE = 0xFFBC,
admcrae 2:ebe7029e2825 134 OLIVE = 0x8400,
admcrae 2:ebe7029e2825 135 OLIVEDRAB = 0x6C64,
admcrae 2:ebe7029e2825 136 ORANGE = 0xFD20,
admcrae 2:ebe7029e2825 137 ORANGERED = 0xFA20,
admcrae 2:ebe7029e2825 138 ORCHID = 0xDB9A,
admcrae 2:ebe7029e2825 139 PALEGOLDENROD = 0xEF55,
admcrae 2:ebe7029e2825 140 PALEGREEN = 0x9FD3,
admcrae 2:ebe7029e2825 141 PALETURQUOISE = 0xAF7D,
admcrae 2:ebe7029e2825 142 PALEVIOLETRED = 0xDB92,
admcrae 2:ebe7029e2825 143 PAPAYAWHIP = 0xFF7A,
admcrae 2:ebe7029e2825 144 PEACHPUFF = 0xFED7,
admcrae 2:ebe7029e2825 145 PERU = 0xCC27,
admcrae 2:ebe7029e2825 146 PINK = 0xFE19,
admcrae 2:ebe7029e2825 147 PLUM = 0xDD1B,
admcrae 2:ebe7029e2825 148 POWDERBLUE = 0xB71C,
admcrae 2:ebe7029e2825 149 PURPLE = 0x8010,
admcrae 2:ebe7029e2825 150 RED = 0xF800,
admcrae 2:ebe7029e2825 151 ROSYBROWN = 0xBC71,
admcrae 2:ebe7029e2825 152 ROYALBLUE = 0x435C,
admcrae 2:ebe7029e2825 153 SADDLEBROWN = 0x8A22,
admcrae 2:ebe7029e2825 154 SALMON = 0xFC0E,
admcrae 2:ebe7029e2825 155 SANDYBROWN = 0xF52C,
admcrae 2:ebe7029e2825 156 SEAGREEN = 0x2C4A,
admcrae 2:ebe7029e2825 157 SEASHELL = 0xFFBD,
admcrae 2:ebe7029e2825 158 SIENNA = 0xA285,
admcrae 2:ebe7029e2825 159 SILVER = 0xC618,
admcrae 2:ebe7029e2825 160 SKYBLUE = 0x867D,
admcrae 2:ebe7029e2825 161 SLATEBLUE = 0x6AD9,
admcrae 2:ebe7029e2825 162 SLATEGRAY = 0x7412,
admcrae 2:ebe7029e2825 163 SNOW = 0xFFDF,
admcrae 2:ebe7029e2825 164 SPRINGGREEN = 0x07EF,
admcrae 2:ebe7029e2825 165 STEELBLUE = 0x4416,
admcrae 2:ebe7029e2825 166 TAN = 0xD5B1,
admcrae 2:ebe7029e2825 167 TEAL = 0x0410,
admcrae 2:ebe7029e2825 168 THISTLE = 0xDDFB,
admcrae 2:ebe7029e2825 169 TOMATO = 0xFB08,
admcrae 2:ebe7029e2825 170 TURQUOISE = 0x471A,
admcrae 2:ebe7029e2825 171 VIOLET = 0xEC1D,
admcrae 2:ebe7029e2825 172 WHEAT = 0xF6F6,
admcrae 2:ebe7029e2825 173 WHITE = 0xFFFF,
admcrae 2:ebe7029e2825 174 WHITESMOKE = 0xF7BE,
admcrae 2:ebe7029e2825 175 YELLOW = 0xFFE0,
admcrae 2:ebe7029e2825 176 YELLOWGREEN = 0x9E66
admcrae 2:ebe7029e2825 177 };
admcrae 2:ebe7029e2825 178
admcrae 2:ebe7029e2825 179 //------------------------------------------------------------------------------
admcrae 2:ebe7029e2825 180 // Pin related constants
admcrae 2:ebe7029e2825 181 //------------------------------------------------------------------------------
admcrae 2:ebe7029e2825 182 enum Pin {
admcrae 2:ebe7029e2825 183 IO1_PIN = 1, // pin 2 J1
admcrae 2:ebe7029e2825 184 IO2_PIN = 2, // pin 1 J1
admcrae 2:ebe7029e2825 185 IO3_PIN = 3, // pin 3 J1
admcrae 2:ebe7029e2825 186 IO4_PIN = 4, // pin 5 J1 (also used for BUS_RD)
admcrae 2:ebe7029e2825 187 IO5_PIN = 5, // pin 9 J2 (also used for BUS_WR)
admcrae 2:ebe7029e2825 188 BUS_RD_PIN = 4, // pin 5 J1 (alias IO4_PIN)
admcrae 2:ebe7029e2825 189 BUS_WR_PIN = 5, // pin 9 J2 (alias IO5_PIN)
admcrae 2:ebe7029e2825 190 BACKLITE = 6, // backlite control pin
admcrae 2:ebe7029e2825 191 AUDIO_ENABLE = 7, // amplifier chip control pin
admcrae 2:ebe7029e2825 192 BUS_0 = 8, // pin 27 of J1
admcrae 2:ebe7029e2825 193 BUS_1 = 9, // pin 25 of J1
admcrae 2:ebe7029e2825 194 BUS_2 = 10, // pin 23 of J1
admcrae 2:ebe7029e2825 195 BUS_3 = 11, // pin 21 of J1
admcrae 2:ebe7029e2825 196 BUS_4 = 12, // pin 19 of J1
admcrae 2:ebe7029e2825 197 BUS_5 = 13, // pin 17 of J1
admcrae 2:ebe7029e2825 198 BUS_6 = 14, // pin 13 of J2
admcrae 2:ebe7029e2825 199 BUS_7 = 15 // pin 11 of J2
admcrae 2:ebe7029e2825 200 };
admcrae 2:ebe7029e2825 201
admcrae 2:ebe7029e2825 202 //------------------------------------------------------------------------------
admcrae 2:ebe7029e2825 203 //gfx_Set() related constants
admcrae 2:ebe7029e2825 204 //------------------------------------------------------------------------------
admcrae 2:ebe7029e2825 205 enum GFXSetFunc {
admcrae 2:ebe7029e2825 206 PEN_SIZE = 16, // not necessary to use (legacy mode)
admcrae 2:ebe7029e2825 207 BACKGROUND_COLOUR = 17,
admcrae 2:ebe7029e2825 208 OBJECT_COLOUR = 18, // line / circle / rectangle generic colour
admcrae 2:ebe7029e2825 209 CLIPPING = 19, // clipping ON / OFF
admcrae 2:ebe7029e2825 210 TRANSPARENT_COLOUR = 20, // (only on displays with specific hware feature)
admcrae 2:ebe7029e2825 211 TRANSPARENCY = 21, // 0 = OFF, 1 = ON (only on displays with specific hware feature)
admcrae 2:ebe7029e2825 212 FRAME_DELAY = 22, // legacy mode, see pokeB(IMAGE_DELAY, n);
admcrae 2:ebe7029e2825 213 SCREEN_MODE = 23, // LANDSCAPE, LANDSCAPE_R, PORTRAIT, PORTRAIT_R
admcrae 2:ebe7029e2825 214 OUTLINE_COLOUR = 24, // if not BLACK (0) , used for outline around circles,rectangles and filled polygons
admcrae 2:ebe7029e2825 215 CONTRAST = 25, // for OLED, change contrast, for LCD on or off only
admcrae 2:ebe7029e2825 216 LINE_PATTERN = 26, // used for patterned lines, 16bit value (0 = no pattern, '1's = pattern)
admcrae 2:ebe7029e2825 217 COLOUR_MODE = 27, // select 8 or 16 bit colour mode
admcrae 2:ebe7029e2825 218 BEVEL_WIDTH = 28, // button bevel width
admcrae 2:ebe7029e2825 219 BEVEL_SHADOW = 29, // button bevel shadow depth
admcrae 2:ebe7029e2825 220 X_ORIGIN = 30, // display position X offset
admcrae 2:ebe7029e2825 221 Y_ORIGIN = 31 // display position X offset
admcrae 2:ebe7029e2825 222 };
admcrae 2:ebe7029e2825 223
admcrae 2:ebe7029e2825 224
admcrae 2:ebe7029e2825 225 //gfx_Get() related constants
admcrae 2:ebe7029e2825 226 enum GFXGetMode {
admcrae 2:ebe7029e2825 227 X_MAX = 0, // current orientations screen maximum X co-ordinate
admcrae 2:ebe7029e2825 228 Y_MAX = 1, // current orientations screen maximum Y co-ordinate
admcrae 2:ebe7029e2825 229 LEFT_POS = 2, // last objects left co-ord
admcrae 2:ebe7029e2825 230 TOP_POS = 3, // last objects top co-ord
admcrae 2:ebe7029e2825 231 RIGHT_POS = 4, // last objects right co-ord
admcrae 2:ebe7029e2825 232 BOTTOM_POS = 5, // last objects bottom co-ord
admcrae 2:ebe7029e2825 233 X_ORG = 6, // display position X offset
admcrae 2:ebe7029e2825 234 Y_ORG = 7 // display position X offset
admcrae 2:ebe7029e2825 235 };
admcrae 2:ebe7029e2825 236
admcrae 2:ebe7029e2825 237
admcrae 2:ebe7029e2825 238 //------------------------------------------------------------------------------
admcrae 2:ebe7029e2825 239 // FILEIO Error Code Constants
admcrae 2:ebe7029e2825 240 //------------------------------------------------------------------------------
admcrae 2:ebe7029e2825 241 enum FileError {
admcrae 2:ebe7029e2825 242 FE_OK = 0, // IDE function succeeded
admcrae 2:ebe7029e2825 243 FE_IDE_ERROR = 1, // IDE command execution error
admcrae 2:ebe7029e2825 244 FE_NOT_PRESENT = 2, // CARD not present
admcrae 2:ebe7029e2825 245 FE_PARTITION_TYPE = 3, // WRONG partition type, not FAT16
admcrae 2:ebe7029e2825 246 FE_INVALID_MBR = 4, // MBR sector invalid signature
admcrae 2:ebe7029e2825 247 FE_INVALID_BR = 5, // Boot Record invalid signature
admcrae 2:ebe7029e2825 248 FE_DISK_NOT_MNTD = 6, // Media not mounted
admcrae 2:ebe7029e2825 249 FE_FILE_NOT_FOUND = 7, // File not found in open for read
admcrae 2:ebe7029e2825 250 FE_INVALID_FILE = 8, // File not open
admcrae 2:ebe7029e2825 251 FE_FAT_EOF = 9, // Fat attempt to read beyond EOF
admcrae 2:ebe7029e2825 252 FE_EOF = 10, // Reached the end of file
admcrae 2:ebe7029e2825 253 FE_INVALID_CLUSTER = 11, // Invalid cluster value > maxcls
admcrae 2:ebe7029e2825 254 FE_DIR_FULL = 12, // All root dir entry are taken
admcrae 2:ebe7029e2825 255 FE_DISK_FULL = 13, // All clusters in partition are taken
admcrae 2:ebe7029e2825 256 FE_FILE_OVERWRITE = 14, // A file with same name exist already
admcrae 2:ebe7029e2825 257 FE_CANNOT_INIT = 15, // Cannot init the CARD
admcrae 2:ebe7029e2825 258 FE_CANNOT_READ_MBR = 16, // Cannot read the MBR
admcrae 2:ebe7029e2825 259 FE_MALLOC_FAILED = 17, // Malloc could not allocate the FILE struct
admcrae 2:ebe7029e2825 260 FE_INVALID_MODE = 18, // Mode was not r.w.
admcrae 2:ebe7029e2825 261 FE_FIND_ERROR = 19, // Failure during FILE search
admcrae 2:ebe7029e2825 262 FE_INVALID_FNAME = 20, // bad filename
admcrae 2:ebe7029e2825 263 FE_INVALID_MEDIA = 21, // bad media
admcrae 2:ebe7029e2825 264 FE_SECTOR_READ_FAIL = 22, // sector read failed
admcrae 2:ebe7029e2825 265 FE_SECTOR_WRITE_FAIL = 23 // sector write failed
admcrae 2:ebe7029e2825 266 };
admcrae 2:ebe7029e2825 267
admcrae 2:ebe7029e2825 268
admcrae 2:ebe7029e2825 269 enum ScreenMode {
admcrae 2:ebe7029e2825 270 LANDSCAPE = 0, // SCREEN_MODE (north)
admcrae 2:ebe7029e2825 271 LANDSCAPE_R = 1, // SCREEN_MODE (south)
admcrae 2:ebe7029e2825 272 PORTRAIT = 2, // SCREEN_MODE (west)
admcrae 2:ebe7029e2825 273 PORTRAIT_R = 3 // SCREEN_MODE (east)
admcrae 2:ebe7029e2825 274 };
admcrae 2:ebe7029e2825 275
admcrae 2:ebe7029e2825 276
admcrae 2:ebe7029e2825 277 enum ButtonState {
admcrae 2:ebe7029e2825 278 BUTTON_DEPRESSED = 0,
admcrae 2:ebe7029e2825 279 BUTTON_RAISED = 1
admcrae 2:ebe7029e2825 280 };
admcrae 2:ebe7029e2825 281
admcrae 2:ebe7029e2825 282 enum SliderState {
admcrae 2:ebe7029e2825 283 SLIDER_SUNKEN = 0,
admcrae 2:ebe7029e2825 284 SLIDER_RAISED = 1,
admcrae 2:ebe7029e2825 285 SLIDER_HIDDEN = 2
admcrae 2:ebe7029e2825 286 };
admcrae 2:ebe7029e2825 287
admcrae 2:ebe7029e2825 288 enum PanelState {
admcrae 2:ebe7029e2825 289 PANEL_SUNKEN = 0,
admcrae 2:ebe7029e2825 290 PANEL_RAISED = 1,
admcrae 2:ebe7029e2825 291 PANEL_HIDDEN = 2
admcrae 2:ebe7029e2825 292 };
admcrae 2:ebe7029e2825 293
admcrae 2:ebe7029e2825 294
admcrae 2:ebe7029e2825 295 //------------------------------------------------------------------------------
admcrae 2:ebe7029e2825 296 //txt_Set() related constants
admcrae 2:ebe7029e2825 297 //------------------------------------------------------------------------------
admcrae 2:ebe7029e2825 298 enum TextSetFunc {
admcrae 2:ebe7029e2825 299 TEXT_COLOUR = 0, // text foreground colr
admcrae 2:ebe7029e2825 300 TEXT_BACKGROUND = 1, // text background colr
admcrae 2:ebe7029e2825 301 TEXT_HIGHLIGHT = 1, // text background colr
admcrae 2:ebe7029e2825 302 FONT_ID = 2, // default 0, else points to data statement font
admcrae 2:ebe7029e2825 303 FONT_SIZE = 2, // compatibility
admcrae 2:ebe7029e2825 304 TEXT_WIDTH = 3, // text width multiplier
admcrae 2:ebe7029e2825 305 TEXT_HEIGHT = 4, // text height multiplier
admcrae 2:ebe7029e2825 306 TEXT_XGAP = 5, // horizontal text gap (default 1)
admcrae 2:ebe7029e2825 307 TEXT_YGAP = 6, // vertical text gap (default 1)
admcrae 2:ebe7029e2825 308 TEXT_PRINTDELAY = 7, // for 'teletype' like effect when printing
admcrae 2:ebe7029e2825 309 TEXT_OPACITY = 8, // text mode flag, TRANSPARENT or OPAQUE
admcrae 2:ebe7029e2825 310 TEXT_BOLD = 9, // embolden text (auto reset)
admcrae 2:ebe7029e2825 311 TEXT_ITALIC = 10, // italicize text (auto reset)
admcrae 2:ebe7029e2825 312 TEXT_INVERSE = 11, // invert text (auto reset)
admcrae 2:ebe7029e2825 313 TEXT_UNDERLINED = 12, // underline text (auto reset)
admcrae 2:ebe7029e2825 314 TEXT_ATTRIBUTES = 13, // controls BOLD/ITALIC/INVERSE/UNDERLINE simultaneously
admcrae 2:ebe7029e2825 315 TEXT_WRAP = 14 // Sets the pixel position where text wrap will occur at RHS
admcrae 2:ebe7029e2825 316 };
admcrae 2:ebe7029e2825 317
admcrae 2:ebe7029e2825 318 //------------------------------------------------------------------------------
admcrae 2:ebe7029e2825 319 //txt_Set() related arguments
admcrae 2:ebe7029e2825 320 // NB:- FONT4 must be inherited if required,
admcrae 2:ebe7029e2825 321 // eg #inherit "FONT4.fnt"
admcrae 2:ebe7029e2825 322 //------------------------------------------------------------------------------
admcrae 2:ebe7029e2825 323 enum Font {
admcrae 2:ebe7029e2825 324 FONT1 = 0, // (same as system font)
admcrae 2:ebe7029e2825 325 FONT2 = 1,
admcrae 2:ebe7029e2825 326 FONT3 = 2
admcrae 2:ebe7029e2825 327 };
admcrae 2:ebe7029e2825 328
admcrae 2:ebe7029e2825 329 enum TextOpacity {
admcrae 2:ebe7029e2825 330 TRANSPARENT = 0, // TEXT_OPACITY transparent text
admcrae 2:ebe7029e2825 331 OPAQUE = 1 // TEXT_OPACITY opaque text
admcrae 2:ebe7029e2825 332 };
admcrae 2:ebe7029e2825 333
admcrae 2:ebe7029e2825 334 enum TextAttribute {
admcrae 2:ebe7029e2825 335 BOLD = 16, // TEXT_ATTRIBUTES bold text
admcrae 2:ebe7029e2825 336 ITALIC = 32, // TEXT_ATTRIBUTES italic text
admcrae 2:ebe7029e2825 337 INVERSE = 64, // TEXT_ATTRIBUTES inverse text
admcrae 2:ebe7029e2825 338 UNDERLINED = 128 // TEXT_ATTRIBUTES underlined
admcrae 2:ebe7029e2825 339 };
admcrae 2:ebe7029e2825 340
admcrae 2:ebe7029e2825 341 enum Touch {
admcrae 2:ebe7029e2825 342 //touch_Set() related constants
admcrae 2:ebe7029e2825 343 TOUCH_ENABLE = 0,
admcrae 2:ebe7029e2825 344 TOUCH_DISABLE = 1,
admcrae 2:ebe7029e2825 345 TOUCH_REGIONDEFAULT = 2,
admcrae 2:ebe7029e2825 346
admcrae 2:ebe7029e2825 347 //touch_Get() related constants
admcrae 2:ebe7029e2825 348 TOUCH_STATUS = 0,
admcrae 2:ebe7029e2825 349 TOUCH_GETX = 1,
admcrae 2:ebe7029e2825 350 TOUCH_GETY = 2,
admcrae 2:ebe7029e2825 351 NOTOUCH = 0,
admcrae 2:ebe7029e2825 352 TOUCH_PRESSED = 1,
admcrae 2:ebe7029e2825 353 TOUCH_RELEASED = 2,
admcrae 2:ebe7029e2825 354 TOUCH_MOVING = 3
admcrae 2:ebe7029e2825 355 };
admcrae 2:ebe7029e2825 356
admcrae 2:ebe7029e2825 357
admcrae 2:ebe7029e2825 358 // image attribute flags
admcrae 2:ebe7029e2825 359 // for img_SetAttributes(...) and img_ClearAttributes(...)
admcrae 2:ebe7029e2825 360 enum ImageAttribute {
admcrae 2:ebe7029e2825 361 I_ENABLED = 0x8000, // bit 15, set for image enabled
admcrae 2:ebe7029e2825 362 I_DARKEN = 0x4000, // bit 14, display dimmed
admcrae 2:ebe7029e2825 363 I_LIGHTEN = 0x2000, // bit 13, display bright
admcrae 2:ebe7029e2825 364 I_TOUCHED = 0x1000, // bit 12, touch test result
admcrae 2:ebe7029e2825 365 I_Y_LOCK = 0x0800, // bit 11, stop Y movement
admcrae 2:ebe7029e2825 366 I_X_LOCK = 0x0400, // bit 10, stop X movement
admcrae 2:ebe7029e2825 367 I_TOPMOST = 0x0200, // bit 9, draw on top of other images next update (auto reset)
admcrae 2:ebe7029e2825 368 I_STAYONTOP = 0x0100, // bit 8, draw on top of other images always
admcrae 2:ebe7029e2825 369 I_MOVIE = 0x0080, // bit 7, image is a movie
admcrae 2:ebe7029e2825 370 I_NOGROUP = 0x0040, // bit 6, set to exclude image refresh when using img_Show(hndl, ALL);
admcrae 2:ebe7029e2825 371 I_TOUCH_DISABLE = 0x0020, // bit 5, set to disable touch for this image, default=1 for movie, 0 for image
admcrae 2:ebe7029e2825 372 I_COLOUR16 = 0x0010 // bit 4, indicates 16 bit colour mode
admcrae 2:ebe7029e2825 373 // bits 0-3 reserved
admcrae 2:ebe7029e2825 374 };
admcrae 2:ebe7029e2825 375
admcrae 2:ebe7029e2825 376
admcrae 2:ebe7029e2825 377 // image control entry offsets
admcrae 2:ebe7029e2825 378 enum ImageControlOffset {
admcrae 2:ebe7029e2825 379 IMAGE_LOWORD = 0, // WORD image address LO
admcrae 2:ebe7029e2825 380 IMAGE_HIWORD = 1, // WORD image address HI
admcrae 2:ebe7029e2825 381 IMAGE_XPOS = 2, // WORD image location X
admcrae 2:ebe7029e2825 382 IMAGE_YPOS = 3, // WORD image location Y
admcrae 2:ebe7029e2825 383 IMAGE_WIDTH = 4, // WORD image width
admcrae 2:ebe7029e2825 384 IMAGE_HEIGHT = 5, // WORD image height
admcrae 2:ebe7029e2825 385 IMAGE_FLAGS = 6, // WORD image flags
admcrae 2:ebe7029e2825 386 IMAGE_DELAY = 7, // WORD inter frame delay
admcrae 2:ebe7029e2825 387 IMAGE_FRAMES = 8, // WORD number of frames
admcrae 2:ebe7029e2825 388 IMAGE_INDEX = 9, // WORD current frame
admcrae 2:ebe7029e2825 389 IMAGE_CLUSTER = 10, // WORD image start cluster pos (for FAT16 only)
admcrae 2:ebe7029e2825 390 IMAGE_SECTOR = 11, // WORD image start sector in cluster pos (for FAT16 only)
admcrae 2:ebe7029e2825 391 IMAGE_TAG = 12, // WORD user variable #1
admcrae 2:ebe7029e2825 392 IMAGE_TAG2 = 13 // WORD user variable #2
admcrae 2:ebe7029e2825 393 };
admcrae 2:ebe7029e2825 394
admcrae 2:ebe7029e2825 395
admcrae 2:ebe7029e2825 396 enum MemOffsets {
admcrae 2:ebe7029e2825 397 // DISK struct offsets
admcrae 2:ebe7029e2825 398 DISK_FIRST_SECT_LO = 0, // DWORD address of the first sector of the FAT partition (LO word)
admcrae 2:ebe7029e2825 399 DISK_FIRST_SECT_HI = 1, // address of the first sector of the FAT partition (HI word)
admcrae 2:ebe7029e2825 400 DISK_FAT_LO = 2, // DWORD address of FAT (LO word)
admcrae 2:ebe7029e2825 401 DISK_FAT_HI = 3, // address of FAT (HI word)
admcrae 2:ebe7029e2825 402 DISK_ROOT_LO = 4, // DWORD address of root directory (LO word)
admcrae 2:ebe7029e2825 403 DISK_ROOT_HI = 5, // address of root directory (HI word)
admcrae 2:ebe7029e2825 404 DISK_DATA_LO = 6, // DWORD address of data area (LO word)
admcrae 2:ebe7029e2825 405 DISK_DATA_HI = 7, // address of data area (HI word)
admcrae 2:ebe7029e2825 406 DISK_MAXCLUS_LO = 8, // DWORD max number of clusters in partition (LO word)
admcrae 2:ebe7029e2825 407 DISK_MAXCLUS_HI = 9, // max number of clusters in partition (HI word)
admcrae 2:ebe7029e2825 408 DISK_MAXROOT = 10, // WORD max entries in root directory
admcrae 2:ebe7029e2825 409 DISK_FATSIZE = 11, // WORD number of sectors in FAT
admcrae 2:ebe7029e2825 410 DISK_FATCOPIES = 12, // WORD number of fat copies
admcrae 2:ebe7029e2825 411 DISK_SECT_PER_CLUS = 13, // WORD number of sectors per cluster
admcrae 2:ebe7029e2825 412 DISK_TYPE = 14, // WORD type of fat
admcrae 2:ebe7029e2825 413 DISK_BUF = 15, // WORD pointer to 512 byte info buffer
admcrae 2:ebe7029e2825 414
admcrae 2:ebe7029e2825 415 // FILE struct offsets
admcrae 2:ebe7029e2825 416 FILE_FIRST_CLUSTER = 0, // WORD first cluster
admcrae 2:ebe7029e2825 417 FILE_CURR_CLUSTER = 1, // WORD current cluster in file
admcrae 2:ebe7029e2825 418 FILE_CURR_SECTOR = 2, // WORD sector in current cluster
admcrae 2:ebe7029e2825 419 FILE_CURR_SECTOR_POS = 3, // WORD position in current sector
admcrae 2:ebe7029e2825 420 FILE_CURR_SECTOR_TOP = 4, // WORD number bytes in current sector buffer
admcrae 2:ebe7029e2825 421 FILE_SEEK_POS_LO = 5, // DWORD position in the file (LO word)
admcrae 2:ebe7029e2825 422 FILE_SEEK_POS_HI = 6, // position in the file (HI word)
admcrae 2:ebe7029e2825 423 FILE_SIZE_LO = 7, // DWORD file size (LO word)
admcrae 2:ebe7029e2825 424 FILE_SIZE_HI = 8, // file size (HI word)
admcrae 2:ebe7029e2825 425 FILE_TIME = 9, // WORD last update time
admcrae 2:ebe7029e2825 426 FILE_DATE = 10, // WORD last update date
admcrae 2:ebe7029e2825 427 FILE_NAME = 11, // WORD 12 byte buffer for filename
admcrae 2:ebe7029e2825 428 FILE_MODE = 17, // WORD file mode 'r', 'w', 'a'
admcrae 2:ebe7029e2825 429 FILE_ATTRIBUTES = 18, // WORD files attributes
admcrae 2:ebe7029e2825 430 FILE_PAGEFLAG = 19, // WORD cache check flag
admcrae 2:ebe7029e2825 431 FILE_ENTRY = 20, // WORD entry position in cur directory
admcrae 2:ebe7029e2825 432 FILE_DISK = 21, // WORD* pointer to DISK mount media structure
admcrae 2:ebe7029e2825 433 FILE_BUFFER = 22 // WORD* sector buffer
admcrae 2:ebe7029e2825 434 };
admcrae 2:ebe7029e2825 435
admcrae 2:ebe7029e2825 436
admcrae 2:ebe7029e2825 437 enum MemAddresses {
admcrae 2:ebe7029e2825 438 //------------------------------------------------------------------------------
admcrae 2:ebe7029e2825 439 // system WORD variables accesible with peekW and pokeW or pointer access
admcrae 2:ebe7029e2825 440 // Note that the txt_Set variables (0-15) and gfx_set variables (16-31)
admcrae 2:ebe7029e2825 441 // can also be accessed with peekW and pokeW
admcrae 2:ebe7029e2825 442 //------------------------------------------------------------------------------
admcrae 2:ebe7029e2825 443
admcrae 2:ebe7029e2825 444 RANDOM_LO = 32, // random number generator LO word
admcrae 2:ebe7029e2825 445 RANDOM_HI = 33, // random number generator LO word
admcrae 2:ebe7029e2825 446 SYSTEM_TIMER_LO = 34, // 1msec 32 bit free running timer LO word
admcrae 2:ebe7029e2825 447 SYSTEM_TIMER_HI = 35, // 1msec 32 bit free running timer HI word
admcrae 2:ebe7029e2825 448 TMR0 = 36, // user timer0
admcrae 2:ebe7029e2825 449 TMR1 = 37, // user timer1
admcrae 2:ebe7029e2825 450 TMR2 = 38, // user timer2
admcrae 2:ebe7029e2825 451 TMR3 = 39, // user timer3 (10msec resolution)
admcrae 2:ebe7029e2825 452 TMR4 = 40, // user timer0
admcrae 2:ebe7029e2825 453 TMR5 = 41, // user timer1
admcrae 2:ebe7029e2825 454 TMR6 = 42, // user timer2
admcrae 2:ebe7029e2825 455 TMR7 = 43, // user timer3 (10msec resolution)
admcrae 2:ebe7029e2825 456 SYS_X_MAX = 44, // display hardware X res-1
admcrae 2:ebe7029e2825 457 SYS_Y_MAX = 45, // display hardware Y res-1
admcrae 2:ebe7029e2825 458 GFX_XMAX = 46, // current display width-1 determined by portrait / landscape swapping
admcrae 2:ebe7029e2825 459 GFX_YMAX = 47, // current display width-1 determined by portrait / landscape swapping
admcrae 2:ebe7029e2825 460 GFX_LEFT = 48, // virtual left point for most recent object
admcrae 2:ebe7029e2825 461 GFX_TOP = 49, // virtual top point for most recent object
admcrae 2:ebe7029e2825 462 GFX_RIGHT = 50, // virtual right point for most recent object
admcrae 2:ebe7029e2825 463 GFX_BOTTOM = 51, // virtual bottom point for most recent object
admcrae 2:ebe7029e2825 464 GFX_X1 = 52, // clipped left point for current object
admcrae 2:ebe7029e2825 465 GFX_Y1 = 53, // clipped top point for current object
admcrae 2:ebe7029e2825 466 GFX_X2 = 54, // clipped right point for current object
admcrae 2:ebe7029e2825 467 GFX_Y2 = 55, // clipped bottom point for current object
admcrae 2:ebe7029e2825 468 GFX_X_ORG = 56, // current X origin
admcrae 2:ebe7029e2825 469 GFX_Y_ORG = 57, // current Y origin
admcrae 2:ebe7029e2825 470 GFX_HILITE_LINE = 58, // current multi line button hilite line
admcrae 2:ebe7029e2825 471 GFX_LINE_COUNT = 59, // count of lines in multiline button
admcrae 2:ebe7029e2825 472 GFX_LAST_SELECTION = 60, // last selected line
admcrae 2:ebe7029e2825 473 GFX_HILIGHT_BACKGROUND = 61, // multi button hilite background colour
admcrae 2:ebe7029e2825 474 GFX_HILIGHT_FOREGROUND = 62, // multi button hilite background colour
admcrae 2:ebe7029e2825 475 GFX_BUTTON_FOREGROUND = 63, // store default text colour for hilite line tracker
admcrae 2:ebe7029e2825 476 GFX_BUTTON_BACKGROUND = 64, // store default button colour for hilite line tracker
admcrae 2:ebe7029e2825 477 GFX_BUTTON_MODE = 65, // store current buttons mode
admcrae 2:ebe7029e2825 478 GFX_TOOLBAR_HEIGHT = 66, // height above
admcrae 2:ebe7029e2825 479 GFX_STATUSBAR_HEIGHT = 67, // height below
admcrae 2:ebe7029e2825 480 GFX_LEFT_GUTTER_WIDTH = 68, // width to left
admcrae 2:ebe7029e2825 481 GFX_RIGHT_GUTTER_WIDTH = 69, // width to right
admcrae 2:ebe7029e2825 482 GFX_PIXEL_SHIFT = 70, // pixel shift for button depress illusion (default 1)
admcrae 2:ebe7029e2825 483 GFX_RECT_X1 = 71, // gp rect, used by multiline button to hilite required line
admcrae 2:ebe7029e2825 484 GFX_RECT_Y1 = 72,
admcrae 2:ebe7029e2825 485 GFX_RECT_X2 = 73,
admcrae 2:ebe7029e2825 486 GFX_RECT_Y2 = 74,
admcrae 2:ebe7029e2825 487 GFX_THUMB_PERCENT = 75, // size of slider thumb as percentage
admcrae 2:ebe7029e2825 488 GFX_THUMB_BORDER_DARK = 76, // darker shadow of thumb
admcrae 2:ebe7029e2825 489 GFX_THUMB_BORDER_LIGHT = 77, // lighter shadow of thumb
admcrae 2:ebe7029e2825 490 TOUCH_XMINCAL = 78, // touch calibration value
admcrae 2:ebe7029e2825 491 TOUCH_YMINCAL = 79, // touch calibration value
admcrae 2:ebe7029e2825 492 TOUCH_XMAXCAL = 80, // touch calibration value
admcrae 2:ebe7029e2825 493 TOUCH_YMAXCAL = 81, // touch calibration value
admcrae 2:ebe7029e2825 494 IMG_WIDTH = 82, // width of currently loaded image
admcrae 2:ebe7029e2825 495 IMG_HEIGHT = 83, // height of currently loaded image
admcrae 2:ebe7029e2825 496 IMG_FRAME_DELAY = 84, // 0 if image, else inter frame delay for movie
admcrae 2:ebe7029e2825 497 IMG_FLAGS = 85, // bit 4 determines colour mode, other bits reserved
admcrae 2:ebe7029e2825 498 IMG_FRAME_COUNT = 86, // count of frames in a movie
admcrae 2:ebe7029e2825 499 IMG_PIXEL_COUNT_LO = 87, // count of pixels in the current frame
admcrae 2:ebe7029e2825 500 IMG_PIXEL_COUNT_HI = 88, // count of pixels in the current frame
admcrae 2:ebe7029e2825 501 IMG_CURRENT_FRAME = 89, // last frame shown
admcrae 2:ebe7029e2825 502 MEDIA_ADDRESS_LO = 90, // uSD byte address LO
admcrae 2:ebe7029e2825 503 MEDIA_ADDRESS_HI = 91, // uSD byte address HI
admcrae 2:ebe7029e2825 504 MEDIA_SECTOR_LO = 92, // uSD sector address LO
admcrae 2:ebe7029e2825 505 MEDIA_SECTOR_HI = 93, // uSD sector address HI
admcrae 2:ebe7029e2825 506 MEDIA_SECTOR_COUNT = 94, // uSD number of bytes remaining in sector
admcrae 2:ebe7029e2825 507 TEXT_XPOS = 95, // text current x pixel position
admcrae 2:ebe7029e2825 508 TEXT_YPOS = 96, // text current y pixel position
admcrae 2:ebe7029e2825 509 TEXT_MARGIN = 97, // text left pixel pos for carriage return
admcrae 2:ebe7029e2825 510 TXT_FONT_ID = 98, // font type, 0 = system font, else pointer to user font
admcrae 2:ebe7029e2825 511 TXT_FONT_MAX = 99, // max number of chars in font
admcrae 2:ebe7029e2825 512 TXT_FONT_OFFSET = 100, // starting offset (normally 0x20)
admcrae 2:ebe7029e2825 513 TXT_FONT_WIDTH = 101, // current font width
admcrae 2:ebe7029e2825 514 TXT_FONT_HEIGHT = 102, // current font height
admcrae 2:ebe7029e2825 515 GFX_TOUCH_REGION_X1 = 103, // touch capture region
admcrae 2:ebe7029e2825 516 GFX_TOUCH_REGION_Y1 = 104,
admcrae 2:ebe7029e2825 517 GFX_TOUCH_REGION_X2 = 105,
admcrae 2:ebe7029e2825 518 GFX_TOUCH_REGION_Y2 = 106,
admcrae 2:ebe7029e2825 519 GFX_CLIP_LEFT_VAL = 107, // left clipping point (set with gfx_ClipWindow(...)
admcrae 2:ebe7029e2825 520 GFX_CLIP_TOP_VAL = 108, // top clipping point (set with gfx_ClipWindow(...)
admcrae 2:ebe7029e2825 521 GFX_CLIP_RIGHT_VAL = 109, // right clipping point (set with gfx_ClipWindow(...)
admcrae 2:ebe7029e2825 522 GFX_CLIP_BOTTOM_VAL = 110, // bottom clipping point (set with gfx_ClipWindow(...)
admcrae 2:ebe7029e2825 523 GFX_CLIP_LEFT = 111, // current clip value (reads full size if clipping turned off)
admcrae 2:ebe7029e2825 524 GFX_CLIP_TOP = 112, // current clip value (reads full size if clipping turned off)
admcrae 2:ebe7029e2825 525 GFX_CLIP_RIGHT = 113, // current clip value (reads full size if clipping turned off)
admcrae 2:ebe7029e2825 526 GFX_CLIP_BOTTOM = 114, // current clip value (reads full size if clipping turned off)
admcrae 2:ebe7029e2825 527 GRAM_PIXEL_COUNT_LO = 115, // LO word of count of pixels in the set GRAM area
admcrae 2:ebe7029e2825 528 GRAM_PIXEL_COUNT_HI = 116, // HI word of count of pixels in the set GRAM area
admcrae 2:ebe7029e2825 529 TOUCH_RAW_X = 117, // 12 bit raw A2D X value from touch screen
admcrae 2:ebe7029e2825 530 TOUCH_RAW_Y = 118, // 12 bit raw A2D Y value from touch screen
admcrae 2:ebe7029e2825 531 GFX_LAST_CHAR_WIDTH = 119, // calculated char width from last call to charWidth function
admcrae 2:ebe7029e2825 532 GFX_LAST_CHAR_HEIGHT = 120, // calculated height from last call to charHeight function
admcrae 2:ebe7029e2825 533 GFX_LAST_STR_WIDTH = 121, // calculated width from last call to strWidth function
admcrae 2:ebe7029e2825 534 GFX_LAST_STR_HEIGHT = 122 // calculated height from last call to strHeight function
admcrae 2:ebe7029e2825 535 };
admcrae 2:ebe7029e2825 536 }
admcrae 2:ebe7029e2825 537
admcrae 2:ebe7029e2825 538 #endif