公开/公告号CN101719973A
专利类型发明专利
公开/公告日2010-06-02
原文格式PDF
申请/专利权人 福建新大陆通信科技有限公司;
申请/专利号CN200910112786.5
发明设计人 方立;
申请日2009-11-13
分类号
代理机构福州市鼓楼区京华专利事务所(普通合伙);
代理人翁素华
地址 350000 福建省福州市马尾区儒江西路1号
入库时间 2023-12-18 00:01:25
法律状态公告日
法律状态信息
法律状态
2017-01-04
未缴年费专利权终止 IPC(主分类):G06F9/44 授权公告日:20120502 终止日期:20151113 申请日:20091113
专利权的终止
2012-05-02
授权
授权
2010-07-21
实质审查的生效 IPC(主分类):H04N5/00 申请日:20091113
实质审查的生效
2010-06-02
公开
公开
【技术领域】
本发明是关于一种应用于数字机顶盒的软件技术,特别是OSD图形用户接口技术,主要实现在数字电视机顶盒上图形用户接口操作绘制的问题。
【背景技术】
OSD(On ScreenDisplay)即在屏显示技术,以广泛应用于嵌入式相关的领域,因其高度的人性化得人机交互界面,良好的应用程序接口而广受欢迎。而传统的数字电视机顶盒界面绘制使用简单的2D函数方式绘制,界面之间的关联使用简单结构化编程方式,不易编写跳转方式复杂,页面组织凌乱,界面操作多样的系统,且对外部输入的响应不及时。
【发明内容】
本发明主要解决在传统机顶盒的OSD硬件上完成绘图结构化编程方式带来的不足,提供了一种机顶盒中基于OSD的图形用户接口方法,来完成整个机顶盒界面在机顶盒OSD硬件上的组织方式,以及对各种界面的应用处理的接口,方便编写各种各样的界面程序。
本发明是通过以下技术方案解决上述技术问题的:一种机顶盒中基于OSD的图形用户接口方法,其特征在于:包括:
1)在机顶盒的OSD层上有且仅有一个桌面,桌面下拥有复数个对话框,对话框下面拥有复数个控件,每个对话框被叫做状态,每一时刻有且仅有一个状态处于当前状态,有且仅有一个控件或对话框拥有焦点,这个时候机顶盒的面板和遥控器按键的所有消息都会被当前状态的焦点控件或对话框接收;
2)对于机顶盒的遥控器输入和面板输入的响应,使用了把输入按键消息化的方式,将按键消息在焦点控件按如下方式进行传递:
首先,改变焦点控件的数据;
接着,响应用户的按键回调函数;
再接下来,传给焦点切换功能函数;
最后,传给状态切换功能函数。
所述改变焦点控件的数据,是根据具体的控件,由控件内部独立完成。
所述响应用户的按键回调函数是通过填写应用事件表来完成,在事件回调函数内部,用户能够改变任何控件的数据,也能够改设焦点给处于显示状态的控件,也能够改设当前状态,还能够进行其它功能操作,如果数据被改变的控件处于显示状态,那么改变操作会立即显示出来,而如果数据被改变的控件处于隐藏状态,那么改变操作不会立即显示出来,如果改设焦点给处于隐藏状态的控件,那么这个操作会被忽略。
所述传给焦点切换功能函数,能够通过两个途径完成,第一种方法在焦点控件的按键回调函数中调用设置焦点函数,第二种方法是通过填写焦点表来完成,如果只在按键回调函数中调用设置焦点函数,那么这次操作起作用,如果只填写焦点表,那么这次操作起作用,但如果在按键回调函数中调用设置焦点函数,也填写焦点表,那么只有焦点表起作用。
所述传给状态切换功能函数,能够通过两种途径来完成,第一种方法在焦点控件的按键回调函数中调用设置状态函数,第二种方法是通过填写状态表来完成。
在状态切换过程中,如果某个状态没有被销毁掉,将会引起系统崩溃,即每当设置新状态时,必须将旧状态销毁,不要在按键回调函数中和状态表中同时去改设状态。
对话框对一个状态的背景以及控件进行有效的管理,对背景的绘制以及控件的绘制和焦点进行管理,刚进入一个状态时,能够给对话框注册应用,刚退出一个状态时,也能够给对话框注册应用;
当一个非当前状态转为当前状态时,都会有一个当前状态的控件或对话框本身拥有焦点,而对话框用于管理当前状态的焦点窗口,通过界面主题表给状态设置默认焦点窗口,或者通过接口函数改变对话框的默认焦点窗口;
如果焦点在对话框时,也能够向对话框注册按键处理函数,让对话框对按键进行处理,同时也能够向对话框注册状态切换和焦点切换。
本发明机顶盒中基于OSD的图形用户接口方法的优点在于:使用本图形用户接口方法有效的提高了在机顶盒OSD硬件上进行界面的绘制的速度,加速了绘制进度,提高了整体运行的效率,使编程人员的工作量大大降低。同时其拥有良好的通用性接口,可以方便的在不同的机顶盒上使用,加速开发的速度。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1是机顶盒遥控器输入模块和面板按键输入模块,以及OSD显示模块的连接框图。
图2是本发明机顶盒中基于OSD的图形用户接口方法的整个框架流程图。
【具体实施方式】
请参阅图1和图2所示,本发明机顶盒中基于OSD的图形用户接口方法包括:
1.在机顶盒的OSD层上有且仅有一个桌面,而桌面下可以拥有很多对话框,对话框下面可以拥有很多控件。每个对话框被叫做状态。每一时刻有且仅有一个状态处于当前状态,有且仅有一个控件(或对话框)拥有焦点,这个时候机顶盒的面板和遥控器按键的所有消息都会被当前状态的焦点控件(或对话框)接收。
2.对于机顶盒的遥控器输入和面板输入的响应,使用了把输入按键消息化的方式,将按键消息在焦点控件按如下方式进行传递:
首先,改变焦点控件的数据;
接着,响应用户的按键回调函数;
再接下来,传给焦点切换功能函数;
最后,传给状态切换功能函数。
其中,改变焦点控件的数据,是根据具体的控件,由控件内部独立完成。
响应用户的按键回调函数主要是通过填写应用事件表来完成。在事件回调函数内部,用户可以改变任何控件的数据,也可以改设焦点给处于显示状态的控件,也可以改设当前状态,还可以进行其它功能操作。注意,如果数据被改变的控件处于显示状态,那么改变操作会立即显示出来,而如果数据被改变的控件处于隐藏状态,那么改变操作不会立即显示出来,如果改设焦点给处于隐藏状态的控件,那么这个操作会被忽略。
传给焦点切换功能函数,可以通过两个途径完成,第一种方法在焦点控件的按键回调函数中调用设置焦点函数,第二种方法是通过填写焦点表来完成,如果只在按键回调函数中调用设置焦点函数,那么这次操作起作用,如果只填写焦点表,那么这次操作起作用,但如果在按键回调函数中调用设置焦点函数,也填写焦点表,那么从某种程度来说,只有焦点表起作用。
传给状态切换功能函数,同样可以通过两种途径来完成,第一种方法在焦点控件的按键回调函数中调用设置状态函数,第二种方法是通过填写状态表来完成。但是有一条原则,在状态切换过程中,如果某个状态没有被销毁掉,将会引起系统崩溃,即每当设置新状态时,必须将旧状态销毁。所以,不要在按键回调函数中和状态表中同时去改设状态。
GUI(graphical user interface,图形用户接口)解析器是本发明的一个重要组成部分,是应用开发人员进行开发的应用编程接口,它既可以解析与界面相关的资源文件生成界面,也可以通过系统调用改变界面的属性。GUI解析器可以解析的资源文件包括界面主题表、焦点表、状态表、事件表等等。同时GUI解析器提供了一些应用编程接口,用于对界面属性的修改,其中,比较重要的函数是状态切换函数、赋值函数和得值函数。
本发明规定一个状态由一个对话框、对话框的背景以及对话框的控件所组成,所以可以用对话框来代表一个状态。对话框主要用于对一个状态的背景以及控件进行有效的管理,对背景的绘制以及控件的绘制和焦点进行管理。
刚进入一个状态时,可以给对话框注册应用,而刚退出一个状态时,也可以给对话框注册应用。
当一个非当前状态转为当前状态时,都会有一个当前状态的控件或对话框本身拥有焦点,而对话框用于管理当前状态的焦点窗口。除了通过界面主题表给状态设置默认焦点窗口外,还可以通过接口函数改变对话框的默认焦点窗口。
如果焦点在对话框时,也可以向对话框注册按键处理函数,让对话框对按键进行处理。同时也可以向对话框注册状态切换和焦点切换。
GUI中使用的界面主题表,在程序运行过程中,OSD中显示的大部分信息是通过界面主题表来表征的,一个OSD就是一张界面主题表,一张界面主题表由多个状态组成,一个状态由一个对话框、对话框的背景以及对话框的控件所组成,状态切换由状态表完成,焦点切换由焦点表完成。
状态表是一张表,主要负责应用系统中的状态的切换。
焦点表主要负责在同一个状态中的不同控件之间的焦点切换。
应用事件表定义了下述内容:每个相关对话框;控件进入新状态时,新状态的对话框产生的事件;控件退出状态时,原状态的对话框产生的事件;自绘制控件产生的重绘事件,只对自绘制控件有效;控件对按键产生的事件;以及一些扩展用的事件。
本发明中GUI自带了大量的控件供用户使用,GUI负责显示管理的模块,每种信息的显示都要拥用GUI的支持。各种控件对于内部信息的表征不一样,这使得功能的内部信息可以使用相应控件来表征需要的内部世界,而对话框是用于管理控件的模块。Gui提供的控件包括组合框,按页列表框,列表框,静态控件,滚动条,进度条,频道号,页标签控件,文本框,定时器,音量控件,编辑框,视图列表框菜单控件,多文本控件,自绘控件,月历控件,视频框,JPG控件,GIF控件等。Gui同时提供了控件的编写规范,可以在无法满足要求的情况下,通过编写新的控件来满足要求。
机译: 基于机顶盒中间件平台的电子节目表装置及其方法
机译: 基于ATSC的机顶盒中RRT / GPS信息在MECA中的时间和位置告警方法
机译: 结合数字电视在机顶盒中提供基于位置的服务的方法,系统和服务器