mirror of
https://gitee.com/zlgopen/awtk.git
synced 2024-12-01 19:49:11 +08:00
improve docs
This commit is contained in:
parent
28bebebfde
commit
e087c7be8a
@ -47,12 +47,20 @@
|
||||
|
||||
| 按钮名称 | 功能说明 |
|
||||
|----------|:-------------:|
|
||||
| space | 输入空格|
|
||||
| backspace | 删除最后输入的字符|
|
||||
| key: 开头 | 按键。需要交给输入法引擎进一步处理|
|
||||
| page: 开头 |切换页面|
|
||||
| 其它 |直接提交该文本到编辑器|
|
||||
|
||||
| return | 回车键 |
|
||||
| action | 定制按钮 |
|
||||
| backspace | 删除键 |
|
||||
| tab | tab键 |
|
||||
| space | 空格键 |
|
||||
| close | 关闭软键盘 |
|
||||
| clear | 清除编辑器的内容 |
|
||||
| cancel | 恢复编辑器的内容 |
|
||||
| back | 关闭当前窗口 |
|
||||
| back_to_home | 返回home窗口 |
|
||||
| 前缀key: | 键值 |
|
||||
| 前缀hard_key: | 模拟物理键盘 |
|
||||
| 前缀page: | 切换到页面 |
|
||||
| 前缀opt: | 多个字符选择一个,点击切换到下一个,超时提交字符(用于实现九宫格输入) |
|
||||
|
||||
|
||||
* 4. 有时需要显示候选字有时不需要。
|
||||
|
@ -1,36 +1,36 @@
|
||||
## LCD旋转(横屏与竖屏)
|
||||
## LCD 旋转(横屏与竖屏)
|
||||
|
||||
有时开发板上接的LCD方向和我们需要的不同,比如LCD缺省是横屏显示的,但我们需要竖屏的效果。如果无法通过修改硬件来实现旋转,就只能用软件来实现了。AWKT目前对双帧缓冲的情况有完善的支持,对基于寄存器的LCD需要在驱动中进行配置。
|
||||
有时开发板上接的 LCD 方向和我们需要的不同,比如 LCD 缺省是横屏显示的,但我们需要竖屏的效果。如果无法通过修改硬件来实现旋转,就只能用软件来实现了。AWKT 目前对双帧缓冲的情况有完善的支持,对基于寄存器的 LCD 需要在驱动中进行配置。
|
||||
|
||||
> 旋转最好由硬件或驱动来做,否则性能会有大弧度下降。本文档提供的方案,主要用于开发前期使用。
|
||||
|
||||
### 一、使用方法
|
||||
|
||||
1.首先在初始化时,用tk\_init指定LCD的大小(这里LCD的大小是实际大小,不是旋转之后的大小)。
|
||||
1. 首先在初始化时,用 tk\_init 指定 LCD 的大小(这里 LCD 的大小是实际大小,不是旋转之后的大小)。
|
||||
|
||||
```
|
||||
/**
|
||||
* @method tk_init
|
||||
* 初始化TK。
|
||||
* 初始化 TK。
|
||||
* @global
|
||||
* @scriptable no
|
||||
* @param {wh_t} w LCD宽度。
|
||||
* @param {wh_t} h LCD高度。
|
||||
* @param {wh_t} w LCD 宽度。
|
||||
* @param {wh_t} h LCD 高度。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
* @return {ret_t} 返回 RET_OK 表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t tk_init(wh_t w, wh_t h);
|
||||
```
|
||||
|
||||
2.然后用tk\_set\_lcd\_orientation来设置LCD的旋转角度。
|
||||
2. 然后用 tk\_set\_lcd\_orientation 来设置 LCD 的旋转角度。
|
||||
|
||||
```
|
||||
/**
|
||||
* @method tk_set_lcd_orientation
|
||||
* 设置屏幕的旋转方向(XXX:目前仅支持0度和90度)。
|
||||
* 设置屏幕的旋转方向 (XXX: 目前仅支持 0 度和 90 度)。
|
||||
* @global
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
* @return {ret_t} 返回 RET_OK 表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t tk_set_lcd_orientation(lcd_orientation_t orientation);
|
||||
```
|
||||
@ -39,36 +39,32 @@ ret_t tk_set_lcd_orientation(lcd_orientation_t orientation);
|
||||
|
||||
_____
|
||||
|
||||
AWTK目前支持3种LCD实现方式,不同的实现方式对旋转的支持有所不同,下面我们一一介绍。
|
||||
AWTK 目前支持 3 种 LCD 实现方式,不同的实现方式对旋转的支持有所不同,下面我们一一介绍。
|
||||
|
||||
### 二、基于寄存器的LCD(lcd\_reg)
|
||||
### 二、基于寄存器的 LCD(lcd\_reg)
|
||||
|
||||
基于寄存器的LCD(lcd\_reg),调用tk\_set\_lcd\_orientation只是做了两件事:
|
||||
基于寄存器的 LCD(lcd\_reg),调用 tk\_set\_lcd\_orientation 只是做了两件事:
|
||||
|
||||
* 1.对触摸事件的坐标进行转换。
|
||||
* 1. 对触摸事件的坐标进行转换。
|
||||
|
||||
* 2.设置窗口管理器的大小为旋转之后的大小。
|
||||
* 2. 设置窗口管理器的大小为旋转之后的大小。
|
||||
|
||||
一般的LCD器件可以在驱动中设置像素的扫描顺序,在初始化时设置一下即可(驱动我不太熟悉,没有测试过),所以AWTK并没有对像素进行相应旋转。
|
||||
一般的 LCD 器件可以在驱动中设置像素的扫描顺序,在初始化时设置一下即可(驱动我不太熟悉,没有测试过),所以 AWTK 并没有对像素进行相应旋转。
|
||||
|
||||
> 参考:http://www.cnblogs.com/amanlikethis/p/3872515.html
|
||||
|
||||
### 二、基于FrameBuffer的LCD(lcd\_mem)
|
||||
### 二、基于 FrameBuffer 的 LCD(lcd\_mem)
|
||||
|
||||
基于FrameBuffer的LCD(lcd\_mem),AWTK对旋转90/180/270度做了支持。调用tk\_set\_lcd\_orientation后AWTK会做以下几件事:
|
||||
基于 FrameBuffer 的 LCD(lcd\_mem),AWTK 对旋转 90/180/270 度做了支持。调用 tk\_set\_lcd\_orientation 后 AWTK 会做以下几件事:
|
||||
|
||||
* 1. 对触摸事件的坐标进行转换。
|
||||
|
||||
* 1.对触摸事件的坐标进行转换。
|
||||
* 2. 设置窗口管理器的大小为旋转之后的大小。
|
||||
|
||||
* 2.设置窗口管理器的大小为旋转之后的大小。
|
||||
* 3.offline fb 为旋转之后的大小,online fb 为原始大小。在 lcd flush 时需要进行旋转(在没有硬件旋转减速的情况下,会增加一点性能开销)。
|
||||
|
||||
* 3.offline fb为旋转之后的大小,online fb为原始大小。在lcd flush时需要进行旋转(在没有硬件旋转减速的情况下,会增加一点性能开销)。
|
||||
* 4. 在进行平移窗口动画时。AWTK 将图片直接贴到 online fb 上,处于性能的考虑,在截图时进行旋转,在贴图时直接拷贝。所以在 lcd\_mem\_draw\_image 和 lcd\_mem\_take\_snapshot 两个函数中做了处理。
|
||||
|
||||
* 4.在进行平移窗口动画时。AWTK将图片直接贴到online fb上,处于性能的考虑,在截图时进行旋转,在贴图时直接拷贝。所以在lcd\_mem\_draw\_image和lcd\_mem\_take\_snapshot两个函数中做了处理。
|
||||
|
||||
### 三、基于VGCanvas的LCD(lcd\_vgcanvas)
|
||||
### 三、基于 VGCanvas 的 LCD(lcd\_vgcanvas)
|
||||
|
||||
> 最新版本已经支持旋转。
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
我们采用 XML 文件 (UTF-8) 保存字符串的各个语言的对应关系,方便程序员和翻译人员进行编辑。如:
|
||||
|
||||
```
|
||||
```xml
|
||||
<string name="ok">
|
||||
<language name="en_US">OK</language>
|
||||
<language name="zh_CN">确定</language>
|
||||
@ -250,8 +250,6 @@ demotr 提供了实时切换语言的示例,代码可以参考 demos/demo\_tr\
|
||||
```xml
|
||||
<string name="<"en&zh">">
|
||||
<language name="en_US"><"en&zh"></language>
|
||||
<language name="zh_CN"><"英文&中文"></language>
|
||||
<language name="zh_CN"><" 英文& 中文"></language>
|
||||
</string>
|
||||
```
|
||||
|
||||
|
||||
|
@ -1,17 +1,17 @@
|
||||
## 用picasso实现vgcanvas遇到的一些问题。
|
||||
## 用 picasso 实现 vgcanvas 遇到的一些问题。
|
||||
|
||||
### 颜色格式
|
||||
|
||||
SDL的Texture为SDL\_PIXELFORMAT\_RGBA8888时,picasso的canvas的格式要使用COLOR\_FORMAT\_ABGR。
|
||||
SDL 的 Texture 为 SDL\_PIXELFORMAT\_RGBA8888 时,picasso 的 canvas 的格式要使用 COLOR\_FORMAT\_ABGR。
|
||||
|
||||
### 矩阵变换
|
||||
|
||||
矩阵变换存在两个问题:
|
||||
|
||||
* 在生成路径时,picasso没有立即用矩阵对顶点进行变化,所以如果在生成路径的过程中修改矩阵,会影响之前的路径,这与HTML5 Canvas中的行为不符。所以修改了picasso_api.cpp,用矩阵立即对路径的顶点进行变化。
|
||||
* 在生成路径时,picasso 没有立即用矩阵对顶点进行变化,所以如果在生成路径的过程中修改矩阵,会影响之前的路径,这与 HTML5 Canvas 中的行为不符。所以修改了 picasso_api.cpp,用矩阵立即对路径的顶点进行变化。
|
||||
|
||||
* picasso的矩阵与常规做法不同。比如,旋转并不是基于world原点而是基于view原点。这与HTML5 Canvas中的行为不符。所以矩阵变化在外部完成,再同步到picasso中。
|
||||
* picasso 的矩阵与常规做法不同。比如,旋转并不是基于 world 原点而是基于 view 原点。这与 HTML5 Canvas 中的行为不符。所以矩阵变化在外部完成,再同步到 picasso 中。
|
||||
|
||||
### 图片格式
|
||||
|
||||
在picasso的canvas格式使用COLOR\_FORMAT\_ABGR时,其图片采样格式与stb加载的格式相反。所以修改了gfx\_span\_image\_filters.h,让RGBA的图片按固定格式采样。
|
||||
在 picasso 的 canvas 格式使用 COLOR\_FORMAT\_ABGR 时,其图片采样格式与 stb 加载的格式相反。所以修改了 gfx\_span\_image\_filters.h,让 RGBA 的图片按固定格式采样。
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
## 一、设置屏保定时器时间
|
||||
|
||||
用函数window\_manager\_set\_screen\_saver\_time设置屏保时间。
|
||||
用函数 window\_manager\_set\_screen\_saver\_time 设置屏保时间。
|
||||
|
||||
```
|
||||
/**
|
||||
@ -12,9 +12,9 @@
|
||||
* 设置屏保时间。
|
||||
* @annotation ["scriptable"]
|
||||
* @param {widget_t*} widget 窗口管理器对象。
|
||||
* @param {uint32_t} screen_saver_time 屏保时间(单位毫秒)。
|
||||
* @param {uint32_t} screen_saver_time 屏保时间(单位毫秒)。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
* @return {ret_t} 返回 RET_OK 表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t window_manager_set_screen_saver_time(widget_t* widget, uint32_t screen_saver_time);
|
||||
```
|
||||
@ -63,4 +63,4 @@ ret_t application_init() {
|
||||
|
||||
```
|
||||
|
||||
> 可以在XML设置window的fullscreen属性,让屏保窗口进入全屏状态。
|
||||
> 可以在 XML 设置 window 的 fullscreen 属性,让屏保窗口进入全屏状态。
|
||||
|
@ -48,6 +48,7 @@ BEGIN_C_DECLS
|
||||
*| INPUT\_HEX | kb\_hex.xml |
|
||||
*| INPUT\_EMAIL | kb\_ascii.xml |
|
||||
*| INPUT\_PASSWORD | kb\_ascii.xml |
|
||||
*| INPUT\_ASCII | kb\_ascii.xml |
|
||||
*| INPUT\_CUSTOM | 使用自定义的键盘 |
|
||||
*| 其它 | kb\_default.xml |
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user