muteki
Loading...
Searching...
No Matches
common.h File Reference

Common data structures and definitions for the UI subsystem. More...

#include <muteki/common.h>
#include <muteki/threading.h>

Go to the source code of this file.

Data Structures

struct  lcd_surface_s
 Descriptor of an LCD drawing surface or hardware framebuffer. More...
 
struct  lcd_cursor_s
 Cursor states usually linked to an LCD descriptor. More...
 
struct  ui_rect_s
 Rectangle used to represent usable drawing area in an LCD descriptor. More...
 
struct  lcd_draw_s
 Drawing routine common states. More...
 
struct  lcd_font_s
 Font rendering routine common states. More...
 
struct  lcd_lock_s
 An extended part of the LCD descriptor that implements descriptor locking. More...
 
struct  lcd_base_s
 The LCD descriptor. More...
 
struct  lcd_thread_safe_s
 A thread-safe variant of the LCD descriptor used on some versions of Besta RTOS. More...
 
struct  ui_multipress_event_s
 Multipress/multitouch event. More...
 
struct  ui_event_base_s
 Structure for low level UI events. More...
 
struct  ui_event_prime_s
 Structure for low level UI events (Prime G1 extension). More...
 
struct  ui_message_s
 Event struct used by SendMessage(). More...
 
struct  ui_component_s
 Common part of all widgets and views. More...
 

Macros

#define ui_event_s   ui_event_base_s
 
#define lcd_s   lcd_base_s
 
#define RGB_FROM_U8(r, g, b)   ((r & 0xff) << 16 | ((g & 0xff) << 8) | (b & 0xff))
 Convert separate RGB values to integer RGB representation.
 

Typedefs

typedef struct lcd_surface_s lcd_surface_t
 
typedef struct lcd_cursor_s lcd_cursor_t
 
typedef struct ui_rect_s ui_rect_t
 
typedef struct lcd_draw_s lcd_draw_t
 
typedef struct lcd_font_s lcd_font_t
 
typedef struct lcd_lock_s lcd_lock_t
 
typedef struct lcd_base_s lcd_base_t
 
typedef struct lcd_thread_safe_s lcd_thread_safe_t
 
typedef struct ui_event_base_s ui_event_base_t
 
typedef struct ui_event_prime_s ui_event_prime_t
 
typedef struct ui_message_s ui_message_t
 
typedef struct ui_component_s ui_component_t
 
typedef struct ui_multipress_event_s ui_multipress_event_t
 
typedef struct ui_event_base_s ui_event_t
 
typedef struct lcd_base_s lcd_t
 
typedef int(* lcd_rotate_callback_t) (lcd_t *self, int rotation)
 Callback type for handling canvas rotation.
 

Enumerations

enum  print_flag_e { PRINT_NONE = 0 , PRINT_INVERT = 0x1 , PRINT_INVERT_ALT = 0x4 , PRINT_UNDERSCORE_ONLY = 0x40 }
 Process flags for string and character printing. More...
 
enum  print_str_flag_e { PRINT_STR_ENCODING_BIG5 = 0x100 , PRINT_STR_ENCODING_GB18030 = 0x200 , PRINT_STR_ENCODING_TIS_620 = 0x400 }
 Process flags for string printing only. More...
 
enum  str_align_e { STR_ALIGN_LEFT = 0 , STR_ALIGN_RIGHT , STR_ALIGN_CENTER }
 String alignment types. More...
 
enum  blit_flag_e {
  BLIT_NONE = 0 , BLIT_AND = 0x2 , BLIT_OR = 0x3 , BLIT_XOR = 0x4 ,
  BLIT_TRANSPARENT = 0xe , BLIT_ALPHA_BLENDING = 0xf , BLIT_ALPHA_BLENDING_FAST = 0x10
}
 Process flags for blit operations. More...
 
enum  lcd_surface_pixfmt_e {
  LCD_SURFACE_PIXFMT_L1 = 1 , LCD_SURFACE_PIXFMT_L4 = 4 , LCD_SURFACE_PIXFMT_L8 = 8 , LCD_SURFACE_PIXFMT_RGB444 = 12 ,
  LCD_SURFACE_PIXFMT_RGB565 = 16 , LCD_SURFACE_PIXFMT_RGB = 24 , LCD_SURFACE_PIXFMT_XRGB = 32 , LCD_SURFACE_PIXFMT_ARGB = 32
}
 Valid pixel formats for LCD surfaces. More...
 
