第09章IDISPLAY使用简介.ppt
BREWTM Developer Training第九章IDisplay使用简介2主要内容u介绍IDisplay的主要功能u描述在IDisplay中常用的一些接口3IDisplay概貌u利用IDisplay可以完成如下的功能:书写文字画图画直线一些简单的几何图形u如果您要想画一些复杂的几何图形或线,您只好求助于IGraphics 接口了u允许对于设备的背光灯和Annunciators进行控制4IDisplay 用户手册u由于IDisplay会被所有的应用用到,在使用过程中无需我们再显式的去创建,系统会自动建立它1.清除整个屏幕或一个特定的区域以为后续的操作服务2.在屏幕上画出自己想画的内容3.利用IDISPLAY_Update()或IDISPLAY_UpdateEx()来刷新屏幕,以使得您刚才的操作为用户所见u当不再使用IDisplay接口时,调用IDISPLAY_Release()来释放该接口。对于这个接口而言,系统会自动对其进行释放,故我们无需再显式对其进行释放 5IDisplay函数列表 uIDISPLAY_DrawText()uIDISPLAY_MeasureText()uIDISPLAY_MeasureTextEx()uIDISPLAY_GetFontMetricsuIDISPLAY_DrawRect()uIDISPLAY_FillRect()uIDISPLAY_DrawHLine()uIDISPLAY_DrawVLine()uIDISPLAY_SetColor()uIDISPLAY_ClearScreen()uIDISPLAY_Backlight()uIDISPLAY_SetAnnunciators()uIDISPLAY_BitBlt()uIDISPLAY_Update()uIDISPLAY_UpdateEx()6与写文字相关uIDISPLAY_DrawText()Flags:IDF_ALIGN_LEFT,IDF_ALIGN_RIGHT,IDF_ALIGN_CENTER IDF_ALIGN_TOP,IDF_ALIGN_BOTTOM,IDF_ALIGN_MIDDLE IDF_TEXT_UNDERLINE,IDF_TEXT_TRANSPARENT,IDF_TEXT_INVERTEDuIDISPLAY_MeasureText()给定一个字符串及其显示字体,获得显示它所需要的象素的数目.uIDISPLAY_MeasureTextEx()除了IDISLAY_MeasureText()能完成的功能外,给定宽度(如屏幕的尺寸)还能获得它可以显示的字符数uIDISPLAY_GetFontMetrics()获得指定字体在显示时的尺寸信息7Font MetricsThe quick brown foxAscentDescentBaselineAscent+Descent=Character height for fontInt IDISPLAY_GetFontMetrics(IDisplay*pIDisplay,AEEFont Font,int*pnAscent,int*pnDescent);8IDisplay例子/以粗体字的形式,在屏幕的正中间显示出一串字符IDISPLAY_DrawText(pMe-m_pIDisplay,AEE_FONT_BOLD,szWideHelloString,/要显示的字符-1,0,0,0,IDF_ALIGN_CENTER|IDF_ALIGN_MIDDLE);/刷新屏幕,使得字符串为用户所见IDISPLAY_Update(pMe-m_pIDisplay);9IDisplay使用中的常见错误u在使用字符串以前,一定要保证字符串是“AECHAR”的形式u您需要调用IDISPLAY_Update()来刷新屏幕,否则您的文字和别的一些写画操作将不为用户所见10IDisplay使用注意事项u显示文字不支持换行,需开发者手动设置u绘制线条只能绘制水平或垂直的线,且仅能绘制黑色的线条。11复习要点uIDisplay所能提供的功能u利用IDisplay如何来完成文字的显示 12问题回顾u为什么有时在使用一个字符串之前,需要将以“char*”形式表示的字符串转化成 以AECHAR 形式表示的?u为什么有时候所做的操作在屏幕上并没有显示出来?可能是什么原因?