同步操作将从 zlgopen/awtk 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
有时开发板上接的 LCD 方向和我们需要的不同,比如 LCD 缺省是横屏显示的,但我们需要竖屏的效果。如果无法通过修改硬件来实现旋转,就只能用软件来实现了。AWKT 目前对双帧缓冲的情况有完善的支持,对基于寄存器的 LCD 需要在驱动中进行配置。
旋转最好由硬件或驱动来做,否则性能会有大弧度下降。本文档提供的方案,主要用于开发前期使用。
/**
* @method tk_init
* 初始化 TK。
* @global
* @scriptable no
* @param {wh_t} w LCD 宽度。
* @param {wh_t} h LCD 高度。
*
* @return {ret_t} 返回 RET_OK 表示成功,否则表示失败。
*/
ret_t tk_init(wh_t w, wh_t h);
/**
* @method tk_set_lcd_orientation
* 设置屏幕的旋转方向 (XXX: 目前仅支持 0 度和 90 度)。
* @global
*
* @return {ret_t} 返回 RET_OK 表示成功,否则表示失败。
*/
ret_t tk_set_lcd_orientation(lcd_orientation_t orientation);
参考:demos/demo_main.c
AWTK 目前支持 3 种 LCD 实现方式,不同的实现方式对旋转的支持有所不同,下面我们一一介绍。
基于寄存器的 LCD(lcd_reg),调用 tk_set_lcd_orientation 只是做了两件事:
一般的 LCD 器件可以在驱动中设置像素的扫描顺序,在初始化时设置一下即可(驱动我不太熟悉,没有测试过),所以 AWTK 并没有对像素进行相应旋转。
基于 FrameBuffer 的 LCD(lcd_mem),AWTK 对旋转 90/180/270 度做了支持。调用 tk_set_lcd_orientation 后 AWTK 会做以下几件事:
3.offline fb 为旋转之后的大小,online fb 为原始大小。在 lcd flush 时需要进行旋转(在没有硬件旋转减速的情况下,会增加一点性能开销)。
最新版本已经支持旋转。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。