enum  lcd_surface_encoding_e { LCD_SURFACE_ENCODING_HCA = 1 , LCD_SURFACE_ENCODING_RAW = 2 }
 Valid pixel buffer encoding for LCD surfaces. More...
 
enum  rotation_value_e {
  ROTATION_TOP_SIDE_FACING_UP = 0 , ROTATION_TOP_SIDE_FACING_LEFT , ROTATION_TOP_SIDE_FACING_DOWN , ROTATION_TOP_SIDE_FACING_RIGHT ,
  ROTATION_QUERY = 0xfe , ROTATION_APPLY = 0xff
}
 Rotation values used by lcd_rotate_callback_t. More...
 
enum  stroke_predefined_dash_e {
  DASH_NONE = 0 , DASH_8_8_16_0 , DASH_4 , DASH_0_4_16_4_4_4 ,
  DASH_12_4_4_4_4_4 , DASH_1 , DASH_2 , DASH_16 ,
  DASH_0_1_8_1_8_1_8_1_4_0 = 12 , DASH_4_1_8_1_7_1_9_1 , DASH_3_1_7_1_7_1_4_8 , DASH_3_1_7_1_7_1_7_1_4_0 ,
  DASH_0_1_6_1_1_1_4_1_3_1_2_1_5_2_3_0 , DASH_3_2_5_1_2_1_3_1_4_1_1_1_6_1 , DASH_7_1_6_1_6_1_6_1_3_0 , DASH_3_1_6_1_6_1_6_1_7_0 ,
  DASH_24_8 = 22 , DASH_CUSTOM = 0x100
}
 Predefined dash patterns. More...
 
enum  keycode_e {
  KEY_ESC = 0x01 , KEY_LEFT , KEY_UP , KEY_RIGHT ,
  KEY_DOWN , KEY_PGUP , KEY_PGDN , KEY_CAPS = 0x0a ,
  KEY_DEL = 0xc , KEY_ENTER = 0x0d , KEY_MENU = 0x11 , KEY_FUNC_MENU = 0x11 ,
  KEY_FONT = 0x12 , KEY_SPACE = ' ' , KEY_EXCL = '!' , KEY_TAB = 0x22 ,
  KEY_HASH = '#' , KEY_DOLLAR = '$' , KEY_PERCENT = '' , KEY_LPAREN = '(' ,
  KEY_RPAREN = ')' , KEY_STAR = '*' , KEY_COMMA = ',' , KEY_DASH = '-' ,
  KEY_DOT = '.' , KEY_0 = '0' , KEY_1 = '1' , KEY_2 = '2' ,
  KEY_3 = '3' , KEY_4 = '4' , KEY_5 = '5' , KEY_6 = '6' ,
  KEY_7 = '7' , KEY_8 = '8' , KEY_9 = '9' , KEY_QUESTION = '?' ,
  KEY_AT = '@' , KEY_A = 'A' , KEY_B = 'B' , KEY_C = 'C' ,
  KEY_D = 'D' , KEY_E = 'E' , KEY_F = 'F' , KEY_G = 'G' ,
  KEY_H = 'H' , KEY_I = 'I' , KEY_J = 'J' , KEY_K = 'K' ,
  KEY_L = 'L' , KEY_M = 'M' , KEY_N = 'N' , KEY_O = 'O' ,
  KEY_P = 'P' , KEY_Q = 'Q' , KEY_R = 'R' , KEY_S = 'S' ,
  KEY_T = 'T' , KEY_U = 'U' , KEY_V = 'V' , KEY_W = 'W' ,
  KEY_X = 'X' , KEY_Y = 'Y' , KEY_Z = 'Z' , KEY_LANG_CHN = 0x80 ,
  KEY_LANG_YUE = 0x81 , KEY_LANG_ENG = 0x82 , KEY_POWER = 0x83 , KEY_F1 = 0x84 ,
  KEY_F2 , KEY_F3 , KEY_F4 , KEY_F5 ,
  KEY_APP_REC = 0x89 , KEY_SHIFT = 0x8b , KEY_IME = 0x8e , KEY_LANG_JPN = 0x8f ,
  KEY_SYMBOL = 0x91 , KEY_HOME = 0x93 , KEY_HOME_MENU = 0x93 , KEY_PRIME_MENU = 0x93 ,
  KEY_TOGGLE_SC_TC = 0x94 , KEY_HELP = 0x95 , KEY_SAVE = 0x96 , KEY_APP_MP3_PLAYER = 0x98 ,
  KEY_VOL_BACKLIGHT = 0x9c , KEY_SYLLABLE = 0x9e , KEY_ORIGINAL_INPUT = 0x9f , KEY_APP_MISC_3 = 0xa3 ,
  KEY_APP_FLASHCARD = 0xa3 , KEY_APP_MISC_5 = 0xa5 , KEY_APP_DICT_JA_DAJIRIN = 0xa5 , KEY_APP_GAMES = 0xa5 ,
  KEY_APP_MISC_6 = 0xa6 , KEY_APP_DICT_JA_SHINMEIKAI = 0xa6 , KEY_APP_ALBUM = 0xa6 , KEY_APP_MISC_7 = 0xa7 ,
  KEY_APP_DICT_EN_LONGMAN = 0xa7 , KEY_APP_DICT_JA_EN_GENIUS = 0xa7 , KEY_APP_MISC_8 = 0xa8 , KEY_APP_DICT_EN_JA_GENIUS = 0xa8 ,
  KEY_PRIME_APPS = 0xb1 , KEY_PRIME_PLOT , KEY_PRIME_NUM , KEY_PRIME_VIEW ,
  KEY_PRIME_CAS , KEY_PRIME_ALPHA , KEY_PRIME_MINUS , KEY_PRIME_DECIMAL_POINT ,
  KEY_PRIME_PLUS , KEY_FAV = 0xc0 , KEY_APP_VIDEO_PLAYER = 0xd0 , KEY_AUX_MENU = 0xd1 ,
  KEY_APP_TRANSLATOR_EN_ZH = 0xd2 , KEY_APP_TRANSLATOR_ZH_EN = 0xd3 , KEY_APP_DICT_EN_PRO = 0xd4 , KEY_APP_DICT_ZH_EN_BESTA = 0xe8 ,
  KEY_APP_DICT_JA_ZH_BESTA = 0xe9 , KEY_APP_DICT_ZH_JA_BESTA = 0xea , KEY_APP_DICT_EN_OXFORD = 0xf2 , KEY_APP_DICT_EN_ZH_BESTA = 0xf3 ,
  KEY_EDIT = 0xf5 , KEY_SEARCH = 0xf6 , KEY_BACKLIGHT = 0xf8 , KEY_COMPARE = 0xf9 ,
  KEY_VOL = 0xfa , KEY_BATTERY = 0xfb , KEY_CONTRAST = 0xfc , KEY_USB_INSERTION = 0xfe ,
  KEY_REPEAT = 0xff , KEY_INS = 0x101 , KEY_SCROLL_WHEEL_EVENT = 0x102 , KEY_TTS = 0x104 ,
  KEY_SHIFT_PGUP = 0xe047 , KEY_PRIME_HOME = 0xe047 , KEY_SHIFT_PGDN = 0xe04f
}
 List of available keycodes. More...
 
