Microcontroller GUI library from embeddedlightning.com

Dependents:   Bicycl_Computer_NUCLEO-F411RE Bicycl_Computer_NUCLEO-L476RG

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?

UserRevisionLine numberNew 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