1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/notrynohigh-BabyOS

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
ugui.h 35 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
notrynohigh Отправлено 4 лет назад 1e111df
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071
/* -------------------------------------------------------------------------------- */
/* -- µGUI - Generic GUI module (C)Achim Döbler, 2015 -- */
/* -------------------------------------------------------------------------------- */
// µGUI is a generic GUI module for embedded systems.
// This is a free software that is open for education, research and commercial
// developments under license policy of following terms.
//
// Copyright (C) 2015, Achim Döbler, all rights reserved.
// URL: http://www.embeddedlightning.com/
//
// * The µGUI module is a free software and there is NO WARRANTY.
// * No restriction on use. You can use, modify and redistribute it for
// personal, non-profit or commercial products UNDER YOUR RESPONSIBILITY.
// * Redistributions of source code must retain the above copyright notice.
//
/* -------------------------------------------------------------------------------- */
#ifndef __UGUI_H
#define __UGUI_H
#include "ugui_config.h"
#if _UGUI_ENABLE
/* -------------------------------------------------------------------------------- */
/* -- µGUI FONTS -- */
/* -- Source: http://www.mikrocontroller.net/user/show/benedikt -- */
/* -------------------------------------------------------------------------------- */
typedef enum
{
FONT_TYPE_1BPP,
FONT_TYPE_8BPP
} FONT_TYPE;
typedef struct
{
unsigned char* p;
FONT_TYPE font_type;
UG_S16 char_width;
UG_S16 char_height;
UG_U16 start_char;
UG_U16 end_char;
UG_U8* widths;
} UG_FONT;
#ifdef USE_FONT_4X6
extern const UG_FONT FONT_4X6;
#endif
#ifdef USE_FONT_5X8
extern const UG_FONT FONT_5X8;
#endif
#ifdef USE_FONT_5X12
extern const UG_FONT FONT_5X12;
#endif
#ifdef USE_FONT_6X8
extern const UG_FONT FONT_6X8;
#endif
#ifdef USE_FONT_6X10
extern const UG_FONT FONT_6X10;
#endif
#ifdef USE_FONT_7X12
extern const UG_FONT FONT_7X12;
#endif
#ifdef USE_FONT_8X8
extern const UG_FONT FONT_8X8;
#endif
#ifdef USE_FONT_8X12
extern const UG_FONT FONT_8X12;
#endif
#ifdef USE_FONT_8X12_CYRILLIC
extern const UG_FONT FONT_8X12;
#endif
#ifdef USE_FONT_8X14
extern const UG_FONT FONT_8X14;
#endif
#ifdef USE_FONT_10X16
extern const UG_FONT FONT_10X16;
#endif
#ifdef USE_FONT_12X16
extern const UG_FONT FONT_12X16;
#endif
#ifdef USE_FONT_12X20
extern const UG_FONT FONT_12X20;
#endif
#ifdef USE_FONT_16X26
extern const UG_FONT FONT_16X26;
#endif
#ifdef USE_FONT_22X36
extern const UG_FONT FONT_22X36;
#endif
#ifdef USE_FONT_24X40
extern const UG_FONT FONT_24X40;
#endif
#ifdef USE_FONT_32X53
extern const UG_FONT FONT_32X53;
#endif
#if _GUI_FONT == 3
extern UG_FONT bGUI_XBF_Font;
#endif
/* -------------------------------------------------------------------------------- */
/* -- TYPEDEFS -- */
/* -------------------------------------------------------------------------------- */
typedef struct S_OBJECT UG_OBJECT;
typedef struct S_WINDOW UG_WINDOW;
typedef UG_S8 UG_RESULT;
#ifdef USE_COLOR_RGB888
typedef UG_U32 UG_COLOR;
#endif
#ifdef USE_COLOR_RGB565
typedef UG_U16 UG_COLOR;
#endif
/* -------------------------------------------------------------------------------- */
/* -- DEFINES -- */
/* -------------------------------------------------------------------------------- */
#ifndef NULL
#define NULL ((void*)0)
#endif
/* Alignments */
#define ALIGN_H_LEFT (1 << 0)
#define ALIGN_H_CENTER (1 << 1)
#define ALIGN_H_RIGHT (1 << 2)
#define ALIGN_V_TOP (1 << 3)
#define ALIGN_V_CENTER (1 << 4)
#define ALIGN_V_BOTTOM (1 << 5)
#define ALIGN_BOTTOM_RIGHT (ALIGN_V_BOTTOM | ALIGN_H_RIGHT)
#define ALIGN_BOTTOM_CENTER (ALIGN_V_BOTTOM | ALIGN_H_CENTER)
#define ALIGN_BOTTOM_LEFT (ALIGN_V_BOTTOM | ALIGN_H_LEFT)
#define ALIGN_CENTER_RIGHT (ALIGN_V_CENTER | ALIGN_H_RIGHT)
#define ALIGN_CENTER (ALIGN_V_CENTER | ALIGN_H_CENTER)
#define ALIGN_CENTER_LEFT (ALIGN_V_CENTER | ALIGN_H_LEFT)
#define ALIGN_TOP_RIGHT (ALIGN_V_TOP | ALIGN_H_RIGHT)
#define ALIGN_TOP_CENTER (ALIGN_V_TOP | ALIGN_H_CENTER)
#define ALIGN_TOP_LEFT (ALIGN_V_TOP | ALIGN_H_LEFT)
/* Default IDs */
#define OBJ_ID_0 0
#define OBJ_ID_1 1
#define OBJ_ID_2 2
#define OBJ_ID_3 3
#define OBJ_ID_4 4
#define OBJ_ID_5 5
#define OBJ_ID_6 6
#define OBJ_ID_7 7
#define OBJ_ID_8 8
#define OBJ_ID_9 9
#define OBJ_ID_10 10
#define OBJ_ID_11 11
#define OBJ_ID_12 12
#define OBJ_ID_13 13
#define OBJ_ID_14 14
#define OBJ_ID_15 15
#define OBJ_ID_16 16
#define OBJ_ID_17 17
#define OBJ_ID_18 18
#define OBJ_ID_19 19
/* -------------------------------------------------------------------------------- */
/* -- FUNCTION RESULTS -- */
/* -------------------------------------------------------------------------------- */
#define UG_RESULT_FAIL -1
#define UG_RESULT_OK 0
/* -------------------------------------------------------------------------------- */
/* -- UNIVERSAL STRUCTURES -- */
/* -------------------------------------------------------------------------------- */
/* Area structure */
typedef struct
{
UG_S16 xs;
UG_S16 ys;
UG_S16 xe;
UG_S16 ye;
} UG_AREA;
/* Text structure */
typedef struct
{
char* str;
const UG_FONT* font;
UG_AREA a;
UG_COLOR fc;
UG_COLOR bc;
UG_U8 align;
UG_S16 h_space;
UG_S16 v_space;
} UG_TEXT;
/* -------------------------------------------------------------------------------- */
/* -- BITMAP -- */
/* -------------------------------------------------------------------------------- */
typedef struct
{
void* p;
UG_U16 width;
UG_U16 height;
UG_U8 bpp;
UG_U8 colors;
} UG_BMP;
#define BMP_BPP_1 (1 << 0)
#define BMP_BPP_2 (1 << 1)
#define BMP_BPP_4 (1 << 2)
#define BMP_BPP_8 (1 << 3)
#define BMP_BPP_16 (1 << 4)
#define BMP_BPP_32 (1 << 5)
#define BMP_RGB888 (1 << 0)
#define BMP_RGB565 (1 << 1)
#define BMP_RGB555 (1 << 2)
/* -------------------------------------------------------------------------------- */
/* -- MESSAGE -- */
/* -------------------------------------------------------------------------------- */
/* Message structure */
typedef struct
{
UG_U8 type;
UG_U8 id;
UG_U8 sub_id;
UG_U8 event;
void* src;
} UG_MESSAGE;
/* Message types */
#define MSG_TYPE_NONE 0
#define MSG_TYPE_WINDOW 1
#define MSG_TYPE_OBJECT 2
/* -------------------------------------------------------------------------------- */
/* -- TOUCH -- */
/* -------------------------------------------------------------------------------- */
/* Touch structure */
typedef struct
{
UG_U8 state;
UG_S16 xp;
UG_S16 yp;
} UG_TOUCH;
#define TOUCH_STATE_PRESSED 1
#define TOUCH_STATE_RELEASED 0
/* -------------------------------------------------------------------------------- */
/* -- OBJECTS -- */
/* -------------------------------------------------------------------------------- */
/* Object structure */
struct S_OBJECT
{
UG_U8 state; /* object state */
UG_U8 touch_state; /* object touch state */
void (*update)(UG_WINDOW*, UG_OBJECT*); /* pointer to object-specific update function */
UG_AREA a_abs; /* absolute area of the object */
UG_AREA a_rel; /* relative area of the object */
UG_U8 type; /* object type */
UG_U8 id; /* object ID */
UG_U8 event; /* object-specific events */
void* data; /* pointer to object-specific data */
};
/* Currently supported objects */
#define OBJ_TYPE_NONE 0
#define OBJ_TYPE_BUTTON 1
#define OBJ_TYPE_TEXTBOX 2
#define OBJ_TYPE_IMAGE 3
#define OBJ_TYPE_CHECKBOX 4
/* Standard object events */
#define OBJ_EVENT_NONE 0
#define OBJ_EVENT_CLICKED 1
#ifdef USE_PRERENDER_EVENT
#define OBJ_EVENT_PRERENDER 2
#endif
#ifdef USE_POSTRENDER_EVENT
#define OBJ_EVENT_POSTRENDER 3
#endif
#define OBJ_EVENT_PRESSED 4
#define OBJ_EVENT_RELEASED 5
/* Object states */
#define OBJ_STATE_FREE (1 << 0)
#define OBJ_STATE_VALID (1 << 1)
#define OBJ_STATE_BUSY (1 << 2)
#define OBJ_STATE_VISIBLE (1 << 3)
#define OBJ_STATE_ENABLE (1 << 4)
#define OBJ_STATE_UPDATE (1 << 5)
#define OBJ_STATE_REDRAW (1 << 6)
#define OBJ_STATE_TOUCH_ENABLE (1 << 7)
#define OBJ_STATE_INIT (OBJ_STATE_FREE | OBJ_STATE_VALID)
/* Object touch states */
#define OBJ_TOUCH_STATE_CHANGED (1 << 0)
#define OBJ_TOUCH_STATE_PRESSED_ON_OBJECT (1 << 1)
#define OBJ_TOUCH_STATE_PRESSED_OUTSIDE_OBJECT (1 << 2)
#define OBJ_TOUCH_STATE_RELEASED_ON_OBJECT (1 << 3)
#define OBJ_TOUCH_STATE_RELEASED_OUTSIDE_OBJECT (1 << 4)
#define OBJ_TOUCH_STATE_IS_PRESSED_ON_OBJECT (1 << 5)
#define OBJ_TOUCH_STATE_IS_PRESSED (1 << 6)
#define OBJ_TOUCH_STATE_CLICK_ON_OBJECT (1 << 7)
#define OBJ_TOUCH_STATE_INIT 0
/* -------------------------------------------------------------------------------- */
/* -- WINDOW -- */
/* -------------------------------------------------------------------------------- */
/* Title structure */
typedef struct
{
char* str;
const UG_FONT* font;
UG_S8 h_space;
UG_S8 v_space;
UG_U8 align;
UG_COLOR fc;
UG_COLOR bc;
UG_COLOR ifc;
UG_COLOR ibc;
UG_U8 height;
} UG_TITLE;
/* Window structure */
struct S_WINDOW
{
UG_U8 objcnt;
UG_OBJECT* objlst;
UG_U8 state;
UG_COLOR fc;
UG_COLOR bc;
UG_S16 xs;
UG_S16 ys;
UG_S16 xe;
UG_S16 ye;
UG_U8 style;
UG_TITLE title;
void (*cb)(UG_MESSAGE*);
};
/* Window states */
#define WND_STATE_FREE (1 << 0)
#define WND_STATE_VALID (1 << 1)
#define WND_STATE_BUSY (1 << 2)
#define WND_STATE_VISIBLE (1 << 3)
#define WND_STATE_ENABLE (1 << 4)
#define WND_STATE_UPDATE (1 << 5)
#define WND_STATE_REDRAW_TITLE (1 << 6)
/* Window styles */
#define WND_STYLE_2D (0 << 0)
#define WND_STYLE_3D (1 << 0)
#define WND_STYLE_HIDE_TITLE (0 << 1)
#define WND_STYLE_SHOW_TITLE (1 << 1)
/* -------------------------------------------------------------------------------- */
/* -- BUTTON OBJECT -- */
/* -------------------------------------------------------------------------------- */
/* Button structure */
typedef struct
{
UG_U8 state;
UG_U8 style;
UG_COLOR fc;
UG_COLOR bc;
UG_COLOR afc;
UG_COLOR abc;
const UG_FONT* font;
UG_U8 align;
UG_S8 h_space;
UG_S8 v_space;
char* str;
} UG_BUTTON;
/* Default button IDs */
#define BTN_ID_0 OBJ_ID_0
#define BTN_ID_1 OBJ_ID_1
#define BTN_ID_2 OBJ_ID_2
#define BTN_ID_3 OBJ_ID_3
#define BTN_ID_4 OBJ_ID_4
#define BTN_ID_5 OBJ_ID_5
#define BTN_ID_6 OBJ_ID_6
#define BTN_ID_7 OBJ_ID_7
#define BTN_ID_8 OBJ_ID_8
#define BTN_ID_9 OBJ_ID_9
#define BTN_ID_10 OBJ_ID_10
#define BTN_ID_11 OBJ_ID_11
#define BTN_ID_12 OBJ_ID_12
#define BTN_ID_13 OBJ_ID_13
#define BTN_ID_14 OBJ_ID_14
#define BTN_ID_15 OBJ_ID_15
#define BTN_ID_16 OBJ_ID_16
#define BTN_ID_17 OBJ_ID_17
#define BTN_ID_18 OBJ_ID_18
#define BTN_ID_19 OBJ_ID_19
/* Button states */
#define BTN_STATE_RELEASED (0 << 0)
#define BTN_STATE_PRESSED (1 << 0)
#define BTN_STATE_ALWAYS_REDRAW (1 << 1)
/* Button style */
#define BTN_STYLE_2D (0 << 0)
#define BTN_STYLE_3D (1 << 0)
#define BTN_STYLE_TOGGLE_COLORS (1 << 1)
#define BTN_STYLE_USE_ALTERNATE_COLORS (1 << 2)
#define BTN_STYLE_NO_BORDERS (1 << 3)
#define BTN_STYLE_NO_FILL (1 << 4)
/* Button events */
#define BTN_EVENT_CLICKED OBJ_EVENT_CLICKED
/* -------------------------------------------------------------------------------- */
/* -- CHECKBOX OBJECT -- */
/* -------------------------------------------------------------------------------- */
/* Checkbox structure */
typedef struct
{
UG_U8 state;
UG_U8 style;
UG_COLOR fc;
UG_COLOR bc;
UG_COLOR afc;
UG_COLOR abc;
const UG_FONT* font;
UG_U8 align;
UG_S8 h_space;
UG_S8 v_space;
char* str;
UG_U8 checked;
} UG_CHECKBOX;
/* Default checkbox IDs */
#define CHB_ID_0 OBJ_ID_0
#define CHB_ID_1 OBJ_ID_1
#define CHB_ID_2 OBJ_ID_2
#define CHB_ID_3 OBJ_ID_3
#define CHB_ID_4 OBJ_ID_4
#define CHB_ID_5 OBJ_ID_5
#define CHB_ID_6 OBJ_ID_6
#define CHB_ID_7 OBJ_ID_7
#define CHB_ID_8 OBJ_ID_8
#define CHB_ID_9 OBJ_ID_9
#define CHB_ID_10 OBJ_ID_10
#define CHB_ID_11 OBJ_ID_11
#define CHB_ID_12 OBJ_ID_12
#define CHB_ID_13 OBJ_ID_13
#define CHB_ID_14 OBJ_ID_14
#define CHB_ID_15 OBJ_ID_15
#define CHB_ID_16 OBJ_ID_16
#define CHB_ID_17 OBJ_ID_17
#define CHB_ID_18 OBJ_ID_18
#define CHB_ID_19 OBJ_ID_19
/* Checkbox states */
#define CHB_STATE_RELEASED (0 << 0)
#define CHB_STATE_PRESSED (1 << 0)
#define CHB_STATE_ALWAYS_REDRAW (1 << 1)
/* Checkbox style */
#define CHB_STYLE_2D (0 << 0)
#define CHB_STYLE_3D (1 << 0)
#define CHB_STYLE_TOGGLE_COLORS (1 << 1)
#define CHB_STYLE_USE_ALTERNATE_COLORS (1 << 2)
#define CHB_STYLE_NO_BORDERS (1 << 3)
#define CHB_STYLE_NO_FILL (1 << 4)
/* Checkbox events */
#define CHB_EVENT_CLICKED OBJ_EVENT_CLICKED
/* -------------------------------------------------------------------------------- */
/* -- TEXTBOX OBJECT -- */
/* -------------------------------------------------------------------------------- */
/* Textbox structure */
typedef struct
{
char* str;
const UG_FONT* font;
UG_U8 style;
UG_COLOR fc;
UG_COLOR bc;
UG_U8 align;
UG_S8 h_space;
UG_S8 v_space;
} UG_TEXTBOX;
/* Default textbox IDs */
#define TXB_ID_0 OBJ_ID_0
#define TXB_ID_1 OBJ_ID_1
#define TXB_ID_2 OBJ_ID_2
#define TXB_ID_3 OBJ_ID_3
#define TXB_ID_4 OBJ_ID_4
#define TXB_ID_5 OBJ_ID_5
#define TXB_ID_6 OBJ_ID_6
#define TXB_ID_7 OBJ_ID_7
#define TXB_ID_8 OBJ_ID_8
#define TXB_ID_9 OBJ_ID_9
#define TXB_ID_10 OBJ_ID_10
#define TXB_ID_11 OBJ_ID_11
#define TXB_ID_12 OBJ_ID_12
#define TXB_ID_13 OBJ_ID_13
#define TXB_ID_14 OBJ_ID_14
#define TXB_ID_15 OBJ_ID_15
#define TXB_ID_16 OBJ_ID_16
#define TXB_ID_17 OBJ_ID_17
#define TXB_ID_18 OBJ_ID_18
#define TXB_ID_19 OBJ_ID_19
/* -------------------------------------------------------------------------------- */
/* -- IMAGE OBJECT -- */
/* -------------------------------------------------------------------------------- */
/* Image structure */
typedef struct
{
void* img;
UG_U8 type;
} UG_IMAGE;
/* Default image IDs */
#define IMG_ID_0 OBJ_ID_0
#define IMG_ID_1 OBJ_ID_1
#define IMG_ID_2 OBJ_ID_2
#define IMG_ID_3 OBJ_ID_3
#define IMG_ID_4 OBJ_ID_4
#define IMG_ID_5 OBJ_ID_5
#define IMG_ID_6 OBJ_ID_6
#define IMG_ID_7 OBJ_ID_7
#define IMG_ID_8 OBJ_ID_8
#define IMG_ID_9 OBJ_ID_9
#define IMG_ID_10 OBJ_ID_10
#define IMG_ID_11 OBJ_ID_11
#define IMG_ID_12 OBJ_ID_12
#define IMG_ID_13 OBJ_ID_13
#define IMG_ID_14 OBJ_ID_14
#define IMG_ID_15 OBJ_ID_15
#define IMG_ID_16 OBJ_ID_16
#define IMG_ID_17 OBJ_ID_17
#define IMG_ID_18 OBJ_ID_18
#define IMG_ID_19 OBJ_ID_19
/* Image types */
#define IMG_TYPE_BMP (1 << 0)
/* -------------------------------------------------------------------------------- */
/* -- µGUI DRIVER -- */
/* -------------------------------------------------------------------------------- */
typedef struct
{
void* driver;
UG_U8 state;
} UG_DRIVER;
#define DRIVER_REGISTERED (1 << 0)
#define DRIVER_ENABLED (1 << 1)
/* Supported drivers */
#define NUMBER_OF_DRIVERS 3
#define DRIVER_DRAW_LINE 0
#define DRIVER_FILL_FRAME 1
#define DRIVER_FILL_AREA 2
/* -------------------------------------------------------------------------------- */
/* -- µGUI CORE STRUCTURE -- */
/* -------------------------------------------------------------------------------- */
typedef struct
{
void (*pset)(UG_S16, UG_S16, UG_COLOR);
UG_S16 x_dim;
UG_S16 y_dim;
UG_TOUCH touch;
UG_WINDOW* next_window;
UG_WINDOW* active_window;
UG_WINDOW* last_window;
struct
{
UG_S16 x_pos;
UG_S16 y_pos;
UG_S16 x_start;
UG_S16 y_start;
UG_S16 x_end;
UG_S16 y_end;
UG_COLOR fore_color;
UG_COLOR back_color;
} console;
UG_FONT font;
UG_S8 char_h_space;
UG_S8 char_v_space;
UG_COLOR fore_color;
UG_COLOR back_color;
UG_COLOR desktop_color;
UG_U8 state;
UG_DRIVER driver[NUMBER_OF_DRIVERS];
} UG_GUI;
#define UG_SATUS_WAIT_FOR_UPDATE (1 << 0)
/* -------------------------------------------------------------------------------- */
/* -- µGUI COLORS -- */
/* -- Source: http://www.rapidtables.com/web/color/RGB_Color.htm -- */
/* -------------------------------------------------------------------------------- */
#ifdef USE_COLOR_RGB565
#define C_MAROON 0x8000
#define C_DARK_RED 0x8800
#define C_BROWN 0xA145
#define C_FIREBRICK 0xB104
#define C_CRIMSON 0xD8A7
#define C_RED 0xF800
#define C_TOMATO 0xFB09
#define C_CORAL 0xFBEA
#define C_INDIAN_RED 0xCAEB
#define C_LIGHT_CORAL 0xEC10
#define C_DARK_SALMON 0xE4AF
#define C_SALMON 0xF40E
#define C_LIGHT_SALMON 0xFD0F
#define C_ORANGE_RED 0xFA20
#define C_DARK_ORANGE 0xFC60
#define C_ORANGE 0xFD20
#define C_GOLD 0xFEA0
#define C_DARK_GOLDEN_ROD 0xB421
#define C_GOLDEN_ROD 0xDD24
#define C_PALE_GOLDEN_ROD 0xEF35
#define C_DARK_KHAKI 0xBDAD
#define C_KHAKI 0xEF31
#define C_OLIVE 0x8400
#define C_YELLOW 0xFFE0
#define C_YELLOW_GREEN 0x9E66
#define C_DARK_OLIVE_GREEN 0x5346
#define C_OLIVE_DRAB 0x6C64
#define C_LAWN_GREEN 0x7FC0
#define C_CHART_REUSE 0x7FE0
#define C_GREEN_YELLOW 0xAFE6
#define C_DARK_GREEN 0x0320
#define C_GREEN 0x07E0
#define C_FOREST_GREEN 0x2444
#define C_LIME 0x07E0
#define C_LIME_GREEN 0x3666
#define C_LIGHT_GREEN 0x9772
#define C_PALE_GREEN 0x97D2
#define C_DARK_SEA_GREEN 0x8DD1
#define C_MEDIUM_SPRING_GREEN 0x07D3
#define C_SPRING_GREEN 0x07EF
#define C_SEA_GREEN 0x344B
#define C_MEDIUM_AQUA_MARINE 0x6675
#define C_MEDIUM_SEA_GREEN 0x3D8E
#define C_LIGHT_SEA_GREEN 0x2595
#define C_DARK_SLATE_GRAY 0x328A
#define C_TEAL 0x0410
#define C_DARK_CYAN 0x0451
#define C_AQUA 0x07FF
#define C_CYAN 0x07FF
#define C_LIGHT_CYAN 0xDFFF
#define C_DARK_TURQUOISE 0x0679
#define C_TURQUOISE 0x46F9
#define C_MEDIUM_TURQUOISE 0x4E99
#define C_PALE_TURQUOISE 0xAF7D
#define C_AQUA_MARINE 0x7FFA
#define C_POWDER_BLUE 0xAEFC
#define C_CADET_BLUE 0x64F3
#define C_STEEL_BLUE 0x4C16
#define C_CORN_FLOWER_BLUE 0x64BD
#define C_DEEP_SKY_BLUE 0x05FF
#define C_DODGER_BLUE 0x249F
#define C_LIGHT_BLUE 0xAEBC
#define C_SKY_BLUE 0x867D
#define C_LIGHT_SKY_BLUE 0x867E
#define C_MIDNIGHT_BLUE 0x18CE
#define C_NAVY 0x0010
#define C_DARK_BLUE 0x0011
#define C_MEDIUM_BLUE 0x0019
#define C_BLUE 0x001F
#define C_ROYAL_BLUE 0x435B
#define C_BLUE_VIOLET 0x897B
#define C_INDIGO 0x4810
#define C_DARK_SLATE_BLUE 0x49F1
#define C_SLATE_BLUE 0x6AD9
#define C_MEDIUM_SLATE_BLUE 0x7B5D
#define C_MEDIUM_PURPLE 0x939B
#define C_DARK_MAGENTA 0x8811
#define C_DARK_VIOLET 0x901A
#define C_DARK_ORCHID 0x9999
#define C_MEDIUM_ORCHID 0xBABA
#define C_PURPLE 0x8010
#define C_THISTLE 0xD5FA
#define C_PLUM 0xDD1B
#define C_VIOLET 0xEC1D
#define C_MAGENTA 0xF81F
#define C_ORCHID 0xDB9A
#define C_MEDIUM_VIOLET_RED 0xC0B0
#define C_PALE_VIOLET_RED 0xDB92
#define C_DEEP_PINK 0xF8B2
#define C_HOT_PINK 0xFB56
#define C_LIGHT_PINK 0xFDB7
#define C_PINK 0xFDF9
#define C_ANTIQUE_WHITE 0xF75A
#define C_BEIGE 0xF7BB
#define C_BISQUE 0xFF18
#define C_BLANCHED_ALMOND 0xFF59
#define C_WHEAT 0xF6F6
#define C_CORN_SILK 0xFFBB
#define C_LEMON_CHIFFON 0xFFD9
#define C_LIGHT_GOLDEN_ROD_YELLOW 0xF7DA
#define C_LIGHT_YELLOW 0xFFFB
#define C_SADDLE_BROWN 0x8A22
#define C_SIENNA 0x9A85
#define C_CHOCOLATE 0xD344
#define C_PERU 0xCC28
#define C_SANDY_BROWN 0xF52C
#define C_BURLY_WOOD 0xDDB0
#define C_TAN 0xD591
#define C_ROSY_BROWN 0xBC71
#define C_MOCCASIN 0xFF16
#define C_NAVAJO_WHITE 0xFEF5
#define C_PEACH_PUFF 0xFED6
#define C_MISTY_ROSE 0xFF1B
#define C_LAVENDER_BLUSH 0xFF7E
#define C_LINEN 0xF77C
#define C_OLD_LACE 0xFFBC
#define C_PAPAYA_WHIP 0xFF7A
#define C_SEA_SHELL 0xFFBD
#define C_MINT_CREAM 0xF7FE
#define C_SLATE_GRAY 0x7412
#define C_LIGHT_SLATE_GRAY 0x7453
#define C_LIGHT_STEEL_BLUE 0xAE1B
#define C_LAVENDER 0xE73E
#define C_FLORAL_WHITE 0xFFDD
#define C_ALICE_BLUE 0xEFBF
#define C_GHOST_WHITE 0xF7BF
#define C_HONEYDEW 0xEFFD
#define C_IVORY 0xFFFD
#define C_AZURE 0xEFFF
#define C_SNOW 0xFFDE
#define C_BLACK 0x0000
#define C_DIM_GRAY 0x6B4D
#define C_GRAY 0x8410
#define C_DARK_GRAY 0xAD55
#define C_SILVER 0xBDF7
#define C_LIGHT_GRAY 0xD69A
#define C_GAINSBORO 0xDEDB
#define C_WHITE_SMOKE 0xF7BE
#define C_WHITE 0xFFFF
#endif
#ifdef USE_COLOR_RGB888
#define C_MAROON 0x800000
#define C_DARK_RED 0x8B0000
#define C_BROWN 0xA52A2A
#define C_FIREBRICK 0xB22222
#define C_CRIMSON 0xDC143C
#define C_RED 0xFF0000
#define C_TOMATO 0xFF6347
#define C_CORAL 0xFF7F50
#define C_INDIAN_RED 0xCD5C5C
#define C_LIGHT_CORAL 0xF08080
#define C_DARK_SALMON 0xE9967A
#define C_SALMON 0xFA8072
#define C_LIGHT_SALMON 0xFFA07A
#define C_ORANGE_RED 0xFF4500
#define C_DARK_ORANGE 0xFF8C00
#define C_ORANGE 0xFFA500
#define C_GOLD 0xFFD700
#define C_DARK_GOLDEN_ROD 0xB8860B
#define C_GOLDEN_ROD 0xDAA520
#define C_PALE_GOLDEN_ROD 0xEEE8AA
#define C_DARK_KHAKI 0xBDB76B
#define C_KHAKI 0xF0E68C
#define C_OLIVE 0x808000
#define C_YELLOW 0xFFFF00
#define C_YELLOW_GREEN 0x9ACD32
#define C_DARK_OLIVE_GREEN 0x556B2F
#define C_OLIVE_DRAB 0x6B8E23
#define C_LAWN_GREEN 0x7CFC00
#define C_CHART_REUSE 0x7FFF00
#define C_GREEN_YELLOW 0xADFF2F
#define C_DARK_GREEN 0x006400
#define C_GREEN 0x00FF00
#define C_FOREST_GREEN 0x228B22
#define C_LIME 0x00FF00
#define C_LIME_GREEN 0x32CD32
#define C_LIGHT_GREEN 0x90EE90
#define C_PALE_GREEN 0x98FB98
#define C_DARK_SEA_GREEN 0x8FBC8F
#define C_MEDIUM_SPRING_GREEN 0x00FA9A
#define C_SPRING_GREEN 0x00FF7F
#define C_SEA_GREEN 0x2E8B57
#define C_MEDIUM_AQUA_MARINE 0x66CDAA
#define C_MEDIUM_SEA_GREEN 0x3CB371
#define C_LIGHT_SEA_GREEN 0x20B2AA
#define C_DARK_SLATE_GRAY 0x2F4F4F
#define C_TEAL 0x008080
#define C_DARK_CYAN 0x008B8B
#define C_AQUA 0x00FFFF
#define C_CYAN 0x00FFFF
#define C_LIGHT_CYAN 0xE0FFFF
#define C_DARK_TURQUOISE 0x00CED1
#define C_TURQUOISE 0x40E0D0
#define C_MEDIUM_TURQUOISE 0x48D1CC
#define C_PALE_TURQUOISE 0xAFEEEE
#define C_AQUA_MARINE 0x7FFFD4
#define C_POWDER_BLUE 0xB0E0E6
#define C_CADET_BLUE 0x5F9EA0
#define C_STEEL_BLUE 0x4682B4
#define C_CORN_FLOWER_BLUE 0x6495ED
#define C_DEEP_SKY_BLUE 0x00BFFF
#define C_DODGER_BLUE 0x1E90FF
#define C_LIGHT_BLUE 0xADD8E6
#define C_SKY_BLUE 0x87CEEB
#define C_LIGHT_SKY_BLUE 0x87CEFA
#define C_MIDNIGHT_BLUE 0x191970
#define C_NAVY 0x000080
#define C_DARK_BLUE 0x00008B
#define C_MEDIUM_BLUE 0x0000CD
#define C_BLUE 0x0000FF
#define C_ROYAL_BLUE 0x4169E1
#define C_BLUE_VIOLET 0x8A2BE2
#define C_INDIGO 0x4B0082
#define C_DARK_SLATE_BLUE 0x483D8B
#define C_SLATE_BLUE 0x6A5ACD
#define C_MEDIUM_SLATE_BLUE 0x7B68EE
#define C_MEDIUM_PURPLE 0x9370DB
#define C_DARK_MAGENTA 0x8B008B
#define C_DARK_VIOLET 0x9400D3
#define C_DARK_ORCHID 0x9932CC
#define C_MEDIUM_ORCHID 0xBA55D3
#define C_PURPLE 0x800080
#define C_THISTLE 0xD8BFD8
#define C_PLUM 0xDDA0DD
#define C_VIOLET 0xEE82EE
#define C_MAGENTA 0xFF00FF
#define C_ORCHID 0xDA70D6
#define C_MEDIUM_VIOLET_RED 0xC71585
#define C_PALE_VIOLET_RED 0xDB7093
#define C_DEEP_PINK 0xFF1493
#define C_HOT_PINK 0xFF69B4
#define C_LIGHT_PINK 0xFFB6C1
#define C_PINK 0xFFC0CB
#define C_ANTIQUE_WHITE 0xFAEBD7
#define C_BEIGE 0xF5F5DC
#define C_BISQUE 0xFFE4C4
#define C_BLANCHED_ALMOND 0xFFEBCD
#define C_WHEAT 0xF5DEB3
#define C_CORN_SILK 0xFFF8DC
#define C_LEMON_CHIFFON 0xFFFACD
#define C_LIGHT_GOLDEN_ROD_YELLOW 0xFAFAD2
#define C_LIGHT_YELLOW 0xFFFFE0
#define C_SADDLE_BROWN 0x8B4513
#define C_SIENNA 0xA0522D
#define C_CHOCOLATE 0xD2691E
#define C_PERU 0xCD853F
#define C_SANDY_BROWN 0xF4A460
#define C_BURLY_WOOD 0xDEB887
#define C_TAN 0xD2B48C
#define C_ROSY_BROWN 0xBC8F8F
#define C_MOCCASIN 0xFFE4B5
#define C_NAVAJO_WHITE 0xFFDEAD
#define C_PEACH_PUFF 0xFFDAB9
#define C_MISTY_ROSE 0xFFE4E1
#define C_LAVENDER_BLUSH 0xFFF0F5
#define C_LINEN 0xFAF0E6
#define C_OLD_LACE 0xFDF5E6
#define C_PAPAYA_WHIP 0xFFEFD5
#define C_SEA_SHELL 0xFFF5EE
#define C_MINT_CREAM 0xF5FFFA
#define C_SLATE_GRAY 0x708090
#define C_LIGHT_SLATE_GRAY 0x778899
#define C_LIGHT_STEEL_BLUE 0xB0C4DE
#define C_LAVENDER 0xE6E6FA
#define C_FLORAL_WHITE 0xFFFAF0
#define C_ALICE_BLUE 0xF0F8FF
#define C_GHOST_WHITE 0xF8F8FF
#define C_HONEYDEW 0xF0FFF0
#define C_IVORY 0xFFFFF0
#define C_AZURE 0xF0FFFF
#define C_SNOW 0xFFFAFA
#define C_BLACK 0x000000
#define C_DIM_GRAY 0x696969
#define C_GRAY 0x808080
#define C_DARK_GRAY 0xA9A9A9
#define C_SILVER 0xC0C0C0
#define C_LIGHT_GRAY 0xD3D3D3
#define C_GAINSBORO 0xDCDCDC
#define C_WHITE_SMOKE 0xF5F5F5
#define C_WHITE 0xFFFFFF
#endif
/* -------------------------------------------------------------------------------- */
/* -- PROTOTYPES -- */
/* -------------------------------------------------------------------------------- */
#if _GUI_FONT == 3
typedef struct
{
uint32_t addr;
uint16_t len;
} XBF_Info_t;
typedef struct
{
uint16_t x_len;
uint16_t x_byte;
} XBF_Data_t;
int UG_ReadXBF(UG_U32 off, UG_U8* pbuf, UG_U16 len);
#endif
/* Classic functions */
UG_S16 UG_Init(UG_GUI* g, void (*p)(UG_S16, UG_S16, UG_COLOR), UG_S16 x, UG_S16 y);
UG_S16 UG_SelectGUI(UG_GUI* g);
void UG_FontSelect(const UG_FONT* font);
void UG_FillScreen(UG_COLOR c);
void UG_FillFrame(UG_S16 x1, UG_S16 y1, UG_S16 x2, UG_S16 y2, UG_COLOR c);
void UG_FillRoundFrame(UG_S16 x1, UG_S16 y1, UG_S16 x2, UG_S16 y2, UG_S16 r, UG_COLOR c);
void UG_DrawMesh(UG_S16 x1, UG_S16 y1, UG_S16 x2, UG_S16 y2, UG_COLOR c);
void UG_DrawFrame(UG_S16 x1, UG_S16 y1, UG_S16 x2, UG_S16 y2, UG_COLOR c);
void UG_DrawRoundFrame(UG_S16 x1, UG_S16 y1, UG_S16 x2, UG_S16 y2, UG_S16 r, UG_COLOR c);
void UG_DrawPixel(UG_S16 x0, UG_S16 y0, UG_COLOR c);
void UG_DrawCircle(UG_S16 x0, UG_S16 y0, UG_S16 r, UG_COLOR c);
void UG_FillCircle(UG_S16 x0, UG_S16 y0, UG_S16 r, UG_COLOR c);
void UG_DrawArc(UG_S16 x0, UG_S16 y0, UG_S16 r, UG_U8 s, UG_COLOR c);
void UG_DrawLine(UG_S16 x1, UG_S16 y1, UG_S16 x2, UG_S16 y2, UG_COLOR c);
void UG_PutString(UG_S16 x, UG_S16 y, char* str);
void UG_PutCharUnicode(uint32_t v, UG_S16 x, UG_S16 y, UG_COLOR fc, UG_COLOR bc);
void UG_PutChar(char chr, UG_S16 x, UG_S16 y, UG_COLOR fc, UG_COLOR bc);
void UG_ConsolePutString(char* str);
void UG_ConsoleSetArea(UG_S16 xs, UG_S16 ys, UG_S16 xe, UG_S16 ye);
void UG_ConsoleSetForecolor(UG_COLOR c);
void UG_ConsoleSetBackcolor(UG_COLOR c);
void UG_SetForecolor(UG_COLOR c);
void UG_SetBackcolor(UG_COLOR c);
UG_S16 UG_GetXDim(void);
UG_S16 UG_GetYDim(void);
void UG_FontSetHSpace(UG_U16 s);
void UG_FontSetVSpace(UG_U16 s);
/* Miscellaneous functions */
void UG_WaitForUpdate(void);
void UG_Update(void);
void UG_DrawBMP(UG_S16 xp, UG_S16 yp, UG_BMP* bmp);
void UG_TouchUpdate(UG_S16 xp, UG_S16 yp, UG_U8 state);
/* Driver functions */
void UG_DriverRegister(UG_U8 type, void* driver);
void UG_DriverEnable(UG_U8 type);
void UG_DriverDisable(UG_U8 type);
/* Window functions */
UG_RESULT UG_WindowCreate(UG_WINDOW* wnd, UG_OBJECT* objlst, UG_U8 objcnt, void (*cb)(UG_MESSAGE*));
UG_RESULT UG_WindowDelete(UG_WINDOW* wnd);
UG_RESULT UG_WindowShow(UG_WINDOW* wnd);
UG_RESULT UG_WindowHide(UG_WINDOW* wnd);
UG_RESULT UG_WindowResize(UG_WINDOW* wnd, UG_S16 xs, UG_S16 ys, UG_S16 xe, UG_S16 ye);
UG_RESULT UG_WindowAlert(UG_WINDOW* wnd);
UG_RESULT UG_WindowSetForeColor(UG_WINDOW* wnd, UG_COLOR fc);
UG_RESULT UG_WindowSetBackColor(UG_WINDOW* wnd, UG_COLOR bc);
UG_RESULT UG_WindowSetTitleTextColor(UG_WINDOW* wnd, UG_COLOR c);
UG_RESULT UG_WindowSetTitleColor(UG_WINDOW* wnd, UG_COLOR c);
UG_RESULT UG_WindowSetTitleInactiveTextColor(UG_WINDOW* wnd, UG_COLOR c);
UG_RESULT UG_WindowSetTitleInactiveColor(UG_WINDOW* wnd, UG_COLOR c);
UG_RESULT UG_WindowSetTitleText(UG_WINDOW* wnd, char* str);
UG_RESULT UG_WindowSetTitleTextFont(UG_WINDOW* wnd, const UG_FONT* font);
UG_RESULT UG_WindowSetTitleTextHSpace(UG_WINDOW* wnd, UG_S8 hs);
UG_RESULT UG_WindowSetTitleTextVSpace(UG_WINDOW* wnd, UG_S8 vs);
UG_RESULT UG_WindowSetTitleTextAlignment(UG_WINDOW* wnd, UG_U8 align);
UG_RESULT UG_WindowSetTitleHeight(UG_WINDOW* wnd, UG_U8 height);
UG_RESULT UG_WindowSetXStart(UG_WINDOW* wnd, UG_S16 xs);
UG_RESULT UG_WindowSetYStart(UG_WINDOW* wnd, UG_S16 ys);
UG_RESULT UG_WindowSetXEnd(UG_WINDOW* wnd, UG_S16 xe);
UG_RESULT UG_WindowSetYEnd(UG_WINDOW* wnd, UG_S16 ye);
UG_RESULT UG_WindowSetStyle(UG_WINDOW* wnd, UG_U8 style);
UG_COLOR UG_WindowGetForeColor(UG_WINDOW* wnd);
UG_COLOR UG_WindowGetBackColor(UG_WINDOW* wnd);
UG_COLOR UG_WindowGetTitleTextColor(UG_WINDOW* wnd);
UG_COLOR UG_WindowGetTitleColor(UG_WINDOW* wnd);
UG_COLOR UG_WindowGetTitleInactiveTextColor(UG_WINDOW* wnd);
UG_COLOR UG_WindowGetTitleInactiveColor(UG_WINDOW* wnd);
char* UG_WindowGetTitleText(UG_WINDOW* wnd);
UG_FONT* UG_WindowGetTitleTextFont(UG_WINDOW* wnd);
UG_S8 UG_WindowGetTitleTextHSpace(UG_WINDOW* wnd);
UG_S8 UG_WindowGetTitleTextVSpace(UG_WINDOW* wnd);
UG_U8 UG_WindowGetTitleTextAlignment(UG_WINDOW* wnd);
UG_U8 UG_WindowGetTitleHeight(UG_WINDOW* wnd);
UG_S16 UG_WindowGetXStart(UG_WINDOW* wnd);
UG_S16 UG_WindowGetYStart(UG_WINDOW* wnd);
UG_S16 UG_WindowGetXEnd(UG_WINDOW* wnd);
UG_S16 UG_WindowGetYEnd(UG_WINDOW* wnd);
UG_U8 UG_WindowGetStyle(UG_WINDOW* wnd);
UG_RESULT UG_WindowGetArea(UG_WINDOW* wnd, UG_AREA* a);
UG_S16 UG_WindowGetInnerWidth(UG_WINDOW* wnd);
UG_S16 UG_WindowGetOuterWidth(UG_WINDOW* wnd);
UG_S16 UG_WindowGetInnerHeight(UG_WINDOW* wnd);
UG_S16 UG_WindowGetOuterHeight(UG_WINDOW* wnd);
/* Button functions */
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);
UG_RESULT UG_ButtonDelete(UG_WINDOW* wnd, UG_U8 id);
UG_RESULT UG_ButtonShow(UG_WINDOW* wnd, UG_U8 id);
UG_RESULT UG_ButtonHide(UG_WINDOW* wnd, UG_U8 id);
UG_RESULT UG_ButtonSetForeColor(UG_WINDOW* wnd, UG_U8 id, UG_COLOR fc);
UG_RESULT UG_ButtonSetBackColor(UG_WINDOW* wnd, UG_U8 id, UG_COLOR bc);
UG_RESULT UG_ButtonSetAlternateForeColor(UG_WINDOW* wnd, UG_U8 id, UG_COLOR afc);
UG_RESULT UG_ButtonSetAlternateBackColor(UG_WINDOW* wnd, UG_U8 id, UG_COLOR abc);
UG_RESULT UG_ButtonSetText(UG_WINDOW* wnd, UG_U8 id, char* str);
UG_RESULT UG_ButtonSetFont(UG_WINDOW* wnd, UG_U8 id, const UG_FONT* font);
UG_RESULT UG_ButtonSetStyle(UG_WINDOW* wnd, UG_U8 id, UG_U8 style);
UG_RESULT UG_ButtonSetHSpace(UG_WINDOW* wnd, UG_U8 id, UG_S8 hs);
UG_RESULT UG_ButtonSetVSpace(UG_WINDOW* wnd, UG_U8 id, UG_S8 vs);
UG_RESULT UG_ButtonSetAlignment(UG_WINDOW* wnd, UG_U8 id, UG_U8 align);
UG_COLOR UG_ButtonGetForeColor(UG_WINDOW* wnd, UG_U8 id);
UG_COLOR UG_ButtonGetBackColor(UG_WINDOW* wnd, UG_U8 id);
UG_COLOR UG_ButtonGetAlternateForeColor(UG_WINDOW* wnd, UG_U8 id);
UG_COLOR UG_ButtonGetAlternateBackColor(UG_WINDOW* wnd, UG_U8 id);
char* UG_ButtonGetText(UG_WINDOW* wnd, UG_U8 id);
UG_FONT* UG_ButtonGetFont(UG_WINDOW* wnd, UG_U8 id);
UG_U8 UG_ButtonGetStyle(UG_WINDOW* wnd, UG_U8 id);
UG_S8 UG_ButtonGetHSpace(UG_WINDOW* wnd, UG_U8 id);
UG_S8 UG_ButtonGetVSpace(UG_WINDOW* wnd, UG_U8 id);
UG_U8 UG_ButtonGetAlignment(UG_WINDOW* wnd, UG_U8 id);
/* Checkbox functions */
UG_RESULT UG_CheckboxCreate(UG_WINDOW* wnd, UG_CHECKBOX* btn, UG_U8 id, UG_S16 xs, UG_S16 ys,
UG_S16 xe, UG_S16 ye);
UG_RESULT UG_CheckboxDelete(UG_WINDOW* wnd, UG_U8 id);
UG_RESULT UG_CheckboxShow(UG_WINDOW* wnd, UG_U8 id);
UG_RESULT UG_CheckboxHide(UG_WINDOW* wnd, UG_U8 id);
UG_RESULT UG_CheckboxSetCheched(UG_WINDOW* wnd, UG_U8 id, UG_U8 ch);
UG_RESULT UG_CheckboxSetForeColor(UG_WINDOW* wnd, UG_U8 id, UG_COLOR fc);
UG_RESULT UG_CheckboxSetBackColor(UG_WINDOW* wnd, UG_U8 id, UG_COLOR bc);
UG_RESULT UG_CheckboxSetAlternateForeColor(UG_WINDOW* wnd, UG_U8 id, UG_COLOR afc);
UG_RESULT UG_CheckboxSetAlternateBackColor(UG_WINDOW* wnd, UG_U8 id, UG_COLOR abc);
UG_RESULT UG_CheckboxSetText(UG_WINDOW* wnd, UG_U8 id, char* str);
UG_RESULT UG_CheckboxSetFont(UG_WINDOW* wnd, UG_U8 id, const UG_FONT* font);
UG_RESULT UG_CheckboxSetStyle(UG_WINDOW* wnd, UG_U8 id, UG_U8 style);
UG_RESULT UG_CheckboxSetHSpace(UG_WINDOW* wnd, UG_U8 id, UG_S8 hs);
UG_RESULT UG_CheckboxSetVSpace(UG_WINDOW* wnd, UG_U8 id, UG_S8 vs);
UG_RESULT UG_CheckboxSetAlignment(UG_WINDOW* wnd, UG_U8 id, UG_U8 align);
UG_U8 UG_CheckboxGetChecked(UG_WINDOW* wnd, UG_U8 id);
UG_COLOR UG_CheckboxGetForeColor(UG_WINDOW* wnd, UG_U8 id);
UG_COLOR UG_CheckboxGetBackColor(UG_WINDOW* wnd, UG_U8 id);
UG_COLOR UG_CheckboxGetAlternateForeColor(UG_WINDOW* wnd, UG_U8 id);
UG_COLOR UG_CheckboxGetAlternateBackColor(UG_WINDOW* wnd, UG_U8 id);
char* UG_CheckboxGetText(UG_WINDOW* wnd, UG_U8 id);
UG_FONT* UG_CheckboxGetFont(UG_WINDOW* wnd, UG_U8 id);
UG_U8 UG_CheckboxGetStyle(UG_WINDOW* wnd, UG_U8 id);
UG_S8 UG_CheckboxGetHSpace(UG_WINDOW* wnd, UG_U8 id);
UG_S8 UG_CheckboxGetVSpace(UG_WINDOW* wnd, UG_U8 id);
UG_U8 UG_CheckboxGetAlignment(UG_WINDOW* wnd, UG_U8 id);
/* Textbox functions */
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);
UG_RESULT UG_TextboxDelete(UG_WINDOW* wnd, UG_U8 id);
UG_RESULT UG_TextboxShow(UG_WINDOW* wnd, UG_U8 id);
UG_RESULT UG_TextboxHide(UG_WINDOW* wnd, UG_U8 id);
UG_RESULT UG_TextboxSetForeColor(UG_WINDOW* wnd, UG_U8 id, UG_COLOR fc);
UG_RESULT UG_TextboxSetBackColor(UG_WINDOW* wnd, UG_U8 id, UG_COLOR bc);
UG_RESULT UG_TextboxSetText(UG_WINDOW* wnd, UG_U8 id, char* str);
UG_RESULT UG_TextboxSetFont(UG_WINDOW* wnd, UG_U8 id, const UG_FONT* font);
UG_RESULT UG_TextboxSetHSpace(UG_WINDOW* wnd, UG_U8 id, UG_S8 hs);
UG_RESULT UG_TextboxSetVSpace(UG_WINDOW* wnd, UG_U8 id, UG_S8 vs);
UG_RESULT UG_TextboxSetAlignment(UG_WINDOW* wnd, UG_U8 id, UG_U8 align);
UG_COLOR UG_TextboxGetForeColor(UG_WINDOW* wnd, UG_U8 id);
UG_COLOR UG_TextboxGetBackColor(UG_WINDOW* wnd, UG_U8 id);
char* UG_TextboxGetText(UG_WINDOW* wnd, UG_U8 id);
UG_FONT* UG_TextboxGetFont(UG_WINDOW* wnd, UG_U8 id);
UG_S8 UG_TextboxGetHSpace(UG_WINDOW* wnd, UG_U8 id);
UG_S8 UG_TextboxGetVSpace(UG_WINDOW* wnd, UG_U8 id);
UG_U8 UG_TextboxGetAlignment(UG_WINDOW* wnd, UG_U8 id);
/* Image functions */
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);
UG_RESULT UG_ImageDelete(UG_WINDOW* wnd, UG_U8 id);
UG_RESULT UG_ImageShow(UG_WINDOW* wnd, UG_U8 id);
UG_RESULT UG_ImageHide(UG_WINDOW* wnd, UG_U8 id);
UG_RESULT UG_ImageSetBMP(UG_WINDOW* wnd, UG_U8 id, const UG_BMP* bmp);
#endif
#endif

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/notrynohigh-BabyOS.git
git@gitlife.ru:oschina-mirror/notrynohigh-BabyOS.git
oschina-mirror
notrynohigh-BabyOS
notrynohigh-BabyOS
v5.1.0