enum  scroll_wheel_e { SCROLL_DOWN , SCROLL_UP }
 Scroll wheel direction. More...
 
enum  ui_event_type_e {
  UI_EVENT_TYPE_INVALID = 0 , UI_EVENT_TYPE_TOUCH_BEGIN = 1 , UI_EVENT_TYPE_TOUCH_MOVE = 2 , UI_EVENT_TYPE_TOUCH_END = 8 ,
  UI_EVENT_TYPE_KEY = 16 , UI_EVENT_TYPE_KEY_UP = 0x100000
}
 UI event types. More...
 
enum  font_type_e {
  SANS_TINY_CJK_NORMAL = 0 , SANS_BOLD_TINY_CJK_NORMAL , SANS_ITALIC_TINY_CJK_REGULAR_NORMAL , SANS_BOLDITALIC_TINY_CJK_REGULAR_NORMAL ,
  SERIF_SMALL_CJK , SERIF_BOLD_SMALL_CJK , SERIF_ITALIC_SMALL_CJK_REGULAR , SERIF_BOLDITALIC_SMALL_CJK_REGULAR ,
  SERIF_CJK , SERIF_BOLD_CJK , SERIF_ITALIC_CJK_REGULAR , SERIF_BOLDITALIC_CJK_REGULAR ,
  SERIF_LARGE_CJK , SERIF_BOLD_LARGE_CJK , SERIF_ITALIC_LARGE_CJK , SERIF_BOLDITALIC_LARGE_CJK ,
  MONOSPACE_CJK , MONOSPACE_TINY_NOCJK , SERIF_CJK_18 , SERIF_BOLD_CJK_19 ,
  SERIF_SMALL_CJK_20 , SANS_TINY_NOCJK , SANS_BOLD_TINY_NOCJK , SANS_ITALIC_TINY_NOCJK ,
  SANS_BOLDITALIC_TINY_NOCJK , SERIF_SMALL_CJK_25 , SERIF_BOLD_SMALL_CJK_26 , SERIF_ITALIC_SMALL_CJK_REGULAR_27 ,
  SERIF_BOLDITALIC_SMALL_CJK_REGULAR_28 , SERIF_CJK_29 , SERIF_BOLD_CJK_30 , SERIF_ITALIC_CJK_REGULAR_31 ,
  SERIF_BOLDITALIC_CJK_REGULAR_32 , SERIF_HUGE_CJK_LARGE , SANS_HUGE_CJK_LARGE , SERIF_ITALIC_HUGE_CJK_LARGE ,
  SANS_ITALIC_HUGE_CJK_LARGE
}
 Font types. More...
 

