在做8168界面上碰见了点问题,复习下framebuffer以及总结下grpx。
1.在ti下,默认的视频是无法透过QT界面直接显示的。可以通过TI提供过的“透明“ 来设置视频、QT的分层显示。
2.普通的界面操作背景是全绿色,这个需要在QT的代码中加上设置背景操作,讲颜色设置为全黑。
3.在QT运行时,通过对grpx进行透明配置来完成fb的性质。
4.设置grpx时,可参考TI的DVRRDK源码包,里面有哦grpx的demo。其中可使用ioctl来对透明属性进行设置。
? ? 表格:
透明属性
| value | 透明描述 | 效果、影响 |
pixel | 0xff---0x00 | 全黑---全透 | 可影响到界面,如果设置为0x00,则可以显示底层视频 |
global | 0xFF--0x00 | 全不透--全透 | 设置为00,则由于全透特效,界面会全部消失。0xFF,会导致底层视频被掩盖 |
5.本人第一次解决视频与QT的透明设置时,采用的是使用QT的一个”挖空“特性创建一个widget框,根据视频的显示区域将对应的界面位置挖空。这样做可以解决问题,其本质上与 上述所讲为同一类东西。以后有空发源码。