awtk/docs/manual.md
2020-06-06 07:53:13 +08:00

363 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 参考手册
## 一、GUI相关组件
### 控件
![widget\_overview](images/widget_overview.png)
#### widget
* [widget](manual/widget_t.md) 所有控件、窗口和窗口管理器的基类。
#### 窗口管理器
* [window\_manager](manual/window_manager_t.md) 窗口管理器。
#### 窗口
* [window\_base](manual/window_base_t.md) 窗口基类。
* [dialog](manual/dialog_t.md) 对话框。
* [popup](manual/popup_t.md) 弹出窗口。
* [window](manual/window_t.md) 普通窗口。
* [system\_bar](manual/system_bar_t.md) 系统状态窗口。
* [calibration\_win](manual/calibration_win_t.md) 电阻屏校准窗口。
* [overlay](manual/overlay_t.md) 悬浮窗口。
#### 基本控件
* [button](manual/button_t.md) 按钮控件。
* [label](manual/label_t.md) 文本控件。
* [edit](manual/edit_t.md) 单行编辑器控件。
* [image](manual/image_t.md) 图片控件。
* [dragger](manual/dragger_t.md) dragger控件。
* [draggable](manual/draggable_t.md) draggable控件。
* [image\_base](manual/image_base_t.md) 图片控件基类。
* [check\_button](manual/check_button_t.md) 多选按钮。
* [radio\_button](manual/check_button_t.md) 单选按钮。
* [spin\_box](manual/spin_box_t.md) 数值编辑器控件。
* [combo\_box](manual/combo_box_t.md) 下拉列表控件。
* [combo\_box\_ex](manual/combo_box_ex_t.md) 可滚动的下拉列表控件。
* [combo\_box\_item](manual/combo_box_item_t.md) 下拉列表项控件。
* [color\_tile](manual/color_tile_t.md) 色块控件。
* [dialog\_title](manual/dialog_title_t.md) 对话框标题控件。
* [dialog\_client](manual/dialog_client_t.md) 对话框客户区控件。
* [slider](manual/slider_t.md) 滑块控件。
* [progress\_bar](manual/progress_bar_t.md) 进度条控件。
* [tab\_control](manual/tab_control_t.md) 标签控件。
* [tab\_button](manual/tab_button_t.md) 标签按钮控件。
* [tab\_button\_group](manual/tab_button_group_t.md) 标签按钮分组控件。
#### 通用容器控件
* [row](manual/row_t.md) 行控件。
* [column](manual/column_t.md) 列控件。
* [grid](manual/grid_t.md) 网格控件。
* [view](manual/view_t.md) 通用容器控件。
* [grid\_item](manual/grid_item_t.md) 网格项控件。
* [group\_box](manual/group_box_t.md) 通用分组控件。
* [app\_bar](manual/app_bar_t.md) app\_bar控件。
* [button\_group](manual/button_group_t.md) 按钮分组控件。
#### 扩展控件
* [candidates](manual/candidates_t.md) 软键盘候选字控件。
* [canvas\_widget](manual/canvas_widget_t.md) 画布控件。
* [color\_picker](manual/color_picker_t.md) 颜色选择器控件。
* [gif\_image](manual/gif_image_t.md) gif\_image控件。
* [guage](manual/guage_t.md) 仪表控件。
* [guage\_pointer](manual/guage_pointer_t.md) 仪表指针控件。
* [image\_animation](manual/image_animation_t.md) 图片动画控件。
* [image\_value](manual/image_value_t.md) 图片值控件。
* [keyboard](manual/keyboard_t.md) 软键盘控件。
* [progress\_circle](manual/progress_circle_t.md) 进度圆环控件。
* [rich\_text](manual/rich_text_t.md) 图文混排控件。
* [rich\_text\_view](manual/rich_text_view_t.md) 用于协调rich text 和 scrollbar控件。
* [slide\_menu](manual/slide_menu_t.md) 左右滑动菜单控件。
* [slide\_view](manual/slide_view_t.md) 滑动视图控件。
* [slide\_view\_indicator](manual/slide_indicator_t.md) 滑动视图的指示器控件。
* [svg\_image](manual/svg_image_t.md) SVG图片控件。
* [switch](manual/switch_t.md) 开关控件。
* [text\_selector](manual/text_selector_t.md) 文本选择器控件。
* [time\_clock](manual/time_clock_t.md) 模拟时钟控件。
* [digit\_clock](manual/digit_clock_t.md) 数字时钟控件。
* [list\_view](manual/list_view_t.md) 列表视图控件。
* [list\_view\_h](manual/list_view_h_t.md) 水平列表视图控件。
* [list\_item](manual/list_item_t.md) 列表项控件。
* [scroll\_bar](manual/scroll_bar_t.md) 滚动条控件。
* [scroll\_view](manual/scroll_view_t.md) 滚动视图控件。
* [mledit](manual/mledit_t.md) 多行编辑器控件。
* [line\_number](manual/line_number_t.md) 多行编辑器的行号控件。
* [mutable\_image](manual/mutable_image_t.md) mutable图片控件(用于辅助实现camera/video)。
* [file\_browser\_view](manual/file_browser_view_t.md) 文件浏览控件。
### 画布
#### 普通画布
* [canvas](manual/canvas_t.md)
#### 矢量图画布
![vgcanvas\_overview](manual/images/vgcanvas_t_0.png)
* [vgcanvas](manual/vgcanvas_t.md)
### 资源相关组件
![assets overview](images/assets_overview.png)
* [asset\_info](manual/asset_info_t.md) 资源信息。
* [assets\_manager](manual/assets_manager_t.md) 资源管理器。
#### 1.字体
![font\_overview](images/font_overview.png)
* [glyph](manual/glyph_t.md) 字模。
* [font](manual/font_t.md) 字体。
* [font\_loader](manual/font_loader_t.md) 字体加载器。
* [font\_loader\_ft](manual/font_loader_ft_t.md) 基于freetype实现的字体加载器。
* [font\_loader\_stb](manual/font_loader_stb_t.md) 基于stb实现的字体加载器。
* [font\_loader\_bitmap](manual/font_loader_bitmap_t.md) 基于位图实现的字体加载器。
* [font\_manager](manual/font_manager_t.md) 字体管理器。
#### 2.图片
![image\_overview](images/image_overview.png)
* [bitmap](manual/bitmap_t.md) 位图。
* [image\_loader](manual/image_loader_t.md) 图片加载器。
* [image\_loader\_stb](manual/image_loader_stb_t.md) stb图片加载器。
* [image\_manager](manual/image_manager_t.md) 图片管理器。
#### 3.字符串资源
* [locale\_info](manual/locale_info_t.md) 本地化信息。
#### 4.主题
![style\_overview](images/style_overview.png)
* [style](manual/style_t.md) style接口。
* [theme](manual/theme_t.md) 常量主题数据。
* [style\_factory](manual/style_factory_t.md) style工厂。
* [style\_const](manual/style_const_t.md) 只读的style。
* [style\_mutable](manual/style_mutable_t.md) 可修改的style。
#### 5.UI描述数据
![ui\_loader\_overview](images/ui_loader_overview.png)
* [ui\_loader](manual/ui_loader_t.md) loader接口。
* [ui\_builder](manual/ui_builder_t.md) builder接口。
* [ui\_builder\_default](manual/ui_builder_default_t.md) 缺省builder实现负责构建widget树。
* [ui\_xml\_writer](manual/ui_xml_writer_t.md) 生成XML格式的UI描述数据。
* [ui\_binary\_writer](manual/ui_binary_writer_t.md) 生成二进制格式的UI描述数据。
* [ui\_loader\_default](manual/ui_loader_default_t.md) 二进制格式的UI资源加载器。
* [ui\_loader\_xml](manual/ui_loader_xml_t.md) XML格式的UI资源加载器。
### 输入法
![input\_method\_overview](images/input_method_overview.png)
* [input\_method](manual/input_method_t.md) 输入法接口。
* [input\_method\_default](manual/input_method_default_t.md) 输入法缺省实现。
* [input\_method\_sdl](manual/input_method_sdl_t.md) 输入法SDL实现。
* [input\_method\_null](manual/input_method_null_t.md) 输入法空实现。
* [input\_engine](manual/input_engine_t.md) 输入法引擎接口。
* [input\_engine\_null](manual/input_engine_null_t.md) 空输入法引擎实现。
* [input\_engine\_pinyin](manual/input_engine_pinyin_t.md) 拼音输入法引擎实现。
### 定时器/IDLE
![timer\_overview](images/timer_overview.png)
* [timer](manual/timer_t.md) 定时器。
* [timer\_info](manual/timer_info_t.md) 单个timer的信息。
![idle\_overview](images/idle_overview.png)
* [idle](manual/idle_t.md) 用于异步执行一些函数。
* [idle\_info](manual/idle_info_t.md) 单个idle的信息。
### 布局器
![self\_layouter](images/layout_self_layouter.png)
![children\_layouter](images/layout_children_layouter.png)
* [self\_layouter](manual/self_layouter_t.md) 控件自身排版布局器的接口
* [children\_layouter](manual/children_layouter_t.md) 子控件排版布局器的接口
* [self\_layouter\_factory](manual/self_layouter_factory_t.md) 控件自身排版布局器的工厂。
* [children\_layouter\_factory](manual/children_layouter_factory_t.md) 子控件排版布局器的的工厂。
* [self\_layouter\_default](manual/self_layouter_default_t.md) 缺省的控件自身布局算法实现。
* [self\_layouter\_menu](manual/self_layouter_menu_t.md) 菜单控件自身布局算法实现。
* [children\_layouter\_default](manual/children_layouter_default_t.md) 缺省的子控件布局算法实现。
* [children\_layouter\_list\_view](manual/children_layouter_list_view_t.md) 列表视图的子控件布局算法实现。
### lcd
![lcd](images/lcd.png)
* [lcd](manual/lcd_t.md) LCD接口
* [lcd\_type](manual/lcd_type_t.md) LCD类型定义
* [lcd\_draw\_mode](manual/lcd_draw_mode_t.md) LCD绘制模式
* [lcd\_mem\_fragment](manual/lcd_mem_fragment_t.md) 片段LCD
* [lcd\_orientation](manual/lcd_orientation_t.md) LCD旋转常量
* [lcd\_mem\_bgr565](manual/lcd_mem_bgr565_t.md) bgr565 格式的LCD
* [lcd\_mem\_bgr888](manual/lcd_mem_bgr888_t.md) bgr888 格式的LCD
* [lcd\_mem\_bgra8888](manual/lcd_mem_bgra8888_t.md) bgra8888 格式的LCD
* [lcd\_mem\_rgb565](manual/lcd_mem_rgb565_t.md) rgb565 格式的LCD
* [lcd\_mem\_rgb888](manual/lcd_mem_rgb888_t.md) rgb888 格式的LCD
* [lcd\_mem\_rgba8888](manual/lcd_mem_rgba8888_t.md) bgra8888 格式的LCD
* [lcd\_mem\_special](manual/lcd_mem_special_t.md) 特殊格式的LCD
* [lcd\_mono](manual/lcd_mono_t.md) 单色LCD
* [lcd\_profile](manual/lcd_profile_t.md) 用于profile性能的LCD
### 杂项
* [system\_info](manual/system_info_t.md) 系统信息。
## 二、基本函数库
### 容器与基本数据结构
* [darray](manual/darray_t.md) 动态数组。
* [slist](manual/slist_t.md) 单向链表。
* [wbuffer](manual/wbuffer_t.md) Write Buffer。
* [rbuffer](manual/rbuffer_t.md) Read Buffer。
* [ring\_buffer](manual/ring_buffer_t.md) 循环缓存区。
* [str](manual/str_t.md) 可变长度的 UTF8 字符串。
* [wstr](manual/wstr_t.md) 可变长度的宽字符字符串。
* [object](manual/object_t.md) 对象接口。
* [object\_default](manual/object_default_t.md) 对象接口的缺省实现。
* [object\_array](manual/object_array_t.md) 简单的动态数组,内部存放 value 对象。
* [point](manual/point_t.md) 点。
* [rect](manual/rect_t.md) 矩形。
* [color](manual/color_t.md) 颜色对象。
* [pointf](manual/pointf_t.md) 点(浮点数格式)。
* [int\_str](manual/int_str_t.md) 数字-字符串类型
* [str\_str](manual/str_str_t.md) 字符串-字符串类型
* [named\_value](manual/named_value_t.md) 命名的值。
* [value](manual/value_t.md) 一个通用数据类型,用来存放整数、浮点数、字符串和其它对象。
* [emitter](manual/emitter_t.md)事件分发器, 用于实现观察者模式。
* [rgba](manual/rgba_t.md) RGBA颜色值。
* [asset\_info](manual/asset_info_t.md) 资源类型定义。
### 流
* [istream](manual/tk_istream_t.md) 输入流的接口。
* [ostream](manual/tk_ostream_t.md) 输出流的接口。
* [iostream](manual/tk_iostream_t.md) 输入/出流的接口。
* [iostream\_mem](manual/tk_iostream_mem_t.md) 内存输入输出流。
* [istream\_mem](manual/tk_istream_mem_t.md) 内存输入流。
* [ostream\_mem](manual/tk_ostream_mem_t.md) 内存输出流。
* [istream\_file](manual/tk_istream_file_t.md) 文件输入流。
* [ostream\_file](manual/tk_ostream_file_t.md) 文件输出流。
* [iostream\_tcp](manual/tk_iostream_tcp_t.md) TCP输入输出流。
* [istream\_tcp](manual/tk_istream_tcp_t.md) TCP输入流。
* [ostream\_tcp](manual/tk_ostream_tcp_t.md) TCP输出流。
* [iostream\_udp](manual/tk_iostream_udp_t.md) UDP输入输出流。
* [istream\_udp](manual/tk_istream_udp_t.md) UDP输入流。
* [ostream\_udp](manual/tk_ostream_udp_t.md) UDP输出流。
* [iostream\_serial](manual/tk_iostream_serial_t.md) 串口输入输出流。
* [istream\_serial](manual/tk_istream_serial_t.md) 串口输入流。
* [ostream\_serial](manual/tk_ostream_serial_t.md) 串口输出流。
* [istream\_buffered](manual/tk_istream_buffered_t.md) 缓冲输入流。
* [ostream\_buffered](manual/tk_ostream_buffered_t.md) 缓冲输出流。
* [iostream\_noisy](manual/tk_iostream_noisy_t.md) 故障注入流。
* [ostream\_noisy](manual/tk_ostream_noisy_t.md) 故障注入输出流。
* [iostream\_shdlc](manual/tk_iostream_shdlc_t.md) SHDLC输入输出流。
* [istream\_shdlc](manual/tk_istream_shdlc_t.md) SHDLC输入流。
* [ostream\_shdlc](manual/tk_ostream_shdlc_t.md) SHDLC输出流。
* [ostream\_retry](manual/tk_ostream_retry_t.md) 重传输出流。
### 并发
* [mutex](manual/tk_mutex_t.md) 互斥锁。
* [thread](manual/tk_thread_t.md) 线程。
* [semaphor](manual/tk_semaphore_t.md) 信号量。
* [cond\_var](manual/tk_cond_var_t.md) 简化版条件变量。
### 事件与事件源
* [event](manual/emitter_t.md) 事件基类。
* [timer\_info](manual/timer_info_t.md) 单个定时器的信息。
* [timer\_manager](manual/timer_manager_t.md) 定时器管理器
* [idle\_info](manual/idle_info_t.md) 单个 idle 的信息。
* [idle\_manager](manual/idle_manager_t.md) idle_manager_t管理器
* [event\_source](manual/event_source_t.md) 事件源接口。
* [event\_source\_fd](manual/event_source_fd_t.md) 基于文件描述符的事件源实现。
* [event\_source\_idle](manual/event_source_idle_t.md) 基于IDLE的事件源实现。
* [event\_source\_timer](manual/event_source_timer_t.md) 基于Time的事件源实现。
* [event\_source\_manager](manual/event_source_manager_t.md) 事件源管理器的接口。
* [event\_source\_manager\_default](manual/event_source_manager_default_t.md) 创建事件源管理器。
### 压缩解压
* [compressor](manual/compressor_t.md) 压缩解压接口。
* [compressor\_miniz](manual/compressor_miniz_t.md) 基于miniz实现的压缩解压接口。
### 平台相关
* [fs](manual/fs_t.md) 文件系统
* [fs\_dir](manual/fs_dir_t.md) 目录
* [fs\_file](manual/fs_file_t.md) 文件
* [fs\_item](manual/fs_item_t.md) 目录或目录。
* [path](manual/path_t.md) 路径相关的工具函数。
* [memory](manual/tk_mem_t.md) 内存管理相关函数和宏。
* [date\_time](manual/date_time_t.md) 时间日期函数。
* [time\_now](manual/time_now_t.md) 获取当前时间的函数。
* [platform](manual/platform_t.md) 平台接口,包括:获取时间、休眠等函数
* [socket\_pair](manual/socketpair_t.md) 生成两个可以互相通信的socket句柄。
### 数据格式
* [ubjson\_parser](manual/ubjson_parser_t.md)
* [ubjson\_writer](manual/ubjson_writer_t.md)
* [xml\_parser](manual/XmlParser.md)
### 工具类
* [easing](manual/easing_type_t.md) 缓动作常量定义。
* [utils](manual/utils_t.md) 工具类
* [utf8](manual/utf8_t.md) wchar_t和char类型转换接口
* [matrix](manual/matrix_t.md) 2D阵变换。
* [func\_desc](manual/func_desc_t.md) 函数描述。
* [value\_desc](manual/value_desc_t.md) 属性描述。
* [func\_call\_parser](manual/func_call_parser_t.md) 从字符串中解析出函数调用需要的参数。
* [tokenizer](manual/tokenizer_t.md) 从字符串中解析出一个一个的 token。
* [color\_parse](manual/color_parser_t.md) 颜色解析对象。