阅读学习--display (1)

来源:互联网 发布:电视哪个牌子好 知乎 编辑:程序博客网 时间:2024/06/12 17:15

Mae_display.c阅读笔记

1.思路分析

 

=========================================================================

1

EMMI Display MechanismEMMI显示原理】

 

EMMI --->  Enhanced MMI 可增强,可操作的应用层【人机界面(Man-Machine interface

 

2

Abstract 【摘要】

 

Display  Overview【概述】

Display Update Mechanism 【原理】

·Invalidate  使窗口无效【初始化】

·Draw 绘制

·Update 更新

API Usage Example API 用法示例】

 

3

Display Overview

·IBitmap

代表一块以pixel【像素】形式存放资料的缓冲区,目前支持的格式有16bits24bits以及32bitscolor format【色彩格式】。相关操作界面定义于mae_bitmap.h中,可以对此缓冲区进行各种绘图操作,但与屏幕显示无关

·IDisplay

工作区(Client Area):如输入文字、 绘图、影像等资料处理与显示区。

对应屏幕显示的操作,其中包含了一块与屏幕等大小的bitmap【位图】,称为MMI Display BufferMMI层显示缓冲区】,对此部分的操作预设都会绘制到这块buffer,然后反应到屏幕上,AP相关操作界面定义于mmi_common_display.h中。

Display除了Bitmap之外,还包含了Client AreaCA】的概念,也就是可绘制区域。所有绘图的动作仅能反应在此范围中,超出的部分不会画到,用来避免画到非预期的范围。下图表示出IDisplayCanvasIDisplayIBitmap的关系。IDisplay中的IBitmap预设是MMI Display buffer,不过是可以透过相关操作界面被置换掉的,置换掉之后,对于IDisplay的绘图行为就只会画到新的IBitmap上,而不会画到屏幕上。

·Widget

这边仅就Widget Draw的部分做简单说明,WidgetDraw行为通常会通过定义于mae_display.h的各种draw function,绘制到mmi buffer上,一般我们建议AP通过此方式来绘制到画面上,而避免直接通过第二点的mmi_common_display.h的操作方式来绘制。这与下面的Display update mechanism【更新显示原理】有关。

 

4

Display update mechanism