Ginger GUI基类菜单的优化设计

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:tedious
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
   摘要:Ginger GUI是美国卓然公司推出的DVD OSD系统,功能强大,易于实现,但其菜单设计中存在一些缺陷,当有多个菜单时可能出现系统错误,文章分析了系统基类菜单存在的问题,并针对问题提出了优化解决方案。
   关键词:DVD;Ginger GUI;菜单;活动;冻结;属性;索引
   中图分类号:TP391 文献标识码:A文章编号:1007-9599 (2011) 08-0000-02
   The Optimization Design of Ginger GUI Base Class Menu
   Zhang Hongtao
   (Shijiazhuang Engineering School,Shijiazhuang050067,China)
   Abstract:Ginger GUI is launched in United States Zoran DVD OSD system,a powerful,easy to implement,but the menu design has some shortcomings,when there are multiple menu system errors that may arise,the paper analyzed the system-based problems in class menu And problem-optimized solutions.
   Keywords:DVD;Ginger GUI;Menu;Activities;Freezing;Property;Index
  
  
   DVD系统中的图形用户界面系统是人机交互的中介,好的用户界面设计反应速度快,占用资源低,拥有很好的移植和维护特性。随着系统的复杂度增加,图象形户界面系统的设计也越来越复杂,设计和维护日趋复杂的界面系统占用了工程师大量的时间。如何实现满足客户要求的GUI系统,使其有效利用硬件资源,有效利用软件系统的能力,最终取得商业目标上的成功,成为许多DVD生产厂家面对的难题。
   美国卓然公司推出的基于i96芯片的Ginger GUI系统,占用内存小,具有面向对象和消息驱动的特性,易于维护,一经推出,迅速占据市场,受到了客户的欢迎。
   Ginger GUI的参考设计中有三个菜单,当有的客户增加新的菜单时,有时会出现死机状态。经过分析是由以下原因造成的:
   菜单具有两种状态:活动状态和冰冻状态,可以对处于活动状态的菜单进行冰冻,这样菜单的内容就被移动到片上内存中,对处于冰冻状态的菜单进行解冻就是把菜单的内容从片上内存移回RAM中。在系统运行的过程中,同一时间只有一个菜单处于活动状态,可以有多个菜单处于冰冻状态。处于活动状态的菜单同时具有焦点属性。
   菜单类的声明给出如下:
   typedef MSO-CONTAINER MSO-MENU;
   可以看出菜单类与容器类结构相同,其属性中有两个表明菜单的当前焦点状态:MS-ATTR-PREV-FOCUS和MS-ATTR-FOCUS,如果当前活动的菜单被冰冻起来,新的菜单被打开时,新菜单具有MS-ATTR-FOCUS属性,而原来活动的菜单将具有
   MS-ATTR-PREV-FOCUS属性。当关闭新菜单时,GUI系统发现有冰冻状态的菜单存在,就在其中查找具有MS-ATTR-PREV-FOCUS属性的菜单,把它解冻,使其运行。
   如果系统中有多个菜单处于冰冻状态时,这时连续关闭两个以上的菜单,则系统中有冰冻菜单存在,却没有具有MS_ATTR_PREV_FOCUS属性的菜单,系统无法打开菜单,就处于死机状态了。
   针对上述情况,我们对原菜单基类进行如下修改:
   1.修改菜单基类的结构,新菜单基类的结构声明如下:
   typedef struct{
   MSO-CONTAINER mo Container;
   UINT8 mc Menu Index;
   UINT8 mc Parameter Reserved;
   }MSO-MENU;
   Mc Menu Index用来记录菜单的先后顺序,由于编译规定是16位对齐,可以定义了一个八位的亚元变量留作将来扩展使用。
   然后定义如下的宏:
   #define MENU-INDEX-NEW (MENU-INDEX-ACTIVE-1)
   #define MENU-INDEX-ACTIVE 1
   #define MENU-INDEX-2ND-IN-LIST 2
   具有焦点属性的菜单的索引值为1,其他菜单的索引值越小,排列越靠前。索引值为0的菜单是刚刚打开的菜单。
   在菜单的打开,关闭,和冰冻操作中,系统会动态的更新索引菜单链表的索引值。使其按打开的先后顺序排列。
   在打开一个菜单的操作后,索引值的更新方法如下。
   图1.菜单打开时索引值更新流程图
   在关闭一个菜单后,把链表中每个比当前菜单的索引值大的菜单的索引值减1,代码如下:
   if(c Menu Index Closed!=MENU-INDEX-ACTIVE)
   {
   MSO-OBJECT-NEAR*p Object;
   P Object=((MSO-CONTAINER*)gp Screen)->mp Olist;
   while(NULL!=p Object)
   {
   if(MS-Is Menu(p Object)&(((MSO-MENU*)p Object)->mc Menu Index
   >c Menu Index Closed))
   ((MSO-MENU*)p Object)->mc Menu Index--;
   P Object=p Object->mp Next;
   }
   }
   在冰冻一个菜单后,所有链表内的菜单的索引值增加1,代码如下:
   {
   MSO-OBJECT-NEAR*p Object;
   P Object=((MSO-CONTAINER*)gp Screen)->mp Olist;
   while(NULL!=p Object)
   {
   if(MS-Is Menu(p Object))
   ((MSO-MENU*)p Object)->mc Menu Index++;
   P Object=p Object->mp Next;
   }
   }
   通过上述过程,菜单在每次发生变动时,其在链表中的顺序都被动态调整。这样,系统中打开菜单的数量就不再受到限制。
   参考文献:
   [1]Janardhan V,Schulzrinne H Peer assisted VoD for set-top box based IP network.2007
   [2]By Jasmin Blanchette,Mark Summerfield.C++GUI Programming with Qt 4 Prentice Hall.June 21,2006
   [3]张素文,贺玮,刘明兰.基于OSD的数字机顶盒用户界面设计[J].机器视觉,2006,11
   [4]李政莲,李翔熙.图形菜单显示装置和用于在其上显示菜单的方法[J].专利公开号CN1832547A.
   [5]陈宁伟.电视机OSD菜单显示方法,专利公开号CN1798289A,2006
   [6]彭静,张维勇,李洋.基于嵌入式系统的GUI软件开发包的设计与实现[J].合肥工业大学学报(自然科学版),2009,4
  
  “本文中所涉及到的图表、公式、注解等请以PDF格式阅读”
