展讯平台MMI软件开发介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
L A
Proprietary and Confidential Information
5
窗口、控件示例
StatusBar Control
M U TR D EA R SP
2010-4-6
O C
I T Window EN ID F N
Menu Control
L A
Softkey Control
Proprietary and Confidential Information
2010-4-6
Proprietary and Confidential Information
L A
19
培训内容 MMI GUI MMK 资源 NV
M U TR D EA R SP
2010-4-6
O C
I T EN ID F N
L A
Proprietary and Confidential Information
GUIANIM_SetParam (guianim.c)
2010-4-6
Proprietary and Confidential Information
L A
18
GUI绘图_图像之非固定资源图像
图像格式:
I T 目前平台支持BMP,WBMP,JPG,PNG和GIF EN ID F N O C 显示图像和动画: M U TR D 非固定资源的图像,主要通过Anim控件显示 EA R GUIANIM_SetParam SP
2010-4-6
Proprietary and Confidential Information
利用宏,将控件信息加入窗口的Table中,如CREATE_**_CTRL。 在窗口创建的时候,MMK会自行创建控件。
L A
12
GUI控件的风格
风格:例如字体的大小、颜色,各种显示区域等 内置风格:
I T • 内置风格是在设计平台之初就已经定义好了的 ,定义在 EN theme文件中,如mmi_theme.c、mmitheme_anim.c等。 ID F N • 内置风格的接口函数如:MMITHEME_GetAnimTheme、 O MMITHEME_GetLabelStyle等。 C M U 自定义风格: TR D • 自定义风格为用户提供了控件的个性化设计 。用户可以通过调用 EA 各种控件提供的接口来改变控件的背景颜色、背景图片、文字大 R 小等风格。 P S自定义风格的接口函数如:GUILABEL_SetBackgroundColor等。 •
O C
I T EN ID F N
L A
17
GUI绘图_图像之固定资源图像
图像格式:
目前资源图像的格式有16位565、未压缩、标准BMP;16位 565、行压缩、展讯自定义格式 BMP;标准JPG;展讯自定义 格式JPG;ARGB等。详情参见IMG_TYPE_E。
I T EN 相关枚举: ID • IMG_TYPE_E :图片压缩格式 F N O • ANIM_TYPE_E :动画压缩格式 C M 显示图像: U GUIRES_DisplayImg (guires_img.c) TR D 注意:此函数只能显示单帧GIF EA R 显示动画: SP GUIRES_DisplayAnim (guires_img.c)
2010-4-6
Proprietary and Confidential Information
L A
15
GUI绘图_文本之字符串
相关枚举:
•
I T • GUI_ANGLE_E :旋转角度 EN • GUIFONT_EFFECT_T:白边或者反色等显示特效 ID F N 接口函数: O C • LCD_DisplayString M U • LCD_DisplayStringInRect TR • LCD_DisplayStringByAlign D • LCD_DisplayStringInRectOffset (可以按像素滚动,由用户 EA R 设置滚动时的偏移量;可以显示特效,如白边等) SP • LCD_DisplayStringInRect_Rotate
11
GUI控件的创建
静态创建:
•
I T • 以animation为例,静态创建只需要在wintab中添加: EN CREATE_ANIM_CTRL ID F N O 动态创建: C M • 创建控件(MMK_CreateControl) U • 设定控件的参数( GUIANIMATE_SetParam ) TR D EA R 用户可以手动销毁控件( MMK_DestroyControl),否则,在窗口关 P S闭的时候,MMK也会自行销毁控件。
2010-4-6
O C
I T EN ID F N
L A
Proprietary and Confidential Information
3
MMI架构
M U TR D EA R SP
2010-4-6
O C
I T EN ID F N
L A
MMI
Proprietary and Confidential Information
L A
Proprietary and Confidential Information
23
外部消息
外部消息: Key、Tp、Timer、系统消息和其它MMI Task发来的消息 外部消息的注册:
• • • • 所有的外部消息都需要经过MMI注册之后才能够处理的,否则MMI将不识别这 些消息。注册消息是在MMI初始化时完成的。 APP_RegisterPsService 注册PS消息 APP_RegisterRefService注册REF消息 mmk_regapp.def 中定义了各个应用模块处理系统消息的回调函数
20
MMK
MMI Kernel,是MMI的核心模块。 I T 位于底层和应用层之间,为应用提供支持。 EN MMK的功能: M • 消息分发 U TR • 窗口管理 D
L A
O C
ID F N
EA R SP
2010-4-6
Proprietary and Confidential Information
2010-4-6
Proprietary and Confidential Information
GUI(Graphical User Interface),即图形用户接口。
L A
9
GUI控件的特性
• • • • 每种控件有自己的消息处理函数
I T 依赖于窗口存在 EN 每个具体的控件有唯一ID ID F 每种控件有自己的风格 ON C M U TR D EA R SP
4
MMI开发中的三个重要概念
• • • Application:应用,指MMI中的应用模块。例如:SMS,MP3等。 Window:窗口,用于处理消息并负责用户界面的显示。 Control:控件,可以完成特定功能。例如:编辑、动画功能等。
M U TR D EA R SP
2010-4-6
O C
I T EN ID F N
2010-4-6
Proprietary and Confidential Information
L A
13
GUI绘图
• 文本
字体 字库 字符串
•
图形
点和线 矩形
M U TR 填充区域 D EA • 图像 R 固定资源图像 SP
2010-4-6
O C
I T EN ID F N
L A
非固定资源图像
Proprietary and Confidential Information
Proprietary and Confidential Information
L A
2010-4-6
10
GUI控件的种类
Menu:已实现的风格有主菜单(九宫格、选项卡)、二级菜单、 三级菜单、Pop菜单四种 。 ListBox:风格有单选、多选、文字;动态添加、删除、更改。 其他控件: • • • • • • • • Title Animition Calendar Textbox Msgbox Prgbox Label Tab
I T 展讯平台MMI软件开发介绍 EN ID F N O C M U TR Spreadtrum D 4/6/2010 EA R SP
2010-4-6
Proprietary and Confidential Information
L A
2
培训内容 MMI GUI MMK 资源 NV
M U TR D EA R SP
画点:
M U 画矩形: TR D (指定矩形区域和画的颜色) LCD_DrawRect EA R 填充区域: SP
将画线函数中两个点的坐标值设置为相同即可 LCD_FillRect (指定矩形区域和填充的颜色)
2010-4-6
Proprietary and Confidential Information
Proprietary and Confidential Information
L A
2010-4-6
22
P_APP的消息处理流程
开始 初始化
内部消息队列为空
否
M U TR 刷屏 D EA R释放内部消息 SP
2010-4-6
派发内部消息
O C
I T EN 是 ID 获得外部消息 F N
派发外部消息 刷屏 释放外部消息
21
MMK_消息分发
• 消息是由P_APP task用一个循环来接收和处理的。 •
•
I T MMK处理的消息分为外部消息和内部消息。 EN ID 内部消息: P_APP内部发送和处理的消息。 F N 外部消息: 其他Task给P_APP 发来的消息。 O C M U P_APP总是优先处理内部消息,当所有的内部消息处理 都完成之后,再处理外部消息 。如果内部消息和外部 TR D 消息都没有, P_APP就等待外部消息的触发。 EA R SP
手机上电后,完成了硬件和操作系统等的初始化以后,创建了P_APP。 随后APPINIT_Task被创建。
2010-4-6
Proprietary and Confidential Information
L A
7
培训内容 MMI GUI MMK 资源 NV
M U TR D EA R SP
2010-4-6
2010-4-6
Proprietary and Confidential Information
GUI_ALIGN_E :对齐方式
L A
16
GUI绘图_图形
画线:
• • • • LCD_DrawLine LCD_DrawThickLine (根据用户指定的线宽来画线 ) LCD_DrawHLine LCD_DrawVLine
M U TR D EA R SP
O C
• • • • • • • •
I T EN ID F N
editbox Statusbar Button Dropdownlist Richtext Iconlist Softkey Tips
L A
2010-4-6
Proprietary and Confidential Information
O C
I T EN ID F N
L A
Proprietary and Confidential Information
8
GUI
什么是GUI ?
•
I T • GUI,基于MMK的窗口、消息机制之上,为APP应用层服务。 EN • GUI将窗口中的数据抽象出来,做成不同的控件,可以为不同 ID F 的窗口显示相似的内容。 N O C M GUI分两方面: U • GUI控件 TR D • GUI绘图 EA R SP
6
MMI初始化
• • MMI初始化涉及到两个Task:APPINIT_Task和P_APP(mmimain.c )
来自百度文库
•
•
I T EN ID F APPINIT_Task优先级比P_APP低。之所以创建APPINIT_Task,是因 N 为一些模块的初始化过程比较长,会导致开机后很长时间没有任何反 O C 应,比如PB排序等。为了不影响到开机速度,我们将这类模块的初始化 M 移到低优先级的APPINIT_Task中进行。 U TR D P_APP作为整个MMI主要的Task一直运行,接收并处理消息。 EA R SP
14
GUI绘图_文本之字体和字库
字体
• GUI_FONT_T :字体的字号,需要字库支持
I T • GUI_COLOR_T :字体的颜色,可新增自定义颜色 EN ID F 字库 N O C • 字库的添加受内存空间的限制 M • 平台参考字库:英文码支持8、10、12、14、16、 U 29号字体;汉字支持14号、16号和20号字体 TR D • 用户可以使用工具FontTool 来添加所需的其他字库 EA R • FontTool主要用于将BDF格式,TTF/TTC格式的字 库文件转成平台支持的字库lib格式文件 SP