Detailed Description

Common data structures and definitions for the UI subsystem.

Macro Definition Documentation

◆ RGB_FROM_U8

#define RGB_FROM_U8 (   r,
  g,
 
)    ((r & 0xff) << 16 | ((g & 0xff) << 8) | (b & 0xff))

Convert separate RGB values to integer RGB representation.

Parameters
rRed value.
gGreen value.
bBlue value.

Typedef Documentation

◆ lcd_rotate_callback_t

typedef int(* lcd_rotate_callback_t) (lcd_t *self, int rotation)

Callback type for handling canvas rotation.

When rotation is set to ROTATION_QUERY, the current rotation value will be returned with no side effect. When rotation is set to ROTATION_APPLY, the canvas will rotate based on current value of lcd_t::rotation.

Parameters
selfThe LCD descriptor this was called from.
rotationNew rotation. This value will be written to lcd_t::rotation and this callback will be called recursively with ROTATION_APPLY as the rotation value to actually apply the change.
Returns
Current rotation value in effect. This will be the same as rotation when no magic value documented above was used.
See also
lcd_t::rotation Where the location value is stored in the LCD descriptor.
rotation_value_e Possible rotation values.

Enumeration Type Documentation

◆ blit_flag_e

Process flags for blit operations.

Warning
These are stand-alone and not stackable with bitwise-OR operations ('|').
Todo:
Need to look into this further. 2 and 16 seem to draw the image verbatim like 0. Nothing is being drawn when setting any other flags. (Could it be related to some other properties on the surface descriptor such as transparent color?)
Enumerator
BLIT_NONE 

Nothing.

This just copies the pixels as-is.

BLIT_AND 

Perform AND operation between source line and destination line.

This effectively does a bit-wise color masking of the destination surface.

BLIT_OR 

Perform OR operation between source line and destination line.

This effectively does a bit-wise painting onto the destination surface. Colors will also be mixed in a bit-wise fashion.

BLIT_XOR 

Perform XOR operation between source line and destination line.

This effectively does a bit-wise color inversion of the destination surface.

BLIT_TRANSPARENT 

Honor transparent color settings on the current LCD canvas.

This copies the pixels when it's not exactly the same as the transparent color of the current LCD canvas.

BLIT_ALPHA_BLENDING 

Perform alpha blending (when supported).

This is done without gamma correction.

BLIT_ALPHA_BLENDING_FAST 

Perform alpha blending (when supported).

This is similar to BLIT_ALPHA_BLENDING but instead of using alpha values per-pixel, it uses only the alpha value of the first pixel for the entire surface. This makes the process slightly faster if the entire image has the same alpha values for every pixel.

◆ font_type_e

Font types.

The naming follows the following format, joined with underscores (_):

<style>_[variant]_[size]_<cjk>_[cjkvariant]_[cjksize]_[index]

Where

  • style is one of SANS, SERIF or MONOSPACE.
  • variant or cjkvariant is one of BOLD (equivalent to REGULAR for CJK), ITALIC, BOLDITALIC (equivalent to ITALIC for CJK) or REGULAR (omitted for variant). For cjkvariant, if it is the same as variant, it will be omitted.
  • size or cjksize is one of TINY (8px height, not available for CJK), SMALL (12px), NORMAL (16px, omitted for size), LARGE (20px) or HUGE (22px, not available for CJK). For cjksize, if it is the same as size, it will be omitted.
  • cjk is either CJK (supports CJK character rendering) or NOCJK (does not support CJK character rendering).
  • index is the current index (only used when all the above fields collide).

◆ keycode_e

enum keycode_e

List of available keycodes.

