mirror of
https://gitee.com/zlgopen/awtk.git
synced 2024-11-29 18:48:09 +08:00
update docs
This commit is contained in:
parent
6c9b0970fe
commit
94e90b3b1b
@ -56,7 +56,7 @@
|
||||
![assets overview](images/assets_overview.png)
|
||||
|
||||
* [asset\_info](manual/asset_info_t.md) 资源信息。
|
||||
* [assets_manager](manual/assets_manager_t.md) 资源管理器。
|
||||
* [assets\_manager](manual/assets_manager_t.md) 资源管理器。
|
||||
|
||||
#### 1.字体
|
||||
|
||||
|
@ -3,13 +3,17 @@
|
||||
资源管理器。
|
||||
这里的资源管理器并非Windows下的文件浏览器,而是负责对各种资源,比如字体、主题、图片、界面数据、字符串和其它数据的进行集中管理的组件。引入资源管理器的目的有以下几个:
|
||||
|
||||
* 让上层不需要了解存储的方式。在没有文件系统时或者内存紧缺时,把资源转成常量数组直接编译到代码中。在有文件系统而且内存充足时,资源放在文件系统中。在有网络时,资源也可以存放在服务器上(暂未实现)。资源管理器为上层提供统一的接口,让上层而不用关心底层的存储方式。
|
||||
*
|
||||
让上层不需要了解存储的方式。在没有文件系统时或者内存紧缺时,把资源转成常量数组直接编译到代码中。在有文件系统而且内存充足时,资源放在文件系统中。在有网络时,资源也可以存放在服务器上(暂未实现)。资源管理器为上层提供统一的接口,让上层而不用关心底层的存储方式。
|
||||
|
||||
* 让上层不需要了解资源的具体格式。比如一个名为earth的图片,没有文件系统或内存紧缺,图片直接用位图数据格式存在ROM中,而有文件系统时,则用PNG格式存放在文件系统中。资源管理器让上层不需要关心图片的格式,访问时指定图片的名称即可(不用指定扩展名)。
|
||||
*
|
||||
让上层不需要了解资源的具体格式。比如一个名为earth的图片,没有文件系统或内存紧缺,图片直接用位图数据格式存在ROM中,而有文件系统时,则用PNG格式存放在文件系统中。资源管理器让上层不需要关心图片的格式,访问时指定图片的名称即可(不用指定扩展名)。
|
||||
|
||||
* 让上层不需要了解屏幕的密度。不同的屏幕密度下需要加载不同的图片,比如MacPro的Retina屏就需要用双倍解析度的图片,否则就出现界面模糊。AWTK以后会支持PC软件和手机软件的开发,所以资源管理器需要为此提供支持,让上层不需关心屏幕的密度。
|
||||
|
||||
* 对资源进行内存缓存。不同类型的资源使用方式是不一样的,比如字体和主题加载之后会一直使用,UI文件在生成界面之后就暂时不需要了,PNG文件解码之后就只需要保留解码的位图数据即可。资源管理器配合图片管理器等其它组件实现资源的自动缓存。
|
||||
*
|
||||
让上层不需要了解屏幕的密度。不同的屏幕密度下需要加载不同的图片,比如MacPro的Retina屏就需要用双倍解析度的图片,否则就出现界面模糊。AWTK以后会支持PC软件和手机软件的开发,所以资源管理器需要为此提供支持,让上层不需关心屏幕的密度。
|
||||
|
||||
*
|
||||
对资源进行内存缓存。不同类型的资源使用方式是不一样的,比如字体和主题加载之后会一直使用,UI文件在生成界面之后就暂时不需要了,PNG文件解码之后就只需要保留解码的位图数据即可。资源管理器配合图片管理器等其它组件实现资源的自动缓存。
|
||||
|
||||
当从文件系统加载资源时,目录结构要求如下:
|
||||
|
||||
@ -20,7 +24,7 @@
|
||||
x1 普通密度屏幕的图片。
|
||||
x2 2倍密度屏幕的图片。
|
||||
x3 3倍密度屏幕的图片。
|
||||
strings 需要翻译的字符串。
|
||||
strings 需要翻译的字符串。
|
||||
styles 主题数据。
|
||||
ui UI描述数据。
|
||||
```
|
||||
|
@ -2,9 +2,11 @@
|
||||
### 概述
|
||||
![image](images/input_engine_null_t_0.png)
|
||||
|
||||
|
||||
|
||||
空输入法引擎实现。
|
||||
|
||||
缺省输入法可以选择启用软键盘,但不启用具体的输入法引擎,此时可以选择空输入法引擎实现。
|
||||
|
||||
|
||||
|
||||
### 函数
|
||||
|
@ -2,9 +2,11 @@
|
||||
### 概述
|
||||
![image](images/input_engine_pinyin_t_0.png)
|
||||
|
||||
|
||||
|
||||
拼音输入法引擎实现。
|
||||
|
||||
基于谷歌拼音输入法实现。
|
||||
|
||||
|
||||
|
||||
### 函数
|
||||
|
@ -2,8 +2,12 @@
|
||||
### 概述
|
||||
![image](images/input_method_default_t_0.png)
|
||||
|
||||
|
||||
缺省输入法实现。
|
||||
|
||||
缺省输入法实现。输入法会启用软键盘,但是开发者可以自定义输入法引擎。
|
||||
|
||||
目前可以选择不启用输入法引擎或启用拼音输入法引擎。
|
||||
|
||||
开发者也可以开发手写输入法或语音输入法,如果实现时遇到问题可以和我们交流。
|
||||
|
||||
|
||||
|
||||
|
@ -2,9 +2,11 @@
|
||||
### 概述
|
||||
![image](images/input_method_null_t_0.png)
|
||||
|
||||
|
||||
|
||||
空输入法实现。
|
||||
|
||||
在不需要输入法的嵌入式平台使用空的输入法。
|
||||
|
||||
|
||||
|
||||
### 函数
|
||||
|
@ -2,9 +2,11 @@
|
||||
### 概述
|
||||
![image](images/input_method_sdl_t_0.png)
|
||||
|
||||
|
||||
|
||||
SDL输入法实现。
|
||||
|
||||
SDL输入法使用平台自身的输入法引擎,一般在桌面Linux、MacOS、Windows、Android和iOS上使用。
|
||||
|
||||
|
||||
|
||||
### 函数
|
||||
|
@ -13,6 +13,9 @@
|
||||
![image](images/input_method_t_0.png)
|
||||
|
||||
|
||||
> 输入类型请参考:[input\_type](input_type_t.md)
|
||||
|
||||
|
||||
### 函数
|
||||
<p id="input_method_t_methods">
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
### 概述
|
||||
![image](images/style_const_t_0.png)
|
||||
|
||||
|
||||
|
||||
只读的style,从theme\_t中获取数据。
|
||||
|
||||
tools/theme_gen用于把XML的主题数据转换成常量数据。
|
||||
|
@ -2,7 +2,7 @@
|
||||
### 概述
|
||||
![image](images/ui_binary_writer_t_0.png)
|
||||
|
||||
|
||||
|
||||
生成二进制格式的UI描述数据。
|
||||
|
||||
|
||||
|
@ -2,8 +2,8 @@
|
||||
### 概述
|
||||
![image](images/ui_builder_default_t_0.png)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
构建widget树。
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
### 概述
|
||||
![image](images/ui_loader_default_t_0.png)
|
||||
|
||||
|
||||
|
||||
二进制格式的UI资源加载器。
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
* XML格式的加载器。
|
||||
|
||||
* 二进制格式的加载器。
|
||||
* 二进制格式的加载器。
|
||||
|
||||
![image](images/ui_loader_t_0.png)
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
### 概述
|
||||
![image](images/ui_loader_xml_t_0.png)
|
||||
|
||||
|
||||
|
||||
XML格式的UI资源加载器。
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
### 概述
|
||||
![image](images/ui_xml_writer_t_0.png)
|
||||
|
||||
|
||||
|
||||
生成XML格式的UI描述数据。
|
||||
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
| 名属性称 | 类型 | 说明 |
|
||||
| -------- | ----- | ------------ |
|
||||
| <a href="#window_base_t_assets_manager">assets\_manager</a> | assets\_manager\_t* | 获取资源管理器对象。 |
|
||||
| <a href="#window_base_t_closable">closable</a> | window\_closable\_t | 收到EVT\_REQUEST\_CLOSE\_WINDOW是否自动关闭窗口。 |
|
||||
| <a href="#window_base_t_closable">closable</a> | window\_closable\_t | 收到EVT_REQUEST_CLOSE_WINDOW是否自动关闭窗口。 |
|
||||
| <a href="#window_base_t_close_anim_hint">close\_anim\_hint</a> | char* | 关闭窗口动画的名称。 |
|
||||
| <a href="#window_base_t_font_manager">font\_manager</a> | font\_manager\_t* | 获取字体管理器对象。 |
|
||||
| <a href="#window_base_t_image_manager">image\_manager</a> | image\_manager\_t* | 获取图片管理器对象。 |
|
||||
@ -44,7 +44,7 @@
|
||||
| 支通过widget\_get\_prop读取 | 是 |
|
||||
#### closable 属性
|
||||
-----------------------
|
||||
> <p id="window_base_t_closable"> 收到EVT\_REQUEST\_CLOSE\_WINDOW是否自动关闭窗口。
|
||||
> <p id="window_base_t_closable"> 收到EVT_REQUEST_CLOSE_WINDOW是否自动关闭窗口。
|
||||
|
||||
如果关闭窗口时,需要用户确认:
|
||||
|
||||
|
@ -177,13 +177,17 @@ typedef struct _asset_info_t {
|
||||
* 资源管理器。
|
||||
* 这里的资源管理器并非Windows下的文件浏览器,而是负责对各种资源,比如字体、主题、图片、界面数据、字符串和其它数据的进行集中管理的组件。引入资源管理器的目的有以下几个:
|
||||
*
|
||||
* * 让上层不需要了解存储的方式。在没有文件系统时或者内存紧缺时,把资源转成常量数组直接编译到代码中。在有文件系统而且内存充足时,资源放在文件系统中。在有网络时,资源也可以存放在服务器上(暂未实现)。资源管理器为上层提供统一的接口,让上层而不用关心底层的存储方式。
|
||||
* *
|
||||
*让上层不需要了解存储的方式。在没有文件系统时或者内存紧缺时,把资源转成常量数组直接编译到代码中。在有文件系统而且内存充足时,资源放在文件系统中。在有网络时,资源也可以存放在服务器上(暂未实现)。资源管理器为上层提供统一的接口,让上层而不用关心底层的存储方式。
|
||||
*
|
||||
* * 让上层不需要了解资源的具体格式。比如一个名为earth的图片,没有文件系统或内存紧缺,图片直接用位图数据格式存在ROM中,而有文件系统时,则用PNG格式存放在文件系统中。资源管理器让上层不需要关心图片的格式,访问时指定图片的名称即可(不用指定扩展名)。
|
||||
* *
|
||||
*让上层不需要了解资源的具体格式。比如一个名为earth的图片,没有文件系统或内存紧缺,图片直接用位图数据格式存在ROM中,而有文件系统时,则用PNG格式存放在文件系统中。资源管理器让上层不需要关心图片的格式,访问时指定图片的名称即可(不用指定扩展名)。
|
||||
*
|
||||
* * 让上层不需要了解屏幕的密度。不同的屏幕密度下需要加载不同的图片,比如MacPro的Retina屏就需要用双倍解析度的图片,否则就出现界面模糊。AWTK以后会支持PC软件和手机软件的开发,所以资源管理器需要为此提供支持,让上层不需关心屏幕的密度。
|
||||
*
|
||||
* * 对资源进行内存缓存。不同类型的资源使用方式是不一样的,比如字体和主题加载之后会一直使用,UI文件在生成界面之后就暂时不需要了,PNG文件解码之后就只需要保留解码的位图数据即可。资源管理器配合图片管理器等其它组件实现资源的自动缓存。
|
||||
* *
|
||||
*让上层不需要了解屏幕的密度。不同的屏幕密度下需要加载不同的图片,比如MacPro的Retina屏就需要用双倍解析度的图片,否则就出现界面模糊。AWTK以后会支持PC软件和手机软件的开发,所以资源管理器需要为此提供支持,让上层不需关心屏幕的密度。
|
||||
*
|
||||
* *
|
||||
*对资源进行内存缓存。不同类型的资源使用方式是不一样的,比如字体和主题加载之后会一直使用,UI文件在生成界面之后就暂时不需要了,PNG文件解码之后就只需要保留解码的位图数据即可。资源管理器配合图片管理器等其它组件实现资源的自动缓存。
|
||||
*
|
||||
*当从文件系统加载资源时,目录结构要求如下:
|
||||
*
|
||||
@ -194,7 +198,7 @@ typedef struct _asset_info_t {
|
||||
* x1 普通密度屏幕的图片。
|
||||
* x2 2倍密度屏幕的图片。
|
||||
* x3 3倍密度屏幕的图片。
|
||||
* strings 需要翻译的字符串。
|
||||
* strings 需要翻译的字符串。
|
||||
* styles 主题数据。
|
||||
* ui UI描述数据。
|
||||
* ```
|
||||
|
@ -166,6 +166,9 @@ typedef struct _im_candidates_event_t {
|
||||
* input_method_null_t -> input_method_t [arrowhead=empty style=dashed]
|
||||
*
|
||||
* ```
|
||||
*
|
||||
* > 输入类型请参考:[input\_type](input_type_t.md)
|
||||
*
|
||||
*/
|
||||
struct _input_method_t {
|
||||
/**
|
||||
|
@ -29,7 +29,7 @@ BEGIN_C_DECLS
|
||||
/**
|
||||
* @class style_const_t
|
||||
* @parent style_t
|
||||
*
|
||||
*
|
||||
* 只读的style,从theme\_t中获取数据。
|
||||
*
|
||||
* tools/theme_gen用于把XML的主题数据转换成常量数据。
|
||||
|
@ -43,7 +43,7 @@ typedef ret_t (*ui_loader_load_t)(ui_loader_t* loader, const uint8_t* data, uint
|
||||
*
|
||||
* * XML格式的加载器。
|
||||
*
|
||||
* * 二进制格式的加载器。
|
||||
* * 二进制格式的加载器。
|
||||
*
|
||||
* ```graphviz
|
||||
* [default_style]
|
||||
@ -70,7 +70,8 @@ struct _ui_loader_t {
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*
|
||||
*/
|
||||
ret_t ui_loader_load(ui_loader_t* loader, const uint8_t* data, uint32_t size, ui_builder_t* builder);
|
||||
ret_t ui_loader_load(ui_loader_t* loader, const uint8_t* data, uint32_t size,
|
||||
ui_builder_t* builder);
|
||||
|
||||
END_C_DECLS
|
||||
|
||||
|
@ -69,7 +69,7 @@ typedef struct _window_base_t {
|
||||
/**
|
||||
* @property {window_closable_t} closable
|
||||
* @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
|
||||
* 收到EVT\_REQUEST\_CLOSE\_WINDOW是否自动关闭窗口。
|
||||
* 收到EVT_REQUEST_CLOSE_WINDOW是否自动关闭窗口。
|
||||
*
|
||||
* 如果关闭窗口时,需要用户确认:
|
||||
*
|
||||
|
4
src/input_engines/input_engine_null.h
Executable file → Normal file
4
src/input_engines/input_engine_null.h
Executable file → Normal file
@ -29,9 +29,11 @@ BEGIN_C_DECLS
|
||||
/**
|
||||
* @class input_engine_null_t
|
||||
* @parent input_engine_t
|
||||
*
|
||||
*
|
||||
* 空输入法引擎实现。
|
||||
*
|
||||
* 缺省输入法可以选择启用软键盘,但不启用具体的输入法引擎,此时可以选择空输入法引擎实现。
|
||||
*
|
||||
* @annotation["fake"]
|
||||
*
|
||||
*/
|
||||
|
4
src/input_engines/input_engine_pinyin.h
Executable file → Normal file
4
src/input_engines/input_engine_pinyin.h
Executable file → Normal file
@ -29,9 +29,11 @@ BEGIN_C_DECLS
|
||||
/**
|
||||
* @class input_engine_pinyin_t
|
||||
* @parent input_engine_t
|
||||
*
|
||||
*
|
||||
* 拼音输入法引擎实现。
|
||||
*
|
||||
* 基于谷歌拼音输入法实现。
|
||||
*
|
||||
* @annotation["fake"]
|
||||
*
|
||||
*/
|
||||
|
9
src/input_methods/input_method_default.h
Executable file → Normal file
9
src/input_methods/input_method_default.h
Executable file → Normal file
@ -29,8 +29,12 @@ BEGIN_C_DECLS
|
||||
/**
|
||||
* @class input_method_default_t
|
||||
* @parent input_method_t
|
||||
*
|
||||
* 缺省输入法实现。
|
||||
*
|
||||
* 缺省输入法实现。输入法会启用软键盘,但是开发者可以自定义输入法引擎。
|
||||
*
|
||||
* 目前可以选择不启用输入法引擎或启用拼音输入法引擎。
|
||||
*
|
||||
* 开发者也可以开发手写输入法或语音输入法,如果实现时遇到问题可以和我们交流。
|
||||
*
|
||||
* @annotation["fake"]
|
||||
*
|
||||
@ -50,4 +54,3 @@ input_method_t* input_method_default_create(void);
|
||||
END_C_DECLS
|
||||
|
||||
#endif /*TK_INPUT_METHOD_DEFAULT_H*/
|
||||
|
||||
|
4
src/input_methods/input_method_null.h
Executable file → Normal file
4
src/input_methods/input_method_null.h
Executable file → Normal file
@ -29,9 +29,11 @@ BEGIN_C_DECLS
|
||||
/**
|
||||
* @class input_method_null_t
|
||||
* @parent input_method_t
|
||||
*
|
||||
*
|
||||
* 空输入法实现。
|
||||
*
|
||||
* 在不需要输入法的嵌入式平台使用空的输入法。
|
||||
*
|
||||
* @annotation["fake"]
|
||||
*
|
||||
*/
|
||||
|
5
src/input_methods/input_method_sdl.h
Executable file → Normal file
5
src/input_methods/input_method_sdl.h
Executable file → Normal file
@ -29,9 +29,11 @@ BEGIN_C_DECLS
|
||||
/**
|
||||
* @class input_method_sdl_t
|
||||
* @parent input_method_t
|
||||
*
|
||||
*
|
||||
* SDL输入法实现。
|
||||
*
|
||||
* SDL输入法使用平台自身的输入法引擎,一般在桌面Linux、MacOS、Windows、Android和iOS上使用。
|
||||
*
|
||||
* @annotation["fake"]
|
||||
*
|
||||
*/
|
||||
@ -50,4 +52,3 @@ input_method_t* input_method_sdl_create(void);
|
||||
END_C_DECLS
|
||||
|
||||
#endif /*TK_INPUT_METHOD_SDL_H*/
|
||||
|
||||
|
@ -30,7 +30,7 @@ BEGIN_C_DECLS
|
||||
/**
|
||||
* @class ui_binary_writer_t
|
||||
* @parent ui_builder_t
|
||||
*
|
||||
*
|
||||
* 生成二进制格式的UI描述数据。
|
||||
*
|
||||
*/
|
||||
|
6
src/ui_loader/ui_builder_default.h
Executable file → Normal file
6
src/ui_loader/ui_builder_default.h
Executable file → Normal file
@ -29,9 +29,9 @@ BEGIN_C_DECLS
|
||||
/**
|
||||
* @class ui_builder_default_t
|
||||
* @parent ui_builder_t
|
||||
*
|
||||
*
|
||||
* @annotation ["fake"]
|
||||
*
|
||||
*
|
||||
* 构建widget树。
|
||||
*
|
||||
*/
|
||||
@ -42,7 +42,7 @@ BEGIN_C_DECLS
|
||||
*
|
||||
* 获取缺省的ui\_builder对象。
|
||||
*
|
||||
* @param {const char*} name 窗口的缺省名称。
|
||||
* @param {const char*} name 窗口的缺省名称。
|
||||
*
|
||||
* @return {ui_builder_t*} 返回ui\_builder对象。
|
||||
*/
|
||||
|
2
src/ui_loader/ui_loader_default.h
Executable file → Normal file
2
src/ui_loader/ui_loader_default.h
Executable file → Normal file
@ -29,7 +29,7 @@ BEGIN_C_DECLS
|
||||
/**
|
||||
* @class ui_loader_default_t
|
||||
* @parent ui_loader_t
|
||||
*
|
||||
*
|
||||
* 二进制格式的UI资源加载器。
|
||||
*
|
||||
* @annotation["fake"]
|
||||
|
2
src/ui_loader/ui_loader_xml.h
Executable file → Normal file
2
src/ui_loader/ui_loader_xml.h
Executable file → Normal file
@ -29,7 +29,7 @@ BEGIN_C_DECLS
|
||||
/**
|
||||
* @class ui_loader_xml_t
|
||||
* @parent ui_loader_t
|
||||
*
|
||||
*
|
||||
* XML格式的UI资源加载器。
|
||||
*
|
||||
* @annotation["fake"]
|
||||
|
@ -30,7 +30,7 @@ BEGIN_C_DECLS
|
||||
/**
|
||||
* @class ui_xml_writer_t
|
||||
* @parent ui_builder_t
|
||||
*
|
||||
*
|
||||
* 生成XML格式的UI描述数据。
|
||||
*
|
||||
*/
|
||||
|
@ -503,7 +503,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "base/assets_manager.h",
|
||||
"desc": " 资源管理器。\n 这里的资源管理器并非Windows下的文件浏览器,而是负责对各种资源,比如字体、主题、图片、界面数据、字符串和其它数据的进行集中管理的组件。引入资源管理器的目的有以下几个:\n\n * 让上层不需要了解存储的方式。在没有文件系统时或者内存紧缺时,把资源转成常量数组直接编译到代码中。在有文件系统而且内存充足时,资源放在文件系统中。在有网络时,资源也可以存放在服务器上(暂未实现)。资源管理器为上层提供统一的接口,让上层而不用关心底层的存储方式。\n\n * 让上层不需要了解资源的具体格式。比如一个名为earth的图片,没有文件系统或内存紧缺,图片直接用位图数据格式存在ROM中,而有文件系统时,则用PNG格式存放在文件系统中。资源管理器让上层不需要关心图片的格式,访问时指定图片的名称即可(不用指定扩展名)。\n\n * 让上层不需要了解屏幕的密度。不同的屏幕密度下需要加载不同的图片,比如MacPro的Retina屏就需要用双倍解析度的图片,否则就出现界面模糊。AWTK以后会支持PC软件和手机软件的开发,所以资源管理器需要为此提供支持,让上层不需关心屏幕的密度。\n \n * 对资源进行内存缓存。不同类型的资源使用方式是不一样的,比如字体和主题加载之后会一直使用,UI文件在生成界面之后就暂时不需要了,PNG文件解码之后就只需要保留解码的位图数据即可。资源管理器配合图片管理器等其它组件实现资源的自动缓存。\n\n当从文件系统加载资源时,目录结构要求如下:\n\n ```\n assets/raw/\n fonts 字体\n images 图片\n x1 普通密度屏幕的图片。\n x2 2倍密度屏幕的图片。\n x3 3倍密度屏幕的图片。\n strings 需要翻译的字符串。 \n styles 主题数据。\n ui UI描述数据。\n ```\n\n\n",
|
||||
"desc": " 资源管理器。\n 这里的资源管理器并非Windows下的文件浏览器,而是负责对各种资源,比如字体、主题、图片、界面数据、字符串和其它数据的进行集中管理的组件。引入资源管理器的目的有以下几个:\n\n *\n让上层不需要了解存储的方式。在没有文件系统时或者内存紧缺时,把资源转成常量数组直接编译到代码中。在有文件系统而且内存充足时,资源放在文件系统中。在有网络时,资源也可以存放在服务器上(暂未实现)。资源管理器为上层提供统一的接口,让上层而不用关心底层的存储方式。\n\n *\n让上层不需要了解资源的具体格式。比如一个名为earth的图片,没有文件系统或内存紧缺,图片直接用位图数据格式存在ROM中,而有文件系统时,则用PNG格式存放在文件系统中。资源管理器让上层不需要关心图片的格式,访问时指定图片的名称即可(不用指定扩展名)。\n\n *\n让上层不需要了解屏幕的密度。不同的屏幕密度下需要加载不同的图片,比如MacPro的Retina屏就需要用双倍解析度的图片,否则就出现界面模糊。AWTK以后会支持PC软件和手机软件的开发,所以资源管理器需要为此提供支持,让上层不需关心屏幕的密度。\n\n *\n对资源进行内存缓存。不同类型的资源使用方式是不一样的,比如字体和主题加载之后会一直使用,UI文件在生成界面之后就暂时不需要了,PNG文件解码之后就只需要保留解码的位图数据即可。资源管理器配合图片管理器等其它组件实现资源的自动缓存。\n\n当从文件系统加载资源时,目录结构要求如下:\n\n ```\n assets/raw/\n fonts 字体\n images 图片\n x1 普通密度屏幕的图片。\n x2 2倍密度屏幕的图片。\n x3 3倍密度屏幕的图片。\n strings 需要翻译的字符串。\n styles 主题数据。\n ui UI描述数据。\n ```\n\n\n",
|
||||
"name": "assets_manager_t",
|
||||
"annotation": {
|
||||
"scriptable": true
|
||||
@ -3293,7 +3293,7 @@
|
||||
}
|
||||
],
|
||||
"header": "base/input_method.h",
|
||||
"desc": " 输入法接口。\n\n 常见的实现方式有以下几种:\n\n * 空实现。用于不需要输入法的嵌入式平台。\n\n * 缺省实现。用于需要输入法的嵌入式平台。\n\n * 基于SDL实现的平台原生输入法。用于桌面系统和手机系统。\n\n ```graphviz\n [default_style]\n\n input_method_default_t -> input_method_t [arrowhead=empty style=dashed]\n input_method_sdl_t -> input_method_t [arrowhead=empty style=dashed]\n input_method_null_t -> input_method_t [arrowhead=empty style=dashed]\n\n ```\n\n",
|
||||
"desc": " 输入法接口。\n\n 常见的实现方式有以下几种:\n\n * 空实现。用于不需要输入法的嵌入式平台。\n\n * 缺省实现。用于需要输入法的嵌入式平台。\n\n * 基于SDL实现的平台原生输入法。用于桌面系统和手机系统。\n\n ```graphviz\n [default_style]\n\n input_method_default_t -> input_method_t [arrowhead=empty style=dashed]\n input_method_sdl_t -> input_method_t [arrowhead=empty style=dashed]\n input_method_null_t -> input_method_t [arrowhead=empty style=dashed]\n\n ```\n\n > 输入类型请参考:[input\\_type](input_type_t.md)\n\n\n",
|
||||
"name": "input_method_t",
|
||||
"level": 1
|
||||
},
|
||||
@ -5769,7 +5769,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "base/ui_loader.h",
|
||||
"desc": "\n UI加载器。\n\n 负责从资源加载界面描述数据,然后分发给ui\\_builder,由ui\\_builder进一步处理。\n\n 常见的实现有两种:\n\n * XML格式的加载器。\n\n * 二进制格式的加载器。 \n\n ```graphviz\n [default_style]\n\n ui_loader_defualt_t -> ui_loader_t[arrowhead = \"empty\"]\n ui_loader_xml_t -> ui_loader_t[arrowhead = \"empty\"]\n\n ```\n\n\n",
|
||||
"desc": "\n UI加载器。\n\n 负责从资源加载界面描述数据,然后分发给ui\\_builder,由ui\\_builder进一步处理。\n\n 常见的实现有两种:\n\n * XML格式的加载器。\n\n * 二进制格式的加载器。\n\n ```graphviz\n [default_style]\n\n ui_loader_defualt_t -> ui_loader_t[arrowhead = \"empty\"]\n ui_loader_xml_t -> ui_loader_t[arrowhead = \"empty\"]\n\n ```\n\n\n",
|
||||
"name": "ui_loader_t",
|
||||
"level": 1
|
||||
},
|
||||
@ -18936,7 +18936,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "input_engines/input_engine_null.h",
|
||||
"desc": " \n 空输入法引擎实现。\n\n\n\n",
|
||||
"desc": "\n 空输入法引擎实现。\n\n 缺省输入法可以选择启用软键盘,但不启用具体的输入法引擎,此时可以选择空输入法引擎实现。\n\n\n\n",
|
||||
"name": "input_engine_null_t",
|
||||
"parent": "input_engine_t",
|
||||
"annotation": {
|
||||
@ -18963,7 +18963,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "input_engines/input_engine_pinyin.h",
|
||||
"desc": " \n 拼音输入法引擎实现。\n\n\n\n",
|
||||
"desc": "\n 拼音输入法引擎实现。\n\n 基于谷歌拼音输入法实现。\n\n\n\n",
|
||||
"name": "input_engine_pinyin_t",
|
||||
"parent": "input_engine_t",
|
||||
"annotation": {
|
||||
@ -18990,7 +18990,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "input_methods/input_method_default.h",
|
||||
"desc": " \n 缺省输入法实现。\n\n\n\n",
|
||||
"desc": "\n 缺省输入法实现。输入法会启用软键盘,但是开发者可以自定义输入法引擎。\n\n 目前可以选择不启用输入法引擎或启用拼音输入法引擎。\n\n 开发者也可以开发手写输入法或语音输入法,如果实现时遇到问题可以和我们交流。\n\n\n\n",
|
||||
"name": "input_method_default_t",
|
||||
"parent": "input_method_t",
|
||||
"annotation": {
|
||||
@ -19017,7 +19017,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "input_methods/input_method_null.h",
|
||||
"desc": " \n 空输入法实现。\n\n\n\n",
|
||||
"desc": "\n 空输入法实现。\n\n 在不需要输入法的嵌入式平台使用空的输入法。\n\n\n\n",
|
||||
"name": "input_method_null_t",
|
||||
"parent": "input_method_t",
|
||||
"annotation": {
|
||||
@ -19044,7 +19044,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "input_methods/input_method_sdl.h",
|
||||
"desc": " \n SDL输入法实现。\n\n\n\n",
|
||||
"desc": "\n SDL输入法实现。\n\n SDL输入法使用平台自身的输入法引擎,一般在桌面Linux、MacOS、Windows、Android和iOS上使用。\n\n\n\n",
|
||||
"name": "input_method_sdl_t",
|
||||
"parent": "input_method_t",
|
||||
"annotation": {
|
||||
@ -19723,7 +19723,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "base/style_const.h",
|
||||
"desc": " \n 只读的style,从theme\\_t中获取数据。\n\n tools/theme_gen用于把XML的主题数据转换成常量数据。\n\n\n\n",
|
||||
"desc": "\n 只读的style,从theme\\_t中获取数据。\n\n tools/theme_gen用于把XML的主题数据转换成常量数据。\n\n\n\n",
|
||||
"name": "style_const_t",
|
||||
"parent": "style_t",
|
||||
"annotation": {
|
||||
@ -19937,7 +19937,7 @@
|
||||
},
|
||||
{
|
||||
"name": "closable",
|
||||
"desc": " 收到EVT\\_REQUEST\\_CLOSE\\_WINDOW是否自动关闭窗口。\r\n\r\n 如果关闭窗口时,需要用户确认:\r\n\r\n * 1.将closable设置为WINDOW\\_CLOSABLE\\_CONFIRM\r\n\r\n * 2.处理窗口的EVT\\_REQUEST\\_CLOSE\\_WINDOW事件\r\n\r\n> closable在XML中取值为:yes/no/confirm,缺省为yes。\r\n",
|
||||
"desc": " 收到EVT_REQUEST_CLOSE_WINDOW是否自动关闭窗口。\r\n\r\n 如果关闭窗口时,需要用户确认:\r\n\r\n * 1.将closable设置为WINDOW\\_CLOSABLE\\_CONFIRM\r\n\r\n * 2.处理窗口的EVT\\_REQUEST\\_CLOSE\\_WINDOW事件\r\n\r\n> closable在XML中取值为:yes/no/confirm,缺省为yes。\r\n",
|
||||
"type": "window_closable_t",
|
||||
"annotation": {
|
||||
"set_prop": true,
|
||||
@ -21574,7 +21574,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "ui_loader/ui_binary_writer.h",
|
||||
"desc": " \n 生成二进制格式的UI描述数据。\n\n\n",
|
||||
"desc": "\n 生成二进制格式的UI描述数据。\n\n\n",
|
||||
"name": "ui_binary_writer_t",
|
||||
"parent": "ui_builder_t",
|
||||
"level": 2
|
||||
@ -21604,7 +21604,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "ui_loader/ui_builder_default.h",
|
||||
"desc": " \n \n 构建widget树。\n\n\n",
|
||||
"desc": "\n\n 构建widget树。\n\n\n",
|
||||
"name": "ui_builder_default_t",
|
||||
"parent": "ui_builder_t",
|
||||
"annotation": {
|
||||
@ -21631,7 +21631,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "ui_loader/ui_loader_default.h",
|
||||
"desc": " \n 二进制格式的UI资源加载器。\n\n\n\n",
|
||||
"desc": "\n 二进制格式的UI资源加载器。\n\n\n\n",
|
||||
"name": "ui_loader_default_t",
|
||||
"parent": "ui_loader_t",
|
||||
"annotation": {
|
||||
@ -21658,7 +21658,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "ui_loader/ui_loader_xml.h",
|
||||
"desc": " \n XML格式的UI资源加载器。\n\n\n\n",
|
||||
"desc": "\n XML格式的UI资源加载器。\n\n\n\n",
|
||||
"name": "ui_loader_xml_t",
|
||||
"parent": "ui_loader_t",
|
||||
"annotation": {
|
||||
@ -21696,7 +21696,7 @@
|
||||
"events": [],
|
||||
"properties": [],
|
||||
"header": "ui_loader/ui_xml_writer.h",
|
||||
"desc": " \n 生成XML格式的UI描述数据。\n\n\n",
|
||||
"desc": "\n 生成XML格式的UI描述数据。\n\n\n",
|
||||
"name": "ui_xml_writer_t",
|
||||
"parent": "ui_builder_t",
|
||||
"level": 2
|
||||
|
Loading…
Reference in New Issue
Block a user