Open WeSrc-Yin opened 5 years ago
不启用脏矩形试试。
怎么关闭脏矩形算法?
我把lcd->support_dirty_rect赋值的地方都改成了FALSE,但问题依然存在,应该不是这么关脏矩形的吧,还请指点,多谢! lcd->support_dirty_rect = FALSE;//TRUE;
是这样关闭的。贴个图片看看。
鼠标的轨迹颜色还不一样,鼠标在不同的地方颜色也不一样
有点奇怪,看不出什么问题。
上面这张图片是跑的demo程序,你们那边应该也能复制到现象的,要移植在arm-linux平台上,显示的大小是1280 720,电脑上是没有这个问题的,把显示也修改成1280 720;因为电脑上这个图片周边没有透明,填充了白色,而上面我移植到linux平台,图片周边是透明的,还可以看到下面的的UI,我感觉是我们的透明在linux平台实现会有问题。
这是电脑上的显示效果,冲锋舟图片周边是白色的,看不到父亲层UI
(1)我这试了CleanAir-Demo正常的
(2)能否在你的开发板跑一下https://github.com/zlgopen/awtk-examples目录下其中一个示例,如CleanAir-Demo,需要做下面修改才能启动鼠标: 【1】在CleanAir-Demo\src\app_main.c文件的tk_run();之前添加 window_manager_set_cursor(window_manager(), "cursor");
【2】将awtk\demos\assets\raw\images\x1\cusor.png复制到awtk-examples/CleanAir-Demo/res_800_480/assets/raw/images/xx和awtk-examples/CleanAir-Demo/res_480_272/assets/raw/images/xx目录下
[3]然后重新生成资源:sh assets_gen.sh
[4]然后在重新编译代码:scons
@tangMans 多谢回复,将CleanAir-Demo的背景改成透明的就不正常了,即修改:/awtk-examples/CleanAir-Demo/res_800_480/assets/raw/styles/default.xml 为如下,然后生成新的default.bin :
. . .
效果如图,跑起demo后,点击“记录”,将鼠标移动到最上面,拖动鼠标,残留不刷新。也就是使用了背景透明的地方就会残留,其他地方因为贴了其他不透明图片或者填充了不透明颜色,就不会残留。(照片上传不了,我再另起一条回复上传照片)
问题暂时解决了,是在sync时清一次,然后在native_window_end_frame后再paint_cursor,但可能因为又paint了一次,所以如果快速移动鼠标会有一点点拖影,不过不严重,暂时这么解。
我也出现了这样的问题,问下是怎么解决的
这个问题应该是透明部分没有算入脏矩形刷新区域的问题,可以试试设置一个高亮背景色
试过了,没有效果
我也碰到这个问题,试过很多方法,结论:脏矩形算法没有将透明区域计算在刷新区域内。导致透明区域无论是控件,输入法,还是箭头都无法被刷新,会一直残留,直到残留区域出现非透明rect才会刷新。下面上图
给window manager的style指定一个背景颜色。
鼠标在UI上滑动时可以看到UI有响应,但鼠标看不见,请问可能是何原因引起? 谢谢!
鼠标在UI上滑动时可以看到UI有响应,但鼠标看不见,请问可能是何原因引起? 谢谢! 没有启用鼠标图片吧,启用鼠标图片试下
给window manager的style指定一个背景颜色。
给windo_manager的shyle指定一个背景色就看不到父控件了,只能看到window_manager指定的颜色,这跟设计初衷相背离了。
用mutable image 显示视频吧。
问题描述: ==>我的软件,界面大小1280*720。界面就一排按钮放在底部(0,660,1280,60),其他地方(0 , 0 , 1280 , 660)是完全透明的用于显示摄像头的视频。在这个区域(0 , 0 , 1280 , 660)上移动鼠标,鼠标图片不刷新,是怎么回事呢?在(0,660,1280,60)区域移动鼠标是会刷新的。如果将背景设置成不透明,那么整个界面移动鼠标不会残留(背景设置成不透明的话就无法显示摄像头送过来的video了)。(ARM-Linux平台)