Keycodes starting with KEY_PRIME_ are extended keycodes exclusive to HP Prime G1 (EA656).

Enumerator
KEY_MENU 

Bring up the function menu of the current scene.

Not to be confused with the function menu.

KEY_FUNC_MENU 

Bring up the function menu of the current scene.

Alias of KEY_MENU.

KEY_FONT 

Change font size.

KEY_LANG_CHN 

Trigger TTS in Mandarain Chinese.

KEY_LANG_YUE 

Trigger TTS in Cantonese.

KEY_LANG_ENG 

Trigger TTS in English.

KEY_POWER 

Power button event.

KEY_APP_REC 

Launch voice recorder.

KEY_IME 

Switch input method.

KEY_LANG_JPN 

Trigger TTS in Japanese.

KEY_SYMBOL 

Activate the symbol selection input method.

KEY_HOME 

Return to home menu.

KEY_HOME_MENU 

Return to home menu.

Alias of KEY_HOME

KEY_PRIME_MENU 

The MENU key on HP Prime.

Alias of KEY_HOME

KEY_TOGGLE_SC_TC 

Toggle simplified/traditional Chinese.

KEY_HELP 

Show in-app help.

KEY_SAVE 

Save current change and exit.

KEY_APP_MP3_PLAYER 

Launch MP3 player.

KEY_VOL_BACKLIGHT 

Open the Volume + Backlight adjustment menu.

KEY_SYLLABLE 

Dictionary: Pronounce the current word syllable-by-syllable.

KEY_ORIGINAL_INPUT 

Dictionary and search: Go back to the first screen the user initiated a search (with input memorized).

KEY_APP_MISC_3 

Board-specific app launching shortcut.

KEY_APP_FLASHCARD 

Launch the flashcard app.

Available on CA743.

KEY_APP_MISC_5 

Board-specific app launching shortcut.

KEY_APP_DICT_JA_DAJIRIN 

Launch Daijirin Japanese dictionary.

Available on JA738.

KEY_APP_GAMES 

Launch the Games app.

Available on CA743.

KEY_APP_MISC_6 

Board-specific app launching shortcut.

KEY_APP_DICT_JA_SHINMEIKAI 

Launch Shin-Meikai Japanese dictionary.

Available on JA738.

KEY_APP_ALBUM 

Launch the album app.

Available on CA743.

KEY_APP_MISC_7 

Board-specific app launching shortcut.

KEY_APP_DICT_EN_LONGMAN 

Launch Longman dictionary.

Available on CA743.

KEY_APP_DICT_JA_EN_GENIUS 

Launch Genius Japanese-English dictionary.

Available on JA738.

KEY_APP_MISC_8 

Board-specific app launching shortcut.

KEY_APP_DICT_EN_JA_GENIUS 

Launch Genius English-Japanese dictionary.

Available on JA738.

KEY_FAV 

Show the Favorites menu.

KEY_APP_VIDEO_PLAYER 

Launch video player app.

KEY_AUX_MENU 

Open the global auxilary menu on touchscreen-only devices.

KEY_APP_TRANSLATOR_EN_ZH 

Open the English to Chinese translator app.

KEY_APP_TRANSLATOR_ZH_EN 

Open the Chinese to English translator app.

KEY_APP_DICT_EN_PRO 

Launch Besta professional vocabulary dictionary.

KEY_APP_DICT_ZH_EN_BESTA 

Launch Besta Chinese-English dictionary.

KEY_APP_DICT_JA_ZH_BESTA 

Launch Besta Japanese-Chinese dictionary.

KEY_APP_DICT_ZH_JA_BESTA 

Launch Besta Chinese-Japanese dictionary.

KEY_APP_DICT_EN_OXFORD 

Launch Oxford dictionary.

KEY_APP_DICT_EN_ZH_BESTA 

Launch Besta English-Chinese dictionary.

KEY_EDIT 

Show the edit menu (cut/copy/paste).

KEY_SEARCH 

Launch the unified search app.

KEY_BACKLIGHT 

Open the Backlight adjustment menu.

May be an alias to KEY_VOL_BACKLIGHT.

KEY_COMPARE 

Dictionary: Parrot the current word and compare the pronunciations.

KEY_VOL 

Open the Volume adjustment menu.

May be an alias to KEY_VOL_BACKLIGHT.

KEY_BATTERY 

Display battery indicator popup.

KEY_CONTRAST 

Open LCD backlight and contrast adjustment menu.

KEY_USB_INSERTION 

Event on USB cable insertion.

KEY_REPEAT 