其他文献
针对关联规则挖掘中存在的边界问题,研究了模糊关联规则挖掘算法,该算法用模糊集代替区间来处理多值属性。实验结果表明,利用模糊关联规则挖掘可以有效发现异常,提高了网络异常入
经颈静脉肝内门体静脉支撑架分流术是当今治疗门脉高压症的重要手段之一,大有取代外科手术的趋势。本文对其产生、基本技术、术后门脉血液动力学和肝功能变化、适应症、并发症
从2001年美国宣布退出《京都议定书》至今,美国一直对此协议持否定态度,并再三强调退出理由,即该议定书会重创本国经济;全球变暖的改良必须通过国际合作,尤其是发展中国家的
本文介绍了VLAN的概念,以及划分VLAN的方法和具体设计配置实现方法。
摘要:对于秦皇岛地区而言,计算机专业是一个正在飞速发展的专业。本文将从秦皇岛地区计算机专业就业趋势、问题进行分析提出该地区计算机专业人才培养改革的方法。本文的研究对于秦皇岛地区的计算机专业发展具有积极的探索意义。  关键词:计算机专业;秦皇岛;就业形势  中图分类号:F241.4 文献标识码:A 文章编号:1007-9599 (2012) 18-0000-02  1 近几年计算机专业就业的基本趋势
根据教育部颁发的《全日制义务教育音乐课程标准(实验稿)》(下称"课标")及《全国普通高等学校音乐学(教师教育)本科专业课程指导方案(说明)》(下称"方案")的指导精神,通过综合分析我国现行
摘要:在工农业生产和日常生活中,经常要用到湿度和温度的检测和控制。本系统主要以AVR单片机为核心,使用SHT11温湿度传感器进行温度和湿度的检测,可实现温湿度的显示、调控和预警等功能,具有硬件简单、功能齐全的特点。  关键词:传感器;AVR单片机;SHT11  中图分类号:TP274 文献标识码:A 文章编号:1007-9599 (2012) 23-0000-02  1 引言  随着电子技术和微型
近年来,陕西省审计厅纪检监察工作在省纪委的领导下,认真履行工作职责,紧密结合审计工作特点和实际,从强化教育,完善制度,狠抓落实入手。采取系列措施,坚持五个到位。切实加强对审计
服装结构课程是服装院校的主干必修课程,也是大多数学生头疼的一门课程。服装结构设计基本分为立体和平面两大类型,平面结构设计大体可分为原型法和比例法。立体结构设计又称