Microcontroller GUI library from embeddedlightning.com
Dependents: Bicycl_Computer_NUCLEO-F411RE Bicycl_Computer_NUCLEO-L476RG
ugui.h@0:42ded5e50e40, 2015-11-17 (annotated)
- Committer:
- unix_guru
- Date:
- Tue Nov 17 14:52:50 2015 +0000
- Revision:
- 0:42ded5e50e40
Updated ugui_config.h to define more fonts
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
unix_guru | 0:42ded5e50e40 | 1 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 2 | /* -- µGUI - Generic GUI module (C)Achim Döbler, 2015 -- */ |
unix_guru | 0:42ded5e50e40 | 3 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 4 | // µGUI is a generic GUI module for embedded systems. |
unix_guru | 0:42ded5e50e40 | 5 | // This is a free software that is open for education, research and commercial |
unix_guru | 0:42ded5e50e40 | 6 | // developments under license policy of following terms. |
unix_guru | 0:42ded5e50e40 | 7 | // |
unix_guru | 0:42ded5e50e40 | 8 | // Copyright (C) 2015, Achim Döbler, all rights reserved. |
unix_guru | 0:42ded5e50e40 | 9 | // URL: http://www.embeddedlightning.com/ |
unix_guru | 0:42ded5e50e40 | 10 | // URL: https://github.com/achimdoebler/UGUI |
unix_guru | 0:42ded5e50e40 | 11 | // |
unix_guru | 0:42ded5e50e40 | 12 | // |
unix_guru | 0:42ded5e50e40 | 13 | // * The µGUI module is a free software and there is NO WARRANTY. |
unix_guru | 0:42ded5e50e40 | 14 | // * No restriction on use. You can use, modify and redistribute it for |
unix_guru | 0:42ded5e50e40 | 15 | // personal, non-profit or commercial products UNDER YOUR RESPONSIBILITY. |
unix_guru | 0:42ded5e50e40 | 16 | // * Redistributions of source code must retain the above copyright notice. |
unix_guru | 0:42ded5e50e40 | 17 | // |
unix_guru | 0:42ded5e50e40 | 18 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 19 | #ifndef __UGUI_H |
unix_guru | 0:42ded5e50e40 | 20 | #define __UGUI_H |
unix_guru | 0:42ded5e50e40 | 21 | |
unix_guru | 0:42ded5e50e40 | 22 | #include "mbed.h" |
unix_guru | 0:42ded5e50e40 | 23 | #include "ugui_config.h" |
unix_guru | 0:42ded5e50e40 | 24 | |
unix_guru | 0:42ded5e50e40 | 25 | |
unix_guru | 0:42ded5e50e40 | 26 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 27 | /* -- µGUI FONTS -- */ |
unix_guru | 0:42ded5e50e40 | 28 | /* -- Source: http://www.mikrocontroller.net/user/show/benedikt -- */ |
unix_guru | 0:42ded5e50e40 | 29 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 30 | typedef enum |
unix_guru | 0:42ded5e50e40 | 31 | { |
unix_guru | 0:42ded5e50e40 | 32 | FONT_TYPE_1BPP, |
unix_guru | 0:42ded5e50e40 | 33 | FONT_TYPE_8BPP |
unix_guru | 0:42ded5e50e40 | 34 | } FONT_TYPE; |
unix_guru | 0:42ded5e50e40 | 35 | |
unix_guru | 0:42ded5e50e40 | 36 | typedef struct |
unix_guru | 0:42ded5e50e40 | 37 | { |
unix_guru | 0:42ded5e50e40 | 38 | unsigned char* p; |
unix_guru | 0:42ded5e50e40 | 39 | FONT_TYPE font_type; |
unix_guru | 0:42ded5e50e40 | 40 | UG_S16 char_width; |
unix_guru | 0:42ded5e50e40 | 41 | UG_S16 char_height; |
unix_guru | 0:42ded5e50e40 | 42 | UG_U16 start_char; |
unix_guru | 0:42ded5e50e40 | 43 | UG_U16 end_char; |
unix_guru | 0:42ded5e50e40 | 44 | UG_U8 *widths; |
unix_guru | 0:42ded5e50e40 | 45 | } UG_FONT; |
unix_guru | 0:42ded5e50e40 | 46 | |
unix_guru | 0:42ded5e50e40 | 47 | #ifdef USE_FONT_4X6 |
unix_guru | 0:42ded5e50e40 | 48 | extern const UG_FONT FONT_4X6; |
unix_guru | 0:42ded5e50e40 | 49 | #endif |
unix_guru | 0:42ded5e50e40 | 50 | #ifdef USE_FONT_5X8 |
unix_guru | 0:42ded5e50e40 | 51 | extern const UG_FONT FONT_5X8; |
unix_guru | 0:42ded5e50e40 | 52 | #endif |
unix_guru | 0:42ded5e50e40 | 53 | #ifdef USE_FONT_5X12 |
unix_guru | 0:42ded5e50e40 | 54 | extern const UG_FONT FONT_5X12; |
unix_guru | 0:42ded5e50e40 | 55 | #endif |
unix_guru | 0:42ded5e50e40 | 56 | #ifdef USE_FONT_6X8 |
unix_guru | 0:42ded5e50e40 | 57 | extern const UG_FONT FONT_6X8; |
unix_guru | 0:42ded5e50e40 | 58 | #endif |
unix_guru | 0:42ded5e50e40 | 59 | #ifdef USE_FONT_6X10 |
unix_guru | 0:42ded5e50e40 | 60 | extern const UG_FONT FONT_6X10; |
unix_guru | 0:42ded5e50e40 | 61 | #endif |
unix_guru | 0:42ded5e50e40 | 62 | #ifdef USE_FONT_7X12 |
unix_guru | 0:42ded5e50e40 | 63 | extern const UG_FONT FONT_7X12; |
unix_guru | 0:42ded5e50e40 | 64 | #endif |
unix_guru | 0:42ded5e50e40 | 65 | #ifdef USE_FONT_8X8 |
unix_guru | 0:42ded5e50e40 | 66 | extern const UG_FONT FONT_8X8; |
unix_guru | 0:42ded5e50e40 | 67 | #endif |
unix_guru | 0:42ded5e50e40 | 68 | #ifdef USE_FONT_8X12 |
unix_guru | 0:42ded5e50e40 | 69 | extern const UG_FONT FONT_8X12; |
unix_guru | 0:42ded5e50e40 | 70 | #endif |
unix_guru | 0:42ded5e50e40 | 71 | #ifdef USE_FONT_8X14 |
unix_guru | 0:42ded5e50e40 | 72 | extern const UG_FONT FONT_8X14; |
unix_guru | 0:42ded5e50e40 | 73 | #endif |
unix_guru | 0:42ded5e50e40 | 74 | #ifdef USE_FONT_10X16 |
unix_guru | 0:42ded5e50e40 | 75 | extern const UG_FONT FONT_10X16; |
unix_guru | 0:42ded5e50e40 | 76 | #endif |
unix_guru | 0:42ded5e50e40 | 77 | #ifdef USE_FONT_12X16 |
unix_guru | 0:42ded5e50e40 | 78 | extern const UG_FONT FONT_12X16; |
unix_guru | 0:42ded5e50e40 | 79 | #endif |
unix_guru | 0:42ded5e50e40 | 80 | #ifdef USE_FONT_12X20 |
unix_guru | 0:42ded5e50e40 | 81 | extern const UG_FONT FONT_12X20; |
unix_guru | 0:42ded5e50e40 | 82 | #endif |
unix_guru | 0:42ded5e50e40 | 83 | #ifdef USE_FONT_16X26 |
unix_guru | 0:42ded5e50e40 | 84 | extern const UG_FONT FONT_16X26; |
unix_guru | 0:42ded5e50e40 | 85 | #endif |
unix_guru | 0:42ded5e50e40 | 86 | #ifdef USE_FONT_22X36 |
unix_guru | 0:42ded5e50e40 | 87 | extern const UG_FONT FONT_22X36; |
unix_guru | 0:42ded5e50e40 | 88 | #endif |
unix_guru | 0:42ded5e50e40 | 89 | #ifdef USE_FONT_24X40 |
unix_guru | 0:42ded5e50e40 | 90 | extern const UG_FONT FONT_24X40; |
unix_guru | 0:42ded5e50e40 | 91 | #endif |
unix_guru | 0:42ded5e50e40 | 92 | #ifdef USE_FONT_32X53 |
unix_guru | 0:42ded5e50e40 | 93 | extern const UG_FONT FONT_32X53; |
unix_guru | 0:42ded5e50e40 | 94 | #endif |
unix_guru | 0:42ded5e50e40 | 95 | |
unix_guru | 0:42ded5e50e40 | 96 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 97 | /* -- TYPEDEFS -- */ |
unix_guru | 0:42ded5e50e40 | 98 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 99 | typedef struct S_OBJECT UG_OBJECT; |
unix_guru | 0:42ded5e50e40 | 100 | typedef struct S_WINDOW UG_WINDOW; |
unix_guru | 0:42ded5e50e40 | 101 | typedef UG_S8 UG_RESULT; |
unix_guru | 0:42ded5e50e40 | 102 | typedef UG_U32 UG_COLOR; |
unix_guru | 0:42ded5e50e40 | 103 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 104 | /* -- DEFINES -- */ |
unix_guru | 0:42ded5e50e40 | 105 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 106 | #ifndef NULL |
unix_guru | 0:42ded5e50e40 | 107 | #define NULL ((void*) 0) |
unix_guru | 0:42ded5e50e40 | 108 | #endif |
unix_guru | 0:42ded5e50e40 | 109 | |
unix_guru | 0:42ded5e50e40 | 110 | /* Alignments */ |
unix_guru | 0:42ded5e50e40 | 111 | #define ALIGN_H_LEFT (1<<0) |
unix_guru | 0:42ded5e50e40 | 112 | #define ALIGN_H_CENTER (1<<1) |
unix_guru | 0:42ded5e50e40 | 113 | #define ALIGN_H_RIGHT (1<<2) |
unix_guru | 0:42ded5e50e40 | 114 | #define ALIGN_V_TOP (1<<3) |
unix_guru | 0:42ded5e50e40 | 115 | #define ALIGN_V_CENTER (1<<4) |
unix_guru | 0:42ded5e50e40 | 116 | #define ALIGN_V_BOTTOM (1<<5) |
unix_guru | 0:42ded5e50e40 | 117 | #define ALIGN_BOTTOM_RIGHT (ALIGN_V_BOTTOM|ALIGN_H_RIGHT) |
unix_guru | 0:42ded5e50e40 | 118 | #define ALIGN_BOTTOM_CENTER (ALIGN_V_BOTTOM|ALIGN_H_CENTER) |
unix_guru | 0:42ded5e50e40 | 119 | #define ALIGN_BOTTOM_LEFT (ALIGN_V_BOTTOM|ALIGN_H_LEFT) |
unix_guru | 0:42ded5e50e40 | 120 | #define ALIGN_CENTER_RIGHT (ALIGN_V_CENTER|ALIGN_H_RIGHT) |
unix_guru | 0:42ded5e50e40 | 121 | #define ALIGN_CENTER (ALIGN_V_CENTER|ALIGN_H_CENTER) |
unix_guru | 0:42ded5e50e40 | 122 | #define ALIGN_CENTER_LEFT (ALIGN_V_CENTER|ALIGN_H_LEFT) |
unix_guru | 0:42ded5e50e40 | 123 | #define ALIGN_TOP_RIGHT (ALIGN_V_TOP|ALIGN_H_RIGHT) |
unix_guru | 0:42ded5e50e40 | 124 | #define ALIGN_TOP_CENTER (ALIGN_V_TOP|ALIGN_H_CENTER) |
unix_guru | 0:42ded5e50e40 | 125 | #define ALIGN_TOP_LEFT (ALIGN_V_TOP|ALIGN_H_LEFT) |
unix_guru | 0:42ded5e50e40 | 126 | |
unix_guru | 0:42ded5e50e40 | 127 | /* Default IDs */ |
unix_guru | 0:42ded5e50e40 | 128 | #define OBJ_ID_0 0 |
unix_guru | 0:42ded5e50e40 | 129 | #define OBJ_ID_1 1 |
unix_guru | 0:42ded5e50e40 | 130 | #define OBJ_ID_2 2 |
unix_guru | 0:42ded5e50e40 | 131 | #define OBJ_ID_3 3 |
unix_guru | 0:42ded5e50e40 | 132 | #define OBJ_ID_4 4 |
unix_guru | 0:42ded5e50e40 | 133 | #define OBJ_ID_5 5 |
unix_guru | 0:42ded5e50e40 | 134 | #define OBJ_ID_6 6 |
unix_guru | 0:42ded5e50e40 | 135 | #define OBJ_ID_7 7 |
unix_guru | 0:42ded5e50e40 | 136 | #define OBJ_ID_8 8 |
unix_guru | 0:42ded5e50e40 | 137 | #define OBJ_ID_9 9 |
unix_guru | 0:42ded5e50e40 | 138 | #define OBJ_ID_10 10 |
unix_guru | 0:42ded5e50e40 | 139 | #define OBJ_ID_11 11 |
unix_guru | 0:42ded5e50e40 | 140 | #define OBJ_ID_12 12 |
unix_guru | 0:42ded5e50e40 | 141 | #define OBJ_ID_13 13 |
unix_guru | 0:42ded5e50e40 | 142 | #define OBJ_ID_14 14 |
unix_guru | 0:42ded5e50e40 | 143 | #define OBJ_ID_15 15 |
unix_guru | 0:42ded5e50e40 | 144 | #define OBJ_ID_16 16 |
unix_guru | 0:42ded5e50e40 | 145 | #define OBJ_ID_17 17 |
unix_guru | 0:42ded5e50e40 | 146 | #define OBJ_ID_18 18 |
unix_guru | 0:42ded5e50e40 | 147 | #define OBJ_ID_19 19 |
unix_guru | 0:42ded5e50e40 | 148 | |
unix_guru | 0:42ded5e50e40 | 149 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 150 | /* -- FUNCTION RESULTS -- */ |
unix_guru | 0:42ded5e50e40 | 151 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 152 | #define UG_RESULT_FAIL -1 |
unix_guru | 0:42ded5e50e40 | 153 | #define UG_RESULT_OK 0 |
unix_guru | 0:42ded5e50e40 | 154 | |
unix_guru | 0:42ded5e50e40 | 155 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 156 | /* -- UNIVERSAL STRUCTURES -- */ |
unix_guru | 0:42ded5e50e40 | 157 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 158 | /* Area structure */ |
unix_guru | 0:42ded5e50e40 | 159 | typedef struct |
unix_guru | 0:42ded5e50e40 | 160 | { |
unix_guru | 0:42ded5e50e40 | 161 | UG_S16 xs; |
unix_guru | 0:42ded5e50e40 | 162 | UG_S16 ys; |
unix_guru | 0:42ded5e50e40 | 163 | UG_S16 xe; |
unix_guru | 0:42ded5e50e40 | 164 | UG_S16 ye; |
unix_guru | 0:42ded5e50e40 | 165 | } UG_AREA; |
unix_guru | 0:42ded5e50e40 | 166 | |
unix_guru | 0:42ded5e50e40 | 167 | /* Text structure */ |
unix_guru | 0:42ded5e50e40 | 168 | typedef struct |
unix_guru | 0:42ded5e50e40 | 169 | { |
unix_guru | 0:42ded5e50e40 | 170 | char* str; |
unix_guru | 0:42ded5e50e40 | 171 | const UG_FONT* font; |
unix_guru | 0:42ded5e50e40 | 172 | UG_AREA a; |
unix_guru | 0:42ded5e50e40 | 173 | UG_COLOR fc; |
unix_guru | 0:42ded5e50e40 | 174 | UG_COLOR bc; |
unix_guru | 0:42ded5e50e40 | 175 | UG_U8 align; |
unix_guru | 0:42ded5e50e40 | 176 | UG_S16 h_space; |
unix_guru | 0:42ded5e50e40 | 177 | UG_S16 v_space; |
unix_guru | 0:42ded5e50e40 | 178 | } UG_TEXT; |
unix_guru | 0:42ded5e50e40 | 179 | |
unix_guru | 0:42ded5e50e40 | 180 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 181 | /* -- BITMAP -- */ |
unix_guru | 0:42ded5e50e40 | 182 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 183 | typedef struct |
unix_guru | 0:42ded5e50e40 | 184 | { |
unix_guru | 0:42ded5e50e40 | 185 | void* p; |
unix_guru | 0:42ded5e50e40 | 186 | UG_U16 width; |
unix_guru | 0:42ded5e50e40 | 187 | UG_U16 height; |
unix_guru | 0:42ded5e50e40 | 188 | UG_U8 bpp; |
unix_guru | 0:42ded5e50e40 | 189 | UG_U8 colors; |
unix_guru | 0:42ded5e50e40 | 190 | } UG_BMP; |
unix_guru | 0:42ded5e50e40 | 191 | |
unix_guru | 0:42ded5e50e40 | 192 | #define BMP_BPP_1 (1<<0) |
unix_guru | 0:42ded5e50e40 | 193 | #define BMP_BPP_2 (1<<1) |
unix_guru | 0:42ded5e50e40 | 194 | #define BMP_BPP_4 (1<<2) |
unix_guru | 0:42ded5e50e40 | 195 | #define BMP_BPP_8 (1<<3) |
unix_guru | 0:42ded5e50e40 | 196 | #define BMP_BPP_16 (1<<4) |
unix_guru | 0:42ded5e50e40 | 197 | #define BMP_BPP_32 (1<<5) |
unix_guru | 0:42ded5e50e40 | 198 | #define BMP_RGB888 (1<<0) |
unix_guru | 0:42ded5e50e40 | 199 | #define BMP_RGB565 (1<<1) |
unix_guru | 0:42ded5e50e40 | 200 | #define BMP_RGB555 (1<<2) |
unix_guru | 0:42ded5e50e40 | 201 | |
unix_guru | 0:42ded5e50e40 | 202 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 203 | /* -- MESSAGE -- */ |
unix_guru | 0:42ded5e50e40 | 204 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 205 | /* Message structure */ |
unix_guru | 0:42ded5e50e40 | 206 | typedef struct |
unix_guru | 0:42ded5e50e40 | 207 | { |
unix_guru | 0:42ded5e50e40 | 208 | UG_U8 type; |
unix_guru | 0:42ded5e50e40 | 209 | UG_U8 id; |
unix_guru | 0:42ded5e50e40 | 210 | UG_U8 sub_id; |
unix_guru | 0:42ded5e50e40 | 211 | UG_U8 event; |
unix_guru | 0:42ded5e50e40 | 212 | void* src; |
unix_guru | 0:42ded5e50e40 | 213 | } UG_MESSAGE; |
unix_guru | 0:42ded5e50e40 | 214 | |
unix_guru | 0:42ded5e50e40 | 215 | /* Message types */ |
unix_guru | 0:42ded5e50e40 | 216 | #define MSG_TYPE_NONE 0 |
unix_guru | 0:42ded5e50e40 | 217 | #define MSG_TYPE_WINDOW 1 |
unix_guru | 0:42ded5e50e40 | 218 | #define MSG_TYPE_OBJECT 2 |
unix_guru | 0:42ded5e50e40 | 219 | |
unix_guru | 0:42ded5e50e40 | 220 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 221 | /* -- TOUCH -- */ |
unix_guru | 0:42ded5e50e40 | 222 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 223 | /* Touch structure */ |
unix_guru | 0:42ded5e50e40 | 224 | typedef struct |
unix_guru | 0:42ded5e50e40 | 225 | { |
unix_guru | 0:42ded5e50e40 | 226 | UG_U8 state; |
unix_guru | 0:42ded5e50e40 | 227 | UG_S16 xp; |
unix_guru | 0:42ded5e50e40 | 228 | UG_S16 yp; |
unix_guru | 0:42ded5e50e40 | 229 | } UG_TOUCH; |
unix_guru | 0:42ded5e50e40 | 230 | |
unix_guru | 0:42ded5e50e40 | 231 | |
unix_guru | 0:42ded5e50e40 | 232 | #define TOUCH_STATE_PRESSED 1 |
unix_guru | 0:42ded5e50e40 | 233 | #define TOUCH_STATE_RELEASED 0 |
unix_guru | 0:42ded5e50e40 | 234 | |
unix_guru | 0:42ded5e50e40 | 235 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 236 | /* -- OBJECTS -- */ |
unix_guru | 0:42ded5e50e40 | 237 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 238 | /* Object structure */ |
unix_guru | 0:42ded5e50e40 | 239 | struct S_OBJECT |
unix_guru | 0:42ded5e50e40 | 240 | { |
unix_guru | 0:42ded5e50e40 | 241 | UG_U8 state; /* object state */ |
unix_guru | 0:42ded5e50e40 | 242 | UG_U8 touch_state; /* object touch state */ |
unix_guru | 0:42ded5e50e40 | 243 | void (*update) (UG_WINDOW*,UG_OBJECT*); /* pointer to object-specific update function */ |
unix_guru | 0:42ded5e50e40 | 244 | UG_AREA a_abs; /* absolute area of the object */ |
unix_guru | 0:42ded5e50e40 | 245 | UG_AREA a_rel; /* relative area of the object */ |
unix_guru | 0:42ded5e50e40 | 246 | UG_U8 type; /* object type */ |
unix_guru | 0:42ded5e50e40 | 247 | UG_U8 id; /* object ID */ |
unix_guru | 0:42ded5e50e40 | 248 | UG_U8 event; /* object-specific events */ |
unix_guru | 0:42ded5e50e40 | 249 | void* data; /* pointer to object-specific data */ |
unix_guru | 0:42ded5e50e40 | 250 | }; |
unix_guru | 0:42ded5e50e40 | 251 | |
unix_guru | 0:42ded5e50e40 | 252 | /* Currently supported objects */ |
unix_guru | 0:42ded5e50e40 | 253 | #define OBJ_TYPE_NONE 0 |
unix_guru | 0:42ded5e50e40 | 254 | #define OBJ_TYPE_BUTTON 1 |
unix_guru | 0:42ded5e50e40 | 255 | #define OBJ_TYPE_TEXTBOX 2 |
unix_guru | 0:42ded5e50e40 | 256 | #define OBJ_TYPE_IMAGE 3 |
unix_guru | 0:42ded5e50e40 | 257 | |
unix_guru | 0:42ded5e50e40 | 258 | /* Standard object events */ |
unix_guru | 0:42ded5e50e40 | 259 | #define OBJ_EVENT_NONE 0 |
unix_guru | 0:42ded5e50e40 | 260 | #define OBJ_EVENT_CLICKED 1 |
unix_guru | 0:42ded5e50e40 | 261 | #ifdef USE_PRERENDER_EVENT |
unix_guru | 0:42ded5e50e40 | 262 | #define OBJ_EVENT_PRERENDER 2 |
unix_guru | 0:42ded5e50e40 | 263 | #endif |
unix_guru | 0:42ded5e50e40 | 264 | #ifdef USE_POSTRENDER_EVENT |
unix_guru | 0:42ded5e50e40 | 265 | #define OBJ_EVENT_POSTRENDER 3 |
unix_guru | 0:42ded5e50e40 | 266 | #endif |
unix_guru | 0:42ded5e50e40 | 267 | #define OBJ_EVENT_PRESSED 4 |
unix_guru | 0:42ded5e50e40 | 268 | #define OBJ_EVENT_RELEASED 5 |
unix_guru | 0:42ded5e50e40 | 269 | |
unix_guru | 0:42ded5e50e40 | 270 | |
unix_guru | 0:42ded5e50e40 | 271 | /* Object states */ |
unix_guru | 0:42ded5e50e40 | 272 | #define OBJ_STATE_FREE (1<<0) |
unix_guru | 0:42ded5e50e40 | 273 | #define OBJ_STATE_VALID (1<<1) |
unix_guru | 0:42ded5e50e40 | 274 | #define OBJ_STATE_BUSY (1<<2) |
unix_guru | 0:42ded5e50e40 | 275 | #define OBJ_STATE_VISIBLE (1<<3) |
unix_guru | 0:42ded5e50e40 | 276 | #define OBJ_STATE_ENABLE (1<<4) |
unix_guru | 0:42ded5e50e40 | 277 | #define OBJ_STATE_UPDATE (1<<5) |
unix_guru | 0:42ded5e50e40 | 278 | #define OBJ_STATE_REDRAW (1<<6) |
unix_guru | 0:42ded5e50e40 | 279 | #define OBJ_STATE_TOUCH_ENABLE (1<<7) |
unix_guru | 0:42ded5e50e40 | 280 | #define OBJ_STATE_INIT (OBJ_STATE_FREE | OBJ_STATE_VALID) |
unix_guru | 0:42ded5e50e40 | 281 | |
unix_guru | 0:42ded5e50e40 | 282 | /* Object touch states */ |
unix_guru | 0:42ded5e50e40 | 283 | #define OBJ_TOUCH_STATE_CHANGED (1<<0) |
unix_guru | 0:42ded5e50e40 | 284 | #define OBJ_TOUCH_STATE_PRESSED_ON_OBJECT (1<<1) |
unix_guru | 0:42ded5e50e40 | 285 | #define OBJ_TOUCH_STATE_PRESSED_OUTSIDE_OBJECT (1<<2) |
unix_guru | 0:42ded5e50e40 | 286 | #define OBJ_TOUCH_STATE_RELEASED_ON_OBJECT (1<<3) |
unix_guru | 0:42ded5e50e40 | 287 | #define OBJ_TOUCH_STATE_RELEASED_OUTSIDE_OBJECT (1<<4) |
unix_guru | 0:42ded5e50e40 | 288 | #define OBJ_TOUCH_STATE_IS_PRESSED_ON_OBJECT (1<<5) |
unix_guru | 0:42ded5e50e40 | 289 | #define OBJ_TOUCH_STATE_IS_PRESSED (1<<6) |
unix_guru | 0:42ded5e50e40 | 290 | #define OBJ_TOUCH_STATE_CLICK_ON_OBJECT (1<<7) |
unix_guru | 0:42ded5e50e40 | 291 | #define OBJ_TOUCH_STATE_INIT 0 |
unix_guru | 0:42ded5e50e40 | 292 | |
unix_guru | 0:42ded5e50e40 | 293 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 294 | /* -- WINDOW -- */ |
unix_guru | 0:42ded5e50e40 | 295 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 296 | /* Title structure */ |
unix_guru | 0:42ded5e50e40 | 297 | typedef struct |
unix_guru | 0:42ded5e50e40 | 298 | { |
unix_guru | 0:42ded5e50e40 | 299 | char* str; |
unix_guru | 0:42ded5e50e40 | 300 | const UG_FONT* font; |
unix_guru | 0:42ded5e50e40 | 301 | UG_S8 h_space; |
unix_guru | 0:42ded5e50e40 | 302 | UG_S8 v_space; |
unix_guru | 0:42ded5e50e40 | 303 | UG_U8 align; |
unix_guru | 0:42ded5e50e40 | 304 | UG_COLOR fc; |
unix_guru | 0:42ded5e50e40 | 305 | UG_COLOR bc; |
unix_guru | 0:42ded5e50e40 | 306 | UG_COLOR ifc; |
unix_guru | 0:42ded5e50e40 | 307 | UG_COLOR ibc; |
unix_guru | 0:42ded5e50e40 | 308 | UG_U8 height; |
unix_guru | 0:42ded5e50e40 | 309 | } UG_TITLE; |
unix_guru | 0:42ded5e50e40 | 310 | |
unix_guru | 0:42ded5e50e40 | 311 | /* Window structure */ |
unix_guru | 0:42ded5e50e40 | 312 | struct S_WINDOW |
unix_guru | 0:42ded5e50e40 | 313 | { |
unix_guru | 0:42ded5e50e40 | 314 | UG_U8 objcnt; |
unix_guru | 0:42ded5e50e40 | 315 | UG_OBJECT* objlst; |
unix_guru | 0:42ded5e50e40 | 316 | UG_U8 state; |
unix_guru | 0:42ded5e50e40 | 317 | UG_COLOR fc; |
unix_guru | 0:42ded5e50e40 | 318 | UG_COLOR bc; |
unix_guru | 0:42ded5e50e40 | 319 | UG_S16 xs; |
unix_guru | 0:42ded5e50e40 | 320 | UG_S16 ys; |
unix_guru | 0:42ded5e50e40 | 321 | UG_S16 xe; |
unix_guru | 0:42ded5e50e40 | 322 | UG_S16 ye; |
unix_guru | 0:42ded5e50e40 | 323 | UG_U8 style; |
unix_guru | 0:42ded5e50e40 | 324 | UG_TITLE title; |
unix_guru | 0:42ded5e50e40 | 325 | void (*cb)( UG_MESSAGE* ); |
unix_guru | 0:42ded5e50e40 | 326 | }; |
unix_guru | 0:42ded5e50e40 | 327 | |
unix_guru | 0:42ded5e50e40 | 328 | /* Window states */ |
unix_guru | 0:42ded5e50e40 | 329 | #define WND_STATE_FREE (1<<0) |
unix_guru | 0:42ded5e50e40 | 330 | #define WND_STATE_VALID (1<<1) |
unix_guru | 0:42ded5e50e40 | 331 | #define WND_STATE_BUSY (1<<2) |
unix_guru | 0:42ded5e50e40 | 332 | #define WND_STATE_VISIBLE (1<<3) |
unix_guru | 0:42ded5e50e40 | 333 | #define WND_STATE_ENABLE (1<<4) |
unix_guru | 0:42ded5e50e40 | 334 | #define WND_STATE_UPDATE (1<<5) |
unix_guru | 0:42ded5e50e40 | 335 | #define WND_STATE_REDRAW_TITLE (1<<6) |
unix_guru | 0:42ded5e50e40 | 336 | |
unix_guru | 0:42ded5e50e40 | 337 | /* Window styles */ |
unix_guru | 0:42ded5e50e40 | 338 | #define WND_STYLE_2D (0<<0) |
unix_guru | 0:42ded5e50e40 | 339 | #define WND_STYLE_3D (1<<0) |
unix_guru | 0:42ded5e50e40 | 340 | #define WND_STYLE_HIDE_TITLE (0<<1) |
unix_guru | 0:42ded5e50e40 | 341 | #define WND_STYLE_SHOW_TITLE (1<<1) |
unix_guru | 0:42ded5e50e40 | 342 | |
unix_guru | 0:42ded5e50e40 | 343 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 344 | /* -- BUTTON OBJECT -- */ |
unix_guru | 0:42ded5e50e40 | 345 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 346 | /* Button structure */ |
unix_guru | 0:42ded5e50e40 | 347 | typedef struct |
unix_guru | 0:42ded5e50e40 | 348 | { |
unix_guru | 0:42ded5e50e40 | 349 | UG_U8 state; |
unix_guru | 0:42ded5e50e40 | 350 | UG_U8 style; |
unix_guru | 0:42ded5e50e40 | 351 | UG_COLOR fc; |
unix_guru | 0:42ded5e50e40 | 352 | UG_COLOR bc; |
unix_guru | 0:42ded5e50e40 | 353 | UG_COLOR afc; |
unix_guru | 0:42ded5e50e40 | 354 | UG_COLOR abc; |
unix_guru | 0:42ded5e50e40 | 355 | const UG_FONT* font; |
unix_guru | 0:42ded5e50e40 | 356 | UG_U8 align; |
unix_guru | 0:42ded5e50e40 | 357 | UG_S8 h_space; |
unix_guru | 0:42ded5e50e40 | 358 | UG_S8 v_space; |
unix_guru | 0:42ded5e50e40 | 359 | char* str; |
unix_guru | 0:42ded5e50e40 | 360 | }UG_BUTTON; |
unix_guru | 0:42ded5e50e40 | 361 | |
unix_guru | 0:42ded5e50e40 | 362 | /* Default button IDs */ |
unix_guru | 0:42ded5e50e40 | 363 | #define BTN_ID_0 OBJ_ID_0 |
unix_guru | 0:42ded5e50e40 | 364 | #define BTN_ID_1 OBJ_ID_1 |
unix_guru | 0:42ded5e50e40 | 365 | #define BTN_ID_2 OBJ_ID_2 |
unix_guru | 0:42ded5e50e40 | 366 | #define BTN_ID_3 OBJ_ID_3 |
unix_guru | 0:42ded5e50e40 | 367 | #define BTN_ID_4 OBJ_ID_4 |
unix_guru | 0:42ded5e50e40 | 368 | #define BTN_ID_5 OBJ_ID_5 |
unix_guru | 0:42ded5e50e40 | 369 | #define BTN_ID_6 OBJ_ID_6 |
unix_guru | 0:42ded5e50e40 | 370 | #define BTN_ID_7 OBJ_ID_7 |
unix_guru | 0:42ded5e50e40 | 371 | #define BTN_ID_8 OBJ_ID_8 |
unix_guru | 0:42ded5e50e40 | 372 | #define BTN_ID_9 OBJ_ID_9 |
unix_guru | 0:42ded5e50e40 | 373 | #define BTN_ID_10 OBJ_ID_10 |
unix_guru | 0:42ded5e50e40 | 374 | #define BTN_ID_11 OBJ_ID_11 |
unix_guru | 0:42ded5e50e40 | 375 | #define BTN_ID_12 OBJ_ID_12 |
unix_guru | 0:42ded5e50e40 | 376 | #define BTN_ID_13 OBJ_ID_13 |
unix_guru | 0:42ded5e50e40 | 377 | #define BTN_ID_14 OBJ_ID_14 |
unix_guru | 0:42ded5e50e40 | 378 | #define BTN_ID_15 OBJ_ID_15 |
unix_guru | 0:42ded5e50e40 | 379 | #define BTN_ID_16 OBJ_ID_16 |
unix_guru | 0:42ded5e50e40 | 380 | #define BTN_ID_17 OBJ_ID_17 |
unix_guru | 0:42ded5e50e40 | 381 | #define BTN_ID_18 OBJ_ID_18 |
unix_guru | 0:42ded5e50e40 | 382 | #define BTN_ID_19 OBJ_ID_19 |
unix_guru | 0:42ded5e50e40 | 383 | |
unix_guru | 0:42ded5e50e40 | 384 | /* Button states */ |
unix_guru | 0:42ded5e50e40 | 385 | #define BTN_STATE_RELEASED (0<<0) |
unix_guru | 0:42ded5e50e40 | 386 | #define BTN_STATE_PRESSED (1<<0) |
unix_guru | 0:42ded5e50e40 | 387 | #define BTN_STATE_ALWAYS_REDRAW (1<<1) |
unix_guru | 0:42ded5e50e40 | 388 | |
unix_guru | 0:42ded5e50e40 | 389 | /* Button style */ |
unix_guru | 0:42ded5e50e40 | 390 | #define BTN_STYLE_2D (0<<0) |
unix_guru | 0:42ded5e50e40 | 391 | #define BTN_STYLE_3D (1<<0) |
unix_guru | 0:42ded5e50e40 | 392 | #define BTN_STYLE_TOGGLE_COLORS (1<<1) |
unix_guru | 0:42ded5e50e40 | 393 | #define BTN_STYLE_USE_ALTERNATE_COLORS (1<<2) |
unix_guru | 0:42ded5e50e40 | 394 | #define BTN_STYLE_NO_BORDERS (1<<3) |
unix_guru | 0:42ded5e50e40 | 395 | #define BTN_STYLE_NO_FILL (1<<4) |
unix_guru | 0:42ded5e50e40 | 396 | |
unix_guru | 0:42ded5e50e40 | 397 | /* Button events */ |
unix_guru | 0:42ded5e50e40 | 398 | #define BTN_EVENT_CLICKED OBJ_EVENT_CLICKED |
unix_guru | 0:42ded5e50e40 | 399 | |
unix_guru | 0:42ded5e50e40 | 400 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 401 | /* -- TEXTBOX OBJECT -- */ |
unix_guru | 0:42ded5e50e40 | 402 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 403 | /* Textbox structure */ |
unix_guru | 0:42ded5e50e40 | 404 | typedef struct |
unix_guru | 0:42ded5e50e40 | 405 | { |
unix_guru | 0:42ded5e50e40 | 406 | char* str; |
unix_guru | 0:42ded5e50e40 | 407 | const UG_FONT* font; |
unix_guru | 0:42ded5e50e40 | 408 | UG_U8 style; |
unix_guru | 0:42ded5e50e40 | 409 | UG_COLOR fc; |
unix_guru | 0:42ded5e50e40 | 410 | UG_COLOR bc; |
unix_guru | 0:42ded5e50e40 | 411 | UG_U8 align; |
unix_guru | 0:42ded5e50e40 | 412 | UG_S8 h_space; |
unix_guru | 0:42ded5e50e40 | 413 | UG_S8 v_space; |
unix_guru | 0:42ded5e50e40 | 414 | } UG_TEXTBOX; |
unix_guru | 0:42ded5e50e40 | 415 | |
unix_guru | 0:42ded5e50e40 | 416 | /* Default textbox IDs */ |
unix_guru | 0:42ded5e50e40 | 417 | #define TXB_ID_0 OBJ_ID_0 |
unix_guru | 0:42ded5e50e40 | 418 | #define TXB_ID_1 OBJ_ID_1 |
unix_guru | 0:42ded5e50e40 | 419 | #define TXB_ID_2 OBJ_ID_2 |
unix_guru | 0:42ded5e50e40 | 420 | #define TXB_ID_3 OBJ_ID_3 |
unix_guru | 0:42ded5e50e40 | 421 | #define TXB_ID_4 OBJ_ID_4 |
unix_guru | 0:42ded5e50e40 | 422 | #define TXB_ID_5 OBJ_ID_5 |
unix_guru | 0:42ded5e50e40 | 423 | #define TXB_ID_6 OBJ_ID_6 |
unix_guru | 0:42ded5e50e40 | 424 | #define TXB_ID_7 OBJ_ID_7 |
unix_guru | 0:42ded5e50e40 | 425 | #define TXB_ID_8 OBJ_ID_8 |
unix_guru | 0:42ded5e50e40 | 426 | #define TXB_ID_9 OBJ_ID_9 |
unix_guru | 0:42ded5e50e40 | 427 | #define TXB_ID_10 OBJ_ID_10 |
unix_guru | 0:42ded5e50e40 | 428 | #define TXB_ID_11 OBJ_ID_11 |
unix_guru | 0:42ded5e50e40 | 429 | #define TXB_ID_12 OBJ_ID_12 |
unix_guru | 0:42ded5e50e40 | 430 | #define TXB_ID_13 OBJ_ID_13 |
unix_guru | 0:42ded5e50e40 | 431 | #define TXB_ID_14 OBJ_ID_14 |
unix_guru | 0:42ded5e50e40 | 432 | #define TXB_ID_15 OBJ_ID_15 |
unix_guru | 0:42ded5e50e40 | 433 | #define TXB_ID_16 OBJ_ID_16 |
unix_guru | 0:42ded5e50e40 | 434 | #define TXB_ID_17 OBJ_ID_17 |
unix_guru | 0:42ded5e50e40 | 435 | #define TXB_ID_18 OBJ_ID_18 |
unix_guru | 0:42ded5e50e40 | 436 | #define TXB_ID_19 OBJ_ID_19 |
unix_guru | 0:42ded5e50e40 | 437 | |
unix_guru | 0:42ded5e50e40 | 438 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 439 | /* -- IMAGE OBJECT -- */ |
unix_guru | 0:42ded5e50e40 | 440 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 441 | /* Image structure */ |
unix_guru | 0:42ded5e50e40 | 442 | typedef struct |
unix_guru | 0:42ded5e50e40 | 443 | { |
unix_guru | 0:42ded5e50e40 | 444 | void* img; |
unix_guru | 0:42ded5e50e40 | 445 | UG_U8 type; |
unix_guru | 0:42ded5e50e40 | 446 | } UG_IMAGE; |
unix_guru | 0:42ded5e50e40 | 447 | |
unix_guru | 0:42ded5e50e40 | 448 | /* Default image IDs */ |
unix_guru | 0:42ded5e50e40 | 449 | #define IMG_ID_0 OBJ_ID_0 |
unix_guru | 0:42ded5e50e40 | 450 | #define IMG_ID_1 OBJ_ID_1 |
unix_guru | 0:42ded5e50e40 | 451 | #define IMG_ID_2 OBJ_ID_2 |
unix_guru | 0:42ded5e50e40 | 452 | #define IMG_ID_3 OBJ_ID_3 |
unix_guru | 0:42ded5e50e40 | 453 | #define IMG_ID_4 OBJ_ID_4 |
unix_guru | 0:42ded5e50e40 | 454 | #define IMG_ID_5 OBJ_ID_5 |
unix_guru | 0:42ded5e50e40 | 455 | #define IMG_ID_6 OBJ_ID_6 |
unix_guru | 0:42ded5e50e40 | 456 | #define IMG_ID_7 OBJ_ID_7 |
unix_guru | 0:42ded5e50e40 | 457 | #define IMG_ID_8 OBJ_ID_8 |
unix_guru | 0:42ded5e50e40 | 458 | #define IMG_ID_9 OBJ_ID_9 |
unix_guru | 0:42ded5e50e40 | 459 | #define IMG_ID_10 OBJ_ID_10 |
unix_guru | 0:42ded5e50e40 | 460 | #define IMG_ID_11 OBJ_ID_11 |
unix_guru | 0:42ded5e50e40 | 461 | #define IMG_ID_12 OBJ_ID_12 |
unix_guru | 0:42ded5e50e40 | 462 | #define IMG_ID_13 OBJ_ID_13 |
unix_guru | 0:42ded5e50e40 | 463 | #define IMG_ID_14 OBJ_ID_14 |
unix_guru | 0:42ded5e50e40 | 464 | #define IMG_ID_15 OBJ_ID_15 |
unix_guru | 0:42ded5e50e40 | 465 | #define IMG_ID_16 OBJ_ID_16 |
unix_guru | 0:42ded5e50e40 | 466 | #define IMG_ID_17 OBJ_ID_17 |
unix_guru | 0:42ded5e50e40 | 467 | #define IMG_ID_18 OBJ_ID_18 |
unix_guru | 0:42ded5e50e40 | 468 | #define IMG_ID_19 OBJ_ID_19 |
unix_guru | 0:42ded5e50e40 | 469 | |
unix_guru | 0:42ded5e50e40 | 470 | /* Image types */ |
unix_guru | 0:42ded5e50e40 | 471 | #define IMG_TYPE_BMP (1<<0) |
unix_guru | 0:42ded5e50e40 | 472 | |
unix_guru | 0:42ded5e50e40 | 473 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 474 | /* -- µGUI DRIVER -- */ |
unix_guru | 0:42ded5e50e40 | 475 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 476 | typedef struct |
unix_guru | 0:42ded5e50e40 | 477 | { |
unix_guru | 0:42ded5e50e40 | 478 | void* driver; |
unix_guru | 0:42ded5e50e40 | 479 | UG_U8 state; |
unix_guru | 0:42ded5e50e40 | 480 | } UG_DRIVER; |
unix_guru | 0:42ded5e50e40 | 481 | |
unix_guru | 0:42ded5e50e40 | 482 | #define DRIVER_REGISTERED (1<<0) |
unix_guru | 0:42ded5e50e40 | 483 | #define DRIVER_ENABLED (1<<1) |
unix_guru | 0:42ded5e50e40 | 484 | |
unix_guru | 0:42ded5e50e40 | 485 | /* Supported drivers */ |
unix_guru | 0:42ded5e50e40 | 486 | #define NUMBER_OF_DRIVERS 3 |
unix_guru | 0:42ded5e50e40 | 487 | #define DRIVER_DRAW_LINE 0 |
unix_guru | 0:42ded5e50e40 | 488 | #define DRIVER_FILL_FRAME 1 |
unix_guru | 0:42ded5e50e40 | 489 | #define DRIVER_FILL_AREA 2 |
unix_guru | 0:42ded5e50e40 | 490 | |
unix_guru | 0:42ded5e50e40 | 491 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 492 | /* -- µGUI CORE STRUCTURE -- */ |
unix_guru | 0:42ded5e50e40 | 493 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 494 | typedef struct |
unix_guru | 0:42ded5e50e40 | 495 | { |
unix_guru | 0:42ded5e50e40 | 496 | void (*pset)(UG_S16,UG_S16,UG_COLOR); |
unix_guru | 0:42ded5e50e40 | 497 | UG_S16 x_dim; |
unix_guru | 0:42ded5e50e40 | 498 | UG_S16 y_dim; |
unix_guru | 0:42ded5e50e40 | 499 | UG_TOUCH touch; |
unix_guru | 0:42ded5e50e40 | 500 | UG_WINDOW* next_window; |
unix_guru | 0:42ded5e50e40 | 501 | UG_WINDOW* active_window; |
unix_guru | 0:42ded5e50e40 | 502 | UG_WINDOW* last_window; |
unix_guru | 0:42ded5e50e40 | 503 | struct |
unix_guru | 0:42ded5e50e40 | 504 | { |
unix_guru | 0:42ded5e50e40 | 505 | UG_S16 x_pos; |
unix_guru | 0:42ded5e50e40 | 506 | UG_S16 y_pos; |
unix_guru | 0:42ded5e50e40 | 507 | UG_S16 x_start; |
unix_guru | 0:42ded5e50e40 | 508 | UG_S16 y_start; |
unix_guru | 0:42ded5e50e40 | 509 | UG_S16 x_end; |
unix_guru | 0:42ded5e50e40 | 510 | UG_S16 y_end; |
unix_guru | 0:42ded5e50e40 | 511 | UG_COLOR fore_color; |
unix_guru | 0:42ded5e50e40 | 512 | UG_COLOR back_color; |
unix_guru | 0:42ded5e50e40 | 513 | } console; |
unix_guru | 0:42ded5e50e40 | 514 | UG_FONT font; |
unix_guru | 0:42ded5e50e40 | 515 | UG_S8 char_h_space; |
unix_guru | 0:42ded5e50e40 | 516 | UG_S8 char_v_space; |
unix_guru | 0:42ded5e50e40 | 517 | UG_COLOR fore_color; |
unix_guru | 0:42ded5e50e40 | 518 | UG_COLOR back_color; |
unix_guru | 0:42ded5e50e40 | 519 | UG_COLOR desktop_color; |
unix_guru | 0:42ded5e50e40 | 520 | UG_U8 state; |
unix_guru | 0:42ded5e50e40 | 521 | UG_DRIVER driver[NUMBER_OF_DRIVERS]; |
unix_guru | 0:42ded5e50e40 | 522 | } UG_GUI; |
unix_guru | 0:42ded5e50e40 | 523 | |
unix_guru | 0:42ded5e50e40 | 524 | #define UG_SATUS_WAIT_FOR_UPDATE (1<<0) |
unix_guru | 0:42ded5e50e40 | 525 | |
unix_guru | 0:42ded5e50e40 | 526 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 527 | /* -- µGUI COLORS -- */ |
unix_guru | 0:42ded5e50e40 | 528 | /* -- Source: http://www.rapidtables.com/web/color/RGB_Color.htm -- */ |
unix_guru | 0:42ded5e50e40 | 529 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 530 | #define C_MAROON 0x800000 |
unix_guru | 0:42ded5e50e40 | 531 | #define C_DARK_RED 0x8B0000 |
unix_guru | 0:42ded5e50e40 | 532 | #define C_BROWN 0xA52A2A |
unix_guru | 0:42ded5e50e40 | 533 | #define C_FIREBRICK 0xB22222 |
unix_guru | 0:42ded5e50e40 | 534 | #define C_CRIMSON 0xDC143C |
unix_guru | 0:42ded5e50e40 | 535 | #define C_RED 0xFF0000 |
unix_guru | 0:42ded5e50e40 | 536 | #define C_TOMATO 0xFF6347 |
unix_guru | 0:42ded5e50e40 | 537 | #define C_CORAL 0xFF7F50 |
unix_guru | 0:42ded5e50e40 | 538 | #define C_INDIAN_RED 0xCD5C5C |
unix_guru | 0:42ded5e50e40 | 539 | #define C_LIGHT_CORAL 0xF08080 |
unix_guru | 0:42ded5e50e40 | 540 | #define C_DARK_SALMON 0xE9967A |
unix_guru | 0:42ded5e50e40 | 541 | #define C_SALMON 0xFA8072 |
unix_guru | 0:42ded5e50e40 | 542 | #define C_LIGHT_SALMON 0xFFA07A |
unix_guru | 0:42ded5e50e40 | 543 | #define C_ORANGE_RED 0xFF4500 |
unix_guru | 0:42ded5e50e40 | 544 | #define C_DARK_ORANGE 0xFF8C00 |
unix_guru | 0:42ded5e50e40 | 545 | #define C_ORANGE 0xFFA500 |
unix_guru | 0:42ded5e50e40 | 546 | #define C_GOLD 0xFFD700 |
unix_guru | 0:42ded5e50e40 | 547 | #define C_DARK_GOLDEN_ROD 0xB8860B |
unix_guru | 0:42ded5e50e40 | 548 | #define C_GOLDEN_ROD 0xDAA520 |
unix_guru | 0:42ded5e50e40 | 549 | #define C_PALE_GOLDEN_ROD 0xEEE8AA |
unix_guru | 0:42ded5e50e40 | 550 | #define C_DARK_KHAKI 0xBDB76B |
unix_guru | 0:42ded5e50e40 | 551 | #define C_KHAKI 0xF0E68C |
unix_guru | 0:42ded5e50e40 | 552 | #define C_OLIVE 0x808000 |
unix_guru | 0:42ded5e50e40 | 553 | #define C_YELLOW 0xFFFF00 |
unix_guru | 0:42ded5e50e40 | 554 | #define C_YELLOW_GREEN 0x9ACD32 |
unix_guru | 0:42ded5e50e40 | 555 | #define C_DARK_OLIVE_GREEN 0x556B2F |
unix_guru | 0:42ded5e50e40 | 556 | #define C_OLIVE_DRAB 0x6B8E23 |
unix_guru | 0:42ded5e50e40 | 557 | #define C_LAWN_GREEN 0x7CFC00 |
unix_guru | 0:42ded5e50e40 | 558 | #define C_CHART_REUSE 0x7FFF00 |
unix_guru | 0:42ded5e50e40 | 559 | #define C_GREEN_YELLOW 0xADFF2F |
unix_guru | 0:42ded5e50e40 | 560 | #define C_DARK_GREEN 0x006400 |
unix_guru | 0:42ded5e50e40 | 561 | #define C_GREEN 0x00FF00 |
unix_guru | 0:42ded5e50e40 | 562 | #define C_FOREST_GREEN 0x228B22 |
unix_guru | 0:42ded5e50e40 | 563 | #define C_LIME 0x00FF00 |
unix_guru | 0:42ded5e50e40 | 564 | #define C_LIME_GREEN 0x32CD32 |
unix_guru | 0:42ded5e50e40 | 565 | #define C_LIGHT_GREEN 0x90EE90 |
unix_guru | 0:42ded5e50e40 | 566 | #define C_PALE_GREEN 0x98FB98 |
unix_guru | 0:42ded5e50e40 | 567 | #define C_DARK_SEA_GREEN 0x8FBC8F |
unix_guru | 0:42ded5e50e40 | 568 | #define C_MEDIUM_SPRING_GREEN 0x00FA9A |
unix_guru | 0:42ded5e50e40 | 569 | #define C_SPRING_GREEN 0x00FF7F |
unix_guru | 0:42ded5e50e40 | 570 | #define C_SEA_GREEN 0x2E8B57 |
unix_guru | 0:42ded5e50e40 | 571 | #define C_MEDIUM_AQUA_MARINE 0x66CDAA |
unix_guru | 0:42ded5e50e40 | 572 | #define C_MEDIUM_SEA_GREEN 0x3CB371 |
unix_guru | 0:42ded5e50e40 | 573 | #define C_LIGHT_SEA_GREEN 0x20B2AA |
unix_guru | 0:42ded5e50e40 | 574 | #define C_DARK_SLATE_GRAY 0x2F4F4F |
unix_guru | 0:42ded5e50e40 | 575 | #define C_TEAL 0x008080 |
unix_guru | 0:42ded5e50e40 | 576 | #define C_DARK_CYAN 0x008B8B |
unix_guru | 0:42ded5e50e40 | 577 | #define C_AQUA 0x00FFFF |
unix_guru | 0:42ded5e50e40 | 578 | #define C_CYAN 0x00FFFF |
unix_guru | 0:42ded5e50e40 | 579 | #define C_LIGHT_CYAN 0xE0FFFF |
unix_guru | 0:42ded5e50e40 | 580 | #define C_DARK_TURQUOISE 0x00CED1 |
unix_guru | 0:42ded5e50e40 | 581 | #define C_TURQUOISE 0x40E0D0 |
unix_guru | 0:42ded5e50e40 | 582 | #define C_MEDIUM_TURQUOISE 0x48D1CC |
unix_guru | 0:42ded5e50e40 | 583 | #define C_PALE_TURQUOISE 0xAFEEEE |
unix_guru | 0:42ded5e50e40 | 584 | #define C_AQUA_MARINE 0x7FFFD4 |
unix_guru | 0:42ded5e50e40 | 585 | #define C_POWDER_BLUE 0xB0E0E6 |
unix_guru | 0:42ded5e50e40 | 586 | #define C_CADET_BLUE 0x5F9EA0 |
unix_guru | 0:42ded5e50e40 | 587 | #define C_STEEL_BLUE 0x4682B4 |
unix_guru | 0:42ded5e50e40 | 588 | #define C_CORN_FLOWER_BLUE 0x6495ED |
unix_guru | 0:42ded5e50e40 | 589 | #define C_DEEP_SKY_BLUE 0x00BFFF |
unix_guru | 0:42ded5e50e40 | 590 | #define C_DODGER_BLUE 0x1E90FF |
unix_guru | 0:42ded5e50e40 | 591 | #define C_LIGHT_BLUE 0xADD8E6 |
unix_guru | 0:42ded5e50e40 | 592 | #define C_SKY_BLUE 0x87CEEB |
unix_guru | 0:42ded5e50e40 | 593 | #define C_LIGHT_SKY_BLUE 0x87CEFA |
unix_guru | 0:42ded5e50e40 | 594 | #define C_MIDNIGHT_BLUE 0x191970 |
unix_guru | 0:42ded5e50e40 | 595 | #define C_NAVY 0x000080 |
unix_guru | 0:42ded5e50e40 | 596 | #define C_DARK_BLUE 0x00008B |
unix_guru | 0:42ded5e50e40 | 597 | #define C_MEDIUM_BLUE 0x0000CD |
unix_guru | 0:42ded5e50e40 | 598 | #define C_BLUE 0x0000FF |
unix_guru | 0:42ded5e50e40 | 599 | #define C_ROYAL_BLUE 0x4169E1 |
unix_guru | 0:42ded5e50e40 | 600 | #define C_BLUE_VIOLET 0x8A2BE2 |
unix_guru | 0:42ded5e50e40 | 601 | #define C_INDIGO 0x4B0082 |
unix_guru | 0:42ded5e50e40 | 602 | #define C_DARK_SLATE_BLUE 0x483D8B |
unix_guru | 0:42ded5e50e40 | 603 | #define C_SLATE_BLUE 0x6A5ACD |
unix_guru | 0:42ded5e50e40 | 604 | #define C_MEDIUM_SLATE_BLUE 0x7B68EE |
unix_guru | 0:42ded5e50e40 | 605 | #define C_MEDIUM_PURPLE 0x9370DB |
unix_guru | 0:42ded5e50e40 | 606 | #define C_DARK_MAGENTA 0x8B008B |
unix_guru | 0:42ded5e50e40 | 607 | #define C_DARK_VIOLET 0x9400D3 |
unix_guru | 0:42ded5e50e40 | 608 | #define C_DARK_ORCHID 0x9932CC |
unix_guru | 0:42ded5e50e40 | 609 | #define C_MEDIUM_ORCHID 0xBA55D3 |
unix_guru | 0:42ded5e50e40 | 610 | #define C_PURPLE 0x800080 |
unix_guru | 0:42ded5e50e40 | 611 | #define C_THISTLE 0xD8BFD8 |
unix_guru | 0:42ded5e50e40 | 612 | #define C_PLUM 0xDDA0DD |
unix_guru | 0:42ded5e50e40 | 613 | #define C_VIOLET 0xEE82EE |
unix_guru | 0:42ded5e50e40 | 614 | #define C_MAGENTA 0xFF00FF |
unix_guru | 0:42ded5e50e40 | 615 | #define C_ORCHID 0xDA70D6 |
unix_guru | 0:42ded5e50e40 | 616 | #define C_MEDIUM_VIOLET_RED 0xC71585 |
unix_guru | 0:42ded5e50e40 | 617 | #define C_PALE_VIOLET_RED 0xDB7093 |
unix_guru | 0:42ded5e50e40 | 618 | #define C_DEEP_PINK 0xFF1493 |
unix_guru | 0:42ded5e50e40 | 619 | #define C_HOT_PINK 0xFF69B4 |
unix_guru | 0:42ded5e50e40 | 620 | #define C_LIGHT_PINK 0xFFB6C1 |
unix_guru | 0:42ded5e50e40 | 621 | #define C_PINK 0xFFC0CB |
unix_guru | 0:42ded5e50e40 | 622 | #define C_ANTIQUE_WHITE 0xFAEBD7 |
unix_guru | 0:42ded5e50e40 | 623 | #define C_BEIGE 0xF5F5DC |
unix_guru | 0:42ded5e50e40 | 624 | #define C_BISQUE 0xFFE4C4 |
unix_guru | 0:42ded5e50e40 | 625 | #define C_BLANCHED_ALMOND 0xFFEBCD |
unix_guru | 0:42ded5e50e40 | 626 | #define C_WHEAT 0xF5DEB3 |
unix_guru | 0:42ded5e50e40 | 627 | #define C_CORN_SILK 0xFFF8DC |
unix_guru | 0:42ded5e50e40 | 628 | #define C_LEMON_CHIFFON 0xFFFACD |
unix_guru | 0:42ded5e50e40 | 629 | #define C_LIGHT_GOLDEN_ROD_YELLOW 0xFAFAD2 |
unix_guru | 0:42ded5e50e40 | 630 | #define C_LIGHT_YELLOW 0xFFFFE0 |
unix_guru | 0:42ded5e50e40 | 631 | #define C_SADDLE_BROWN 0x8B4513 |
unix_guru | 0:42ded5e50e40 | 632 | #define C_SIENNA 0xA0522D |
unix_guru | 0:42ded5e50e40 | 633 | #define C_CHOCOLATE 0xD2691E |
unix_guru | 0:42ded5e50e40 | 634 | #define C_PERU 0xCD853F |
unix_guru | 0:42ded5e50e40 | 635 | #define C_SANDY_BROWN 0xF4A460 |
unix_guru | 0:42ded5e50e40 | 636 | #define C_BURLY_WOOD 0xDEB887 |
unix_guru | 0:42ded5e50e40 | 637 | #define C_TAN 0xD2B48C |
unix_guru | 0:42ded5e50e40 | 638 | #define C_ROSY_BROWN 0xBC8F8F |
unix_guru | 0:42ded5e50e40 | 639 | #define C_MOCCASIN 0xFFE4B5 |
unix_guru | 0:42ded5e50e40 | 640 | #define C_NAVAJO_WHITE 0xFFDEAD |
unix_guru | 0:42ded5e50e40 | 641 | #define C_PEACH_PUFF 0xFFDAB9 |
unix_guru | 0:42ded5e50e40 | 642 | #define C_MISTY_ROSE 0xFFE4E1 |
unix_guru | 0:42ded5e50e40 | 643 | #define C_LAVENDER_BLUSH 0xFFF0F5 |
unix_guru | 0:42ded5e50e40 | 644 | #define C_LINEN 0xFAF0E6 |
unix_guru | 0:42ded5e50e40 | 645 | #define C_OLD_LACE 0xFDF5E6 |
unix_guru | 0:42ded5e50e40 | 646 | #define C_PAPAYA_WHIP 0xFFEFD5 |
unix_guru | 0:42ded5e50e40 | 647 | #define C_SEA_SHELL 0xFFF5EE |
unix_guru | 0:42ded5e50e40 | 648 | #define C_MINT_CREAM 0xF5FFFA |
unix_guru | 0:42ded5e50e40 | 649 | #define C_SLATE_GRAY 0x708090 |
unix_guru | 0:42ded5e50e40 | 650 | #define C_LIGHT_SLATE_GRAY 0x778899 |
unix_guru | 0:42ded5e50e40 | 651 | #define C_LIGHT_STEEL_BLUE 0xB0C4DE |
unix_guru | 0:42ded5e50e40 | 652 | #define C_LAVENDER 0xE6E6FA |
unix_guru | 0:42ded5e50e40 | 653 | #define C_FLORAL_WHITE 0xFFFAF0 |
unix_guru | 0:42ded5e50e40 | 654 | #define C_ALICE_BLUE 0xF0F8FF |
unix_guru | 0:42ded5e50e40 | 655 | #define C_GHOST_WHITE 0xF8F8FF |
unix_guru | 0:42ded5e50e40 | 656 | #define C_HONEYDEW 0xF0FFF0 |
unix_guru | 0:42ded5e50e40 | 657 | #define C_IVORY 0xFFFFF0 |
unix_guru | 0:42ded5e50e40 | 658 | #define C_AZURE 0xF0FFFF |
unix_guru | 0:42ded5e50e40 | 659 | #define C_SNOW 0xFFFAFA |
unix_guru | 0:42ded5e50e40 | 660 | #define C_BLACK 0x000000 |
unix_guru | 0:42ded5e50e40 | 661 | #define C_DIM_GRAY 0x696969 |
unix_guru | 0:42ded5e50e40 | 662 | #define C_GRAY 0x808080 |
unix_guru | 0:42ded5e50e40 | 663 | #define C_DARK_GRAY 0xA9A9A9 |
unix_guru | 0:42ded5e50e40 | 664 | #define C_SILVER 0xC0C0C0 |
unix_guru | 0:42ded5e50e40 | 665 | #define C_LIGHT_GRAY 0xD3D3D3 |
unix_guru | 0:42ded5e50e40 | 666 | #define C_GAINSBORO 0xDCDCDC |
unix_guru | 0:42ded5e50e40 | 667 | #define C_WHITE_SMOKE 0xF5F5F5 |
unix_guru | 0:42ded5e50e40 | 668 | #define C_WHITE 0xFFFFFF |
unix_guru | 0:42ded5e50e40 | 669 | |
unix_guru | 0:42ded5e50e40 | 670 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 671 | /* -- PROTOTYPES -- */ |
unix_guru | 0:42ded5e50e40 | 672 | /* -------------------------------------------------------------------------------- */ |
unix_guru | 0:42ded5e50e40 | 673 | /* Classic functions */ |
unix_guru | 0:42ded5e50e40 | 674 | UG_S16 UG_Init( UG_GUI* g, void (*p)(UG_S16,UG_S16,UG_COLOR), UG_S16 x, UG_S16 y ); |
unix_guru | 0:42ded5e50e40 | 675 | UG_S16 UG_SelectGUI( UG_GUI* g ); |
unix_guru | 0:42ded5e50e40 | 676 | void UG_FontSelect( const UG_FONT* font ); |
unix_guru | 0:42ded5e50e40 | 677 | void UG_FillScreen( UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 678 | void UG_FillFrame( UG_S16 x1, UG_S16 y1, UG_S16 x2, UG_S16 y2, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 679 | void UG_FillRoundFrame( UG_S16 x1, UG_S16 y1, UG_S16 x2, UG_S16 y2, UG_S16 r, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 680 | void UG_DrawMesh( UG_S16 x1, UG_S16 y1, UG_S16 x2, UG_S16 y2, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 681 | void UG_DrawFrame( UG_S16 x1, UG_S16 y1, UG_S16 x2, UG_S16 y2, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 682 | void UG_DrawRoundFrame( UG_S16 x1, UG_S16 y1, UG_S16 x2, UG_S16 y2, UG_S16 r, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 683 | void UG_DrawPixel( UG_S16 x0, UG_S16 y0, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 684 | void UG_DrawCircle( UG_S16 x0, UG_S16 y0, UG_S16 r, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 685 | void UG_FillCircle( UG_S16 x0, UG_S16 y0, UG_S16 r, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 686 | void UG_DrawArc( UG_S16 x0, UG_S16 y0, UG_S16 r, UG_U8 s, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 687 | void UG_DrawLine( UG_S16 x1, UG_S16 y1, UG_S16 x2, UG_S16 y2, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 688 | void UG_PutString( UG_S16 x, UG_S16 y, char* str ); |
unix_guru | 0:42ded5e50e40 | 689 | void UG_PutChar( char chr, UG_S16 x, UG_S16 y, UG_COLOR fc, UG_COLOR bc ); |
unix_guru | 0:42ded5e50e40 | 690 | void UG_ConsolePutString( char* str ); |
unix_guru | 0:42ded5e50e40 | 691 | void UG_ConsoleSetArea( UG_S16 xs, UG_S16 ys, UG_S16 xe, UG_S16 ye ); |
unix_guru | 0:42ded5e50e40 | 692 | void UG_ConsoleSetForecolor( UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 693 | void UG_ConsoleSetBackcolor( UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 694 | void UG_SetForecolor( UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 695 | void UG_SetBackcolor( UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 696 | UG_S16 UG_GetXDim( void ); |
unix_guru | 0:42ded5e50e40 | 697 | UG_S16 UG_GetYDim( void ); |
unix_guru | 0:42ded5e50e40 | 698 | void UG_FontSetHSpace( UG_U16 s ); |
unix_guru | 0:42ded5e50e40 | 699 | void UG_FontSetVSpace( UG_U16 s ); |
unix_guru | 0:42ded5e50e40 | 700 | |
unix_guru | 0:42ded5e50e40 | 701 | /* Miscellaneous functions */ |
unix_guru | 0:42ded5e50e40 | 702 | void UG_WaitForUpdate( void ); |
unix_guru | 0:42ded5e50e40 | 703 | void UG_Update( void ); |
unix_guru | 0:42ded5e50e40 | 704 | void UG_DrawBMP( UG_S16 xp, UG_S16 yp, UG_BMP* bmp ); |
unix_guru | 0:42ded5e50e40 | 705 | void UG_TouchUpdate( UG_S16 xp, UG_S16 yp, UG_U8 state ); |
unix_guru | 0:42ded5e50e40 | 706 | |
unix_guru | 0:42ded5e50e40 | 707 | /* Driver functions */ |
unix_guru | 0:42ded5e50e40 | 708 | void UG_DriverRegister( UG_U8 type, void* driver ); |
unix_guru | 0:42ded5e50e40 | 709 | void UG_DriverEnable( UG_U8 type ); |
unix_guru | 0:42ded5e50e40 | 710 | void UG_DriverDisable( UG_U8 type ); |
unix_guru | 0:42ded5e50e40 | 711 | |
unix_guru | 0:42ded5e50e40 | 712 | /* Window functions */ |
unix_guru | 0:42ded5e50e40 | 713 | UG_RESULT UG_WindowCreate( UG_WINDOW* wnd, UG_OBJECT* objlst, UG_U8 objcnt, void (*cb)( UG_MESSAGE* ) ); |
unix_guru | 0:42ded5e50e40 | 714 | UG_RESULT UG_WindowDelete( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 715 | UG_RESULT UG_WindowShow( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 716 | UG_RESULT UG_WindowHide( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 717 | UG_RESULT UG_WindowResize( UG_WINDOW* wnd, UG_S16 xs, UG_S16 ys, UG_S16 xe, UG_S16 ye ); |
unix_guru | 0:42ded5e50e40 | 718 | UG_RESULT UG_WindowAlert( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 719 | UG_RESULT UG_WindowSetForeColor( UG_WINDOW* wnd, UG_COLOR fc ); |
unix_guru | 0:42ded5e50e40 | 720 | UG_RESULT UG_WindowSetBackColor( UG_WINDOW* wnd, UG_COLOR bc ); |
unix_guru | 0:42ded5e50e40 | 721 | UG_RESULT UG_WindowSetTitleTextColor( UG_WINDOW* wnd, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 722 | UG_RESULT UG_WindowSetTitleColor( UG_WINDOW* wnd, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 723 | UG_RESULT UG_WindowSetTitleInactiveTextColor( UG_WINDOW* wnd, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 724 | UG_RESULT UG_WindowSetTitleInactiveColor( UG_WINDOW* wnd, UG_COLOR c ); |
unix_guru | 0:42ded5e50e40 | 725 | UG_RESULT UG_WindowSetTitleText( UG_WINDOW* wnd, char* str ); |
unix_guru | 0:42ded5e50e40 | 726 | UG_RESULT UG_WindowSetTitleTextFont( UG_WINDOW* wnd, const UG_FONT* font ); |
unix_guru | 0:42ded5e50e40 | 727 | UG_RESULT UG_WindowSetTitleTextHSpace( UG_WINDOW* wnd, UG_S8 hs ); |
unix_guru | 0:42ded5e50e40 | 728 | UG_RESULT UG_WindowSetTitleTextVSpace( UG_WINDOW* wnd, UG_S8 vs ); |
unix_guru | 0:42ded5e50e40 | 729 | UG_RESULT UG_WindowSetTitleTextAlignment( UG_WINDOW* wnd, UG_U8 align ); |
unix_guru | 0:42ded5e50e40 | 730 | UG_RESULT UG_WindowSetTitleHeight( UG_WINDOW* wnd, UG_U8 height ); |
unix_guru | 0:42ded5e50e40 | 731 | UG_RESULT UG_WindowSetXStart( UG_WINDOW* wnd, UG_S16 xs ); |
unix_guru | 0:42ded5e50e40 | 732 | UG_RESULT UG_WindowSetYStart( UG_WINDOW* wnd, UG_S16 ys ); |
unix_guru | 0:42ded5e50e40 | 733 | UG_RESULT UG_WindowSetXEnd( UG_WINDOW* wnd, UG_S16 xe ); |
unix_guru | 0:42ded5e50e40 | 734 | UG_RESULT UG_WindowSetYEnd( UG_WINDOW* wnd, UG_S16 ye ); |
unix_guru | 0:42ded5e50e40 | 735 | UG_RESULT UG_WindowSetStyle( UG_WINDOW* wnd, UG_U8 style ); |
unix_guru | 0:42ded5e50e40 | 736 | UG_COLOR UG_WindowGetForeColor( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 737 | UG_COLOR UG_WindowGetBackColor( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 738 | UG_COLOR UG_WindowGetTitleTextColor( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 739 | UG_COLOR UG_WindowGetTitleColor( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 740 | UG_COLOR UG_WindowGetTitleInactiveTextColor( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 741 | UG_COLOR UG_WindowGetTitleInactiveColor( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 742 | char* UG_WindowGetTitleText( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 743 | UG_FONT* UG_WindowGetTitleTextFont( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 744 | UG_S8 UG_WindowGetTitleTextHSpace( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 745 | UG_S8 UG_WindowGetTitleTextVSpace( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 746 | UG_U8 UG_WindowGetTitleTextAlignment( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 747 | UG_U8 UG_WindowGetTitleHeight( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 748 | UG_S16 UG_WindowGetXStart( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 749 | UG_S16 UG_WindowGetYStart( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 750 | UG_S16 UG_WindowGetXEnd( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 751 | UG_S16 UG_WindowGetYEnd( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 752 | UG_U8 UG_WindowGetStyle( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 753 | UG_RESULT UG_WindowGetArea( UG_WINDOW* wnd, UG_AREA* a ); |
unix_guru | 0:42ded5e50e40 | 754 | UG_S16 UG_WindowGetInnerWidth( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 755 | UG_S16 UG_WindowGetOuterWidth( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 756 | UG_S16 UG_WindowGetInnerHeight( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 757 | UG_S16 UG_WindowGetOuterHeight( UG_WINDOW* wnd ); |
unix_guru | 0:42ded5e50e40 | 758 | |
unix_guru | 0:42ded5e50e40 | 759 | /* Button functions */ |
unix_guru | 0:42ded5e50e40 | 760 | UG_RESULT UG_ButtonCreate( UG_WINDOW* wnd, UG_BUTTON* btn, UG_U8 id, UG_S16 xs, UG_S16 ys, UG_S16 xe, UG_S16 ye ); |
unix_guru | 0:42ded5e50e40 | 761 | UG_RESULT UG_ButtonDelete( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 762 | UG_RESULT UG_ButtonShow( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 763 | UG_RESULT UG_ButtonHide( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 764 | UG_RESULT UG_ButtonSetForeColor( UG_WINDOW* wnd, UG_U8 id, UG_COLOR fc ); |
unix_guru | 0:42ded5e50e40 | 765 | UG_RESULT UG_ButtonSetBackColor( UG_WINDOW* wnd, UG_U8 id, UG_COLOR bc ); |
unix_guru | 0:42ded5e50e40 | 766 | UG_RESULT UG_ButtonSetAlternateForeColor( UG_WINDOW* wnd, UG_U8 id, UG_COLOR afc ); |
unix_guru | 0:42ded5e50e40 | 767 | UG_RESULT UG_ButtonSetAlternateBackColor( UG_WINDOW* wnd, UG_U8 id, UG_COLOR abc ); |
unix_guru | 0:42ded5e50e40 | 768 | UG_RESULT UG_ButtonSetText( UG_WINDOW* wnd, UG_U8 id, char* str ); |
unix_guru | 0:42ded5e50e40 | 769 | UG_RESULT UG_ButtonSetFont( UG_WINDOW* wnd, UG_U8 id, const UG_FONT* font ); |
unix_guru | 0:42ded5e50e40 | 770 | UG_RESULT UG_ButtonSetStyle( UG_WINDOW* wnd, UG_U8 id, UG_U8 style ); |
unix_guru | 0:42ded5e50e40 | 771 | UG_RESULT UG_ButtonSetHSpace( UG_WINDOW* wnd, UG_U8 id, UG_S8 hs ); |
unix_guru | 0:42ded5e50e40 | 772 | UG_RESULT UG_ButtonSetVSpace( UG_WINDOW* wnd, UG_U8 id, UG_S8 vs ); |
unix_guru | 0:42ded5e50e40 | 773 | UG_RESULT UG_ButtonSetAlignment( UG_WINDOW* wnd, UG_U8 id, UG_U8 align ); |
unix_guru | 0:42ded5e50e40 | 774 | UG_COLOR UG_ButtonGetForeColor( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 775 | UG_COLOR UG_ButtonGetBackColor( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 776 | UG_COLOR UG_ButtonGetAlternateForeColor( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 777 | UG_COLOR UG_ButtonGetAlternateBackColor( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 778 | char* UG_ButtonGetText( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 779 | UG_FONT* UG_ButtonGetFont( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 780 | UG_U8 UG_ButtonGetStyle( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 781 | UG_S8 UG_ButtonGetHSpace( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 782 | UG_S8 UG_ButtonGetVSpace( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 783 | UG_U8 UG_ButtonGetAlignment( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 784 | |
unix_guru | 0:42ded5e50e40 | 785 | /* Textbox functions */ |
unix_guru | 0:42ded5e50e40 | 786 | UG_RESULT UG_TextboxCreate( UG_WINDOW* wnd, UG_TEXTBOX* txb, UG_U8 id, UG_S16 xs, UG_S16 ys, UG_S16 xe, UG_S16 ye ); |
unix_guru | 0:42ded5e50e40 | 787 | UG_RESULT UG_TextboxDelete( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 788 | UG_RESULT UG_TextboxShow( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 789 | UG_RESULT UG_TextboxHide( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 790 | UG_RESULT UG_TextboxSetForeColor( UG_WINDOW* wnd, UG_U8 id, UG_COLOR fc ); |
unix_guru | 0:42ded5e50e40 | 791 | UG_RESULT UG_TextboxSetBackColor( UG_WINDOW* wnd, UG_U8 id, UG_COLOR bc ); |
unix_guru | 0:42ded5e50e40 | 792 | UG_RESULT UG_TextboxSetText( UG_WINDOW* wnd, UG_U8 id, char* str ); |
unix_guru | 0:42ded5e50e40 | 793 | UG_RESULT UG_TextboxSetFont( UG_WINDOW* wnd, UG_U8 id, const UG_FONT* font ); |
unix_guru | 0:42ded5e50e40 | 794 | UG_RESULT UG_TextboxSetHSpace( UG_WINDOW* wnd, UG_U8 id, UG_S8 hs ); |
unix_guru | 0:42ded5e50e40 | 795 | UG_RESULT UG_TextboxSetVSpace( UG_WINDOW* wnd, UG_U8 id, UG_S8 vs ); |
unix_guru | 0:42ded5e50e40 | 796 | UG_RESULT UG_TextboxSetAlignment( UG_WINDOW* wnd, UG_U8 id, UG_U8 align ); |
unix_guru | 0:42ded5e50e40 | 797 | UG_COLOR UG_TextboxGetForeColor( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 798 | UG_COLOR UG_TextboxGetBackColor( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 799 | char* UG_TextboxGetText( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 800 | UG_FONT* UG_TextboxGetFont( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 801 | UG_S8 UG_TextboxGetHSpace( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 802 | UG_S8 UG_TextboxGetVSpace( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 803 | UG_U8 UG_TextboxGetAlignment( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 804 | |
unix_guru | 0:42ded5e50e40 | 805 | /* Image functions */ |
unix_guru | 0:42ded5e50e40 | 806 | UG_RESULT UG_ImageCreate( UG_WINDOW* wnd, UG_IMAGE* img, UG_U8 id, UG_S16 xs, UG_S16 ys, UG_S16 xe, UG_S16 ye ); |
unix_guru | 0:42ded5e50e40 | 807 | UG_RESULT UG_ImageDelete( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 808 | UG_RESULT UG_ImageShow( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 809 | UG_RESULT UG_ImageHide( UG_WINDOW* wnd, UG_U8 id ); |
unix_guru | 0:42ded5e50e40 | 810 | UG_RESULT UG_ImageSetBMP( UG_WINDOW* wnd, UG_U8 id, const UG_BMP* bmp ); |
unix_guru | 0:42ded5e50e40 | 811 | |
unix_guru | 0:42ded5e50e40 | 812 | |
unix_guru | 0:42ded5e50e40 | 813 | |
unix_guru | 0:42ded5e50e40 | 814 | #endif |
unix_guru | 0:42ded5e50e40 | 815 |