BUIW和BREW的刷屏位图管理
来源:互联网 发布:网站加v对seo有好处吗 编辑:程序博客网 时间:2024/05/23 20:17
这里主要说一下没有用MDP时候的刷屏管理机制,后面再专文介绍MDP机制。
1.系统初始化过程中在AEE_Init()->AEE_Init1()中创建系统设备位图;
2.该设备位图会提供一组接口用于维护设备位图,主要是刷屏接口;
3.每个APP创建的时候都会建立一个自己的IDisplay接口,其中会建立相应的IBitMap结构,该结构中每个APP都有自己的绘画窗口信息字段和对应缓存区的指针。APP的绘画都在自己的IBitMap上进行,而该IBitMap结构中m_Dib.pBmp指针都指向系统设备位图中的缓存块,也就是说所有APP刷屏的时候都是直接更新的系统设备位图,所以,画完后直接调用IDisplay_Update()把系统设备位图缓存内容刷入LCD即可。
4.BUIW中,创建RootForm的时候会创建当前应用的Display,实际上是获取3中描述的在创建应用时已经创建好的IDISPLAY接口,并在RootContainer中保存对应Canvas,刷新的时候会在该canvas上绘画,通过该canvas即可获取当前app的IDispaly指针并在当前APP的bitmap上绘图。
5.如果用IBITMAP_CreateCompatibleBmp接口,则可以创建出一套与原有bmp兼容的bmp,bmp配置参数基本一样,只是需指定宽高,另外非常重要的一点是用此接口创建出来的IBITMAP结构中的BMP buffer是一块单独的buffer,而不是上述的系统公用的buffer。通过这种方式,可以实现一些比较复杂绘图或者避免一些刷新的问题,比如去闪烁等。比如用户可以先在该compatible Bmp中绘好图,然后再bitblt到app的dev bitmap中,最后再Update,避免某些特殊情况下绘图时间过长或者需要等待导致刷屏出现问题。
- BUIW和BREW的刷屏位图管理
- BREW(BUIW)是怎么刷屏的?IDISPLAY_Update()
- BUIW的架构和消息流程
- 【BREW MP】BUIW 头文件汇聚
- BREW应用程序的管理
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之42---BUIW 介绍
- BREW(包括BUIW)引用计数及内存使用规则
- mac brew和brew cask的区别
- Brew对位图操作
- 用 BREW™ 绘制预定义位图的方法
- 继承和引用在buiw中的体现
- BREW和J2ME的来源
- BREW和J2ME的来源
- 关于buiw的一些好东西
- GDI位图和DIB位图是两种不同的Windows位图
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之15---BREW精要之集中分布式应用管理和内容分发
- 高效的显示位图(五):管理位图内…
- brew和brew-cask安装
- 无线网络安全和攻击现状
- Python PAMIE示例
- Tomcat6.0.18下出现The requested resource(/)is not available
- [转]c++: fstream文件操作及对二进制文件的操作
- Android入门教程(四)之------Android工程目录结构介绍
- BUIW和BREW的刷屏位图管理
- 利用ORACLE的MINUS函数和OVER函数,直接通过视图实现两个记录集的比较。(转载)
- Oracle分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法
- 加入了csdn大家庭
- svn冲突解决
- LWUIT 学习入门的Hello world
- load-on-startup的含义
- JS神神叨叨!
- 跳槽的成本