Dictionary: Repeatedly read out the current word.

KEY_SCROLL_WHEEL_EVENT 

Scroll wheel event.

KEY_TTS 

Trigger TTS.

Some models may have this key instead of the usual KEY_LANG_* series keys for triggering TTS.

◆ lcd_surface_encoding_e

Valid pixel buffer encoding for LCD surfaces.

Enumerator
LCD_SURFACE_ENCODING_HCA 

Pixel buffer is contained in HCA container.

LCD_SURFACE_ENCODING_RAW 

Pixel buffer is in raw format.

◆ lcd_surface_pixfmt_e

Valid pixel formats for LCD surfaces.

All color values are assumed to be little endian.

Enumerator
LCD_SURFACE_PIXFMT_L1 

1-bit index color.

LCD_SURFACE_PIXFMT_L4 

4-bit index color.

LCD_SURFACE_PIXFMT_L8 

8-bit index color.

LCD_SURFACE_PIXFMT_RGB444 

12-bit RGB444.

LCD_SURFACE_PIXFMT_RGB565 

16-bit RGB565.

LCD_SURFACE_PIXFMT_RGB 

24-bit RGB.

LCD_SURFACE_PIXFMT_XRGB 

32-bit XRGB.

LCD_SURFACE_PIXFMT_ARGB 

32-bit ARGB (alias of LCD_SURFACE_PIXFMT_XRGB).

◆ print_flag_e

Process flags for string and character printing.

Todo:
A lot of the bits seem to just print nothing. We need to formally look at the disassembly for this (huge!).
Enumerator
PRINT_NONE 

No extra process.

PRINT_INVERT 

Invert colors.

Within the bounding box of the glyphs to be rendered, the RGB pixel value is inverted.

PRINT_INVERT_ALT 

Seems to be an alternative version of PRINT_INVERT.

PRINT_UNDERSCORE_ONLY 

Draw underscores only.

Todo:
Speculation based on behavior. Seems to be very broken with >16px fonts.

◆ print_str_flag_e

Process flags for string printing only.

Enumerator
PRINT_STR_ENCODING_BIG5 

Assume text encoding to be BIG5 instead of UTF-16.

Todo:
Seems to be some unknown extension? Limited mojibake test doesn't match iconv result.
PRINT_STR_ENCODING_GB18030 

Assume text encoding to be GB18030 instead of UTF-16.

PRINT_STR_ENCODING_TIS_620 

Assume text encoding to be TIS-620 instead of UTF-16.

◆ rotation_value_e

Rotation values used by lcd_rotate_callback_t.

Enumerator
ROTATION_TOP_SIDE_FACING_UP 

Set the rotation so the top side of the canvas is facing up.

ROTATION_TOP_SIDE_FACING_LEFT 

Set the rotation so the top side of the canvas is facing left.

ROTATION_TOP_SIDE_FACING_DOWN 

Set the rotation so the top side of the canvas is facing down.

ROTATION_TOP_SIDE_FACING_RIGHT 

Set the rotation so the top side of the canvas is facing right.

ROTATION_QUERY 

Query the current rotation. Will not change the current location.

ROTATION_APPLY 

Actually rotate the buffer. Used internally.

◆ scroll_wheel_e

Scroll wheel direction.

Only confirmed on BA802.

Enumerator
SCROLL_DOWN 

Scroll down (clockwise direction).

SCROLL_UP 

Scroll up (counter-clockwise direction).

◆ str_align_e

String alignment types.

Enumerator
STR_ALIGN_LEFT 

Align to top-left.

STR_ALIGN_RIGHT 

Align to top-right.

STR_ALIGN_CENTER 

Align to top-center.

◆ stroke_predefined_dash_e

Predefined dash patterns.

The numbers here follows the SVG stroke-dasharray property format.

Todo:
Add graphic examples.
Enumerator
DASH_NONE 

Solid line.

DASH_CUSTOM 

Custom dash pattern.

◆ ui_event_type_e

UI event types.

Enumerator
UI_EVENT_TYPE_INVALID 

Invalid/cleared.

UI_EVENT_TYPE_TOUCH_BEGIN 

Beginning of touch/pen down event.

UI_EVENT_TYPE_TOUCH_MOVE 

Touch/pen move event.

UI_EVENT_TYPE_TOUCH_END 

End of touch/pen up event.

UI_EVENT_TYPE_KEY 

Key(s) pressed.

UI_EVENT_TYPE_KEY_UP 

Key(s) released.

Available on S3C and TCC boards.