一种基于qnx车载系统实现画中画的方法和装置制造方法

文档序号:7804628阅读:263来源:国知局
一种基于qnx车载系统实现画中画的方法和装置制造方法
【专利摘要】本发明涉及车载多媒体显示【技术领域】,尤其涉及一种基于QNX车载系统实现画中画的方法和装置,包括用于启动画中画程序并创建主窗口和窗口组的创建主窗口模块;用于启动其他程序时,其他程序向所述窗口组发送请求加入的消息的启动加入模块;用于主窗口根据消息通知创建对应所述其他程序的子窗口,再将子窗口添加到窗口组中的创建子窗口模块;和用于确定创建的子窗口的显示状态的确定子窗口显示模块。子窗口和其他程序一一对应,确定子窗口的显示状态,即确定与子窗口一一对应的其他程序的显示状态,主窗口根据预设子窗口名称信息确定该子窗口的显示状态,即用户可以通过预先设置让多个子窗口同时显现于屏幕,实现了QNX车载系统的画中画功能。
【专利说明】—种基于QNX车载系统实现画中画的方法和装置
【技术领域】
[0001]本发明涉及车载多媒体显示【技术领域】,尤其涉及一种基于QNX车载系统实现画中画的方法和装置。
【背景技术】
[0002]现有的车载系统受系统性能和软件架构的限制,一般不支持PIP (Picture InPicture,画中画)功能。个别支持PIP功能的车载系统也是采用外置专门的IC (IntegratedCircuit,集成电路),通过对显示器的OSD (On Screen Display)层进行操作来实现,硬件成本高,整合难度大。

【发明内容】

[0003]本发明的目的在于提出一种基于QNX车载系统实现画中画的方法和装置,能够在QNX车载系统中同时显示多个应用程序界面,实现了 QNX车载系统的画中画功能,极大的丰富了车载系统的用户界面表现形式,满足客户日益增长的用户体验需求。
[0004]为达此目的,本发明采用以下技术方案:
[0005]第一方面,提供一种基于QNX车载系统实现画中画的方法,包括:
[0006]接收到启动画中画程序的指令,启动画中画程序,创建主窗口和与其对应的窗口组;
[0007]当启动其他程序时,其他程序向所述窗口组发送请求加入的消息;
[0008]在其他程序向所述窗口组发送请求加入的消息的过程中,所述主窗口接收基于QNX车载系统的图形界面框架发出的消息通知,根据所述消息通知创建对应所述其他程序的子窗口,再将所述子窗口添加到所述窗口组中;
[0009]根据预设子窗口名称信息确定创建的子窗口的显示状态。
[0010]其中,所述当启动其他程序时,其他程序向所述窗口组发送请求加入的消息;包括:
[0011]在主窗口中启动其他程序,主窗口指定对应其他程序的子窗口的窗口名称和待加入的窗口组名称;
[0012]其他程序向对应主窗口指定的窗口组名称的窗口组发送请求加入的消息,
[0013]所述子窗口将对应的原窗口名称设置为主窗口指定的窗口名称,并加入到对应主窗口指定的窗口组名称的窗口组。
[0014]其中,所述根据所述消息通知创建对应所述其他程序的子窗口,再将所述子窗口添加到所述窗口组中;根据预设子窗口名称信息确定创建的子窗口的显示状态,包括:
[0015]根据所述消息通知创建对应所述其他程序的子窗口,并获得该子窗口的窗口句柄,再将所述子窗口添加到所述窗口组中;
[0016]根据预设子窗口名称信息和获得的窗口句柄,确定创建的子窗口的显示状态。
[0017]其中,所述根据预设子窗口名称信息确定创建的子窗口的显示状态,包括:[0018]根据创建的子窗口的窗口名称获取与其对应的预设子窗口名称信息,
[0019]根据预设子窗口名称信息获取与其对应的预设子窗口显示状态,
[0020]根据预设子窗口显示状态确定创建的子窗口的显示状态;其中,所述显示状态包括显现、隐藏、显示位置、显示大小和显示层次。
[0021]其中,所述根据预设子窗口名称信息确定创建的子窗口的显示状态之后,还包括:
[0022]所述主窗口通过调取子窗口对应的窗口句柄,调整刷新该子窗口的显示状态。
[0023]其中,所述调整刷新该子窗口的显示状态,包括:将该子窗口显现于屏幕或隐藏于屏幕。
[0024]其中,所述主窗口通过调取子窗口对应的窗口句柄,调整刷新该子窗口的显示状态,包括:
[0025]所述主窗口设置子窗口的显示位置信息,将所述显示位置信息转换为子窗口原点的坐标显示位置信息,根据所述坐标显示位置信息并通过调取该子窗口对应的窗口句柄,调整刷新该子窗口的显示位置;或,
[0026]所述主窗口设置子窗口的显示大小信息,将所述显示大小信息按照预设算法转换为子窗口的转换显示大小信息,根据所述转换显示大小信息并通过调取该子窗口对应的窗口句柄,调整刷新该子窗口的显示大小;或,
[0027]所述王窗口接收到启动子窗口切换功能的指令,启动子窗口切换功能;
[0028]所述主窗口接收由当前非全屏状态的子窗口发送的全屏显示请求,并通过QNX车载系统的图形界面框架获取并保存发出该请求的子窗口的显示状态;
[0029]根据全屏显示子窗口的窗口名称和请求全屏显示子窗口的窗口名称调取各自对应的窗口句柄,将两个子窗口的显示状态交换后刷新显示。
[0030]第二方面,提供一种基于QNX车载系统实现画中画的装置,包括:
[0031 ] 创建主窗口模块,用于接收到启动画中画程序的指令,启动画中画程序,创建主窗口和与其对应的窗口组;
[0032]启动加入模块,用于当启动其他程序时,其他程序向所述窗口组发送请求加入的消息;
[0033]创建子窗口模块,用于在其他程序向所述窗口组发送请求加入的消息的过程中,所述主窗口接收基于QNX车载系统的图形界面框架发出的消息通知,根据所述消息通知创建对应所述其他程序的子窗口,再将所述子窗口添加到所述窗口组中;
[0034]确定子窗口显不模块,用于根据预设子窗口名称信息确定创建的子窗口的显不状态。
[0035]其中,所述启动加入模块,还用于在主窗口中启动其他程序,主窗口指定对应其他程序的子窗口的窗口名称和待加入的窗口组名称;其他程序向对应主窗口指定的窗口组名称的窗口组发送请求加入的消息,所述子窗口将对应的原窗口名称设置为主窗口指定的窗口名称,并加入到对应主窗口指定的窗口组名称的窗口组;
[0036]其中,所述根据所述消息通知创建对应所述其他程序的子窗口,再将所述子窗口添加到所述窗口组中;根据预设子窗口名称信息确定创建的子窗口的显示状态,包括:
[0037]根据所述消息通知创建对应所述其他程序的子窗口,并获得该子窗口的窗口句柄,再将所述子窗口添加到所述窗口组中;
[0038]根据预设子窗口名称信息和获得的窗口句柄,确定创建的子窗口的显示状态;
[0039]所述确定子窗口显示模块,还用于根据创建的子窗口的窗口名称获取与其对应的预设子窗口名称信息,根据预设子窗口名称信息获取与其对应的预设子窗口显示状态,根据预设子窗口显示状态确定创建的子窗口的显示状态;其中,所述显示状态包括显现、隐藏、显示位置、显示大小和显示层次。
[0040]其中,所述基于QNX车载系统实现画中画的装置还包括调整子窗口显示模块,所述调整子窗口显示模块,用于所述主窗口通过调取子窗口对应的窗口句柄,调整刷新该子窗口的显示状态;
[0041 ] 其中,所述调整刷新该子窗口的显示状态,包括:将该子窗口显现于屏幕或隐藏于
屏幕;
[0042]所述调整子窗口显示模块,还用于所述主窗口设置子窗口的显示位置信息,将所述显示位置信息转换为子窗口原点的坐标显示位置信息,根据所述坐标显示位置信息并通过调取该子窗口对应的窗口句柄,调整刷新该子窗口的显示位置;或,
[0043]所述主窗口设置子窗口的显示大小信息,将所述显示大小信息按照预设算法转换为子窗口的转换显示大小信息,根据所述转换显示大小信息并通过调取该子窗口对应的窗口句柄,调整刷新该子窗口的显示大小;或,
[0044]所述王窗口接收到启动子窗口切换功能的指令,启动子窗口切换功能;
[0045]所述主窗口接收由当前非全屏状态的子窗口发送的全屏显示请求,并通过QNX车载系统的图形界面框架获取并保存发出该请求的子窗口的显示状态;
[0046]根据全屏显示子窗口的窗口名称和请求全屏显示子窗口的窗口名称调取各自对应的窗口句柄,将两个子窗口的显示状态交换后刷新显示。
[0047]本发明的有益效果在于:一种基于QNX车载系统实现画中画的方法和装置,包括创建主窗口模块、启动加入模块、创建子窗口模块和确定子窗口显示模块;所述创建主窗口模块,用于接收到启动画中画程序的指令,启动画中画程序,创建主窗口和与其对应的窗口组;所述启动加入模块,用于当启动其他程序时,其他程序向所述窗口组发送请求加入的消息;所述创建子窗口模块,用于在其他程序向所述窗口组发送请求加入的消息的过程中,所述主窗口接收基于QNX车载系统的图形界面框架发出的消息通知,根据所述消息通知创建对应所述其他程序的子窗口,再将所述子窗口添加到所述窗口组中;所述确定子窗口显示模块,用于根据预设子窗口名称信息确定创建的子窗口的显示状态。子窗口和后续启动的其他程序 对应,确定子窗口的显不状态,即确定与子窗口 对应的后续启动的其他程序的显示状态,主窗口根据预设子窗口名称信息确定该子窗口的显示状态,即用户可以通过预先设置让多个子窗口同时显现于屏幕。可见,该基于QNX车载系统实现画中画的方法和装置,能够在QNX车载系统中同时显示多个应用程序界面,实现了 QNX车载系统的画中画功能,极大的丰富了车载系统的用户界面表现形式,满足客户日益增长的用户体验需求。
【专利附图】

【附图说明】
[0048]为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。
[0049]图1是本发明提供的基于QNX车载系统实现画中画的方法第一个实施例的方法流程图。
[0050]图2是本发明提供的基于QNX车载系统实现画中画的方法第二个实施例的方法流程图。
[0051]图3是本发明提供的调整刷新子窗口的显示位置和显示大小的流程图。
[0052]图4是本发明提供的全屏显示子窗口和非全屏显示子窗口的显示状态切换的流程图。
[0053]图5是本发明提供的基于QNX车载系统实现画中画的装置第一个实施例的结构方框图。
[0054]图6是本发明提供的基于QNX车载系统实现画中画的装置第二个实施例的结构方框图。
【具体实施方式】
[0055]为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056]请参考图1,其是本发明提供的基于QNX车载系统实现画中画的方法第一个实施例的方法流程图。本发明实施例提供的基于QNX车载系统实现画中画的方法,可应用于各种车载监控系统、车载GPS系统、3G车载系统或车载信息系统等。
[0057]该基于QNX车载系统实现画中画的方法,包括:
[0058]步骤SIO1、接收到启动画中画程序的指令,启动画中画程序,创建主窗口和与其对应的窗口组。
[0059]QNX操作系统是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循P0SIX.1 (程序接口 )和P0SIX.2(Shell和工具)、部分遵循P0SIX.1b (实时扩展)。QNX车载系统即将QNX操作系统应用于车载系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX操作系统核心非常小巧(QNX4.X大约为12Kb),而且运行速度极快。
[0060]为了使用方便,可以设置启动QNX车载系统时自动启动画中画程序。当然,也可以将启动画中画程序的图标显现于屏幕,当该图标接收到触发指令,则认为接收到启动画中画程序的指令,启动画中画程序。
[0061]步骤S102、当启动其他程序时,其他程序向所述窗口组发送请求加入的消息。
[0062]为说明方便,本发明中其他程序可举例为导航应用程序和娱乐信息播放应用程序。以上举例只为说明方便,并不表示其他程序即为上述两个应用程序。其他程序未指定为某特定应用程序,只要是基于QNX车载系统的图形界面框架开发的应用程序均可。
[0063]步骤S103、在其他程序向所述窗口组发送请求加入的消息的过程中,所述主窗口接收基于QNX车载系统的图形界面框架发出的消息通知,根据所述消息通知创建对应所述其他程序的子窗口,再将所述子窗口添加到所述窗口组中。
[0064]需要说明的是,步骤S102和步骤S103并没有先后顺序关系,步骤S102和步骤S103并行实施。
[0065]步骤S104、根据预设子窗口名称信息确定创建的子窗口的显示状态。
[0066]理论上,该基于QNX车载系统实现画中画的方法可以支持无数个应用程序同时显现。不过受主控板资源限制,目前限定为最大可支持256个应用程序同屏显示。
[0067]优选的,所述子窗口包括I?8个子窗口。窗口组后续可创建多个子窗口,目前最大子窗口个数限定为8个,按照ZORDER从O到7描绘,ZORDER越高的子窗口越晚刷新。如果一个子窗口显现于屏幕、显示大小为非全屏、ZORDER大于其他子窗口,则该子窗口将会无遮挡的显示在主窗口的指定位置上。主窗口不是全屏显现的显示状态下可能会被其他子窗口遮挡。当启动画中画程序之后再启动其他两个应用程序实现PIP功能时,如果一个子窗口的显示大小为全屏,则另一个子窗口的显示大小需小于全屏宽高。
[0068]本方法基于QNX车载系统实现,目前的QNX车载系统具有强大高效的处理能力。QNX车载系统的图形界面框架的强大的窗口组功能为PIP实现提供了极大的便利,且无需额外的硬件投入,节省了成本。理论上QNX车载系统支持的源或应用程序个数不限,且支持动态调整刷新窗口的显示状态,如改变窗口的显示位置、变更窗口的显示层叠关系等。
[0069]综上,一种基于QNX车载系统实现画中画的方法,子窗口和后续启动的其他程序 对应,确定子窗口的显不状态,即确定与子窗口 对应的后续启动的其他程序的显
示状态,主窗口根据预设子窗口名称信息确定该子窗口的显示状态,即用户可以通过预先设置让多个子窗口同时显现于屏幕。可见,该基于QNX车载系统实现画中画的方法,能够在QNX车载系统中同时显示多个应用程序界面,实现了 QNX车载系统的画中画功能,极大的丰富了车载系统的用户界面表现形式,满足客户日益增长的用户体验需求。
[0070]请参考图2,其是本发明提供的基于QNX车载系统实现画中画的方法第二个实施例的方法流程图。本实施例与基于QNX车载系统实现画中画的方法第一个实施例的主要区别在于增加了确定创建的子窗口的显示状态的具体步骤。
[0071]该基于QNX车载系统实现画中画的方法,包括:
[0072]步骤S201、接收到启动画中画程序的指令,启动画中画程序,创建主窗口和与其对应的窗口组。
[0073]步骤S202、当启动其他程序时,其他程序向所述窗口组发送请求加入的消息。
[0074]其中,所述当启动其他程序时,其他程序向所述窗口组发送请求加入的消息;包括:
[0075]在主窗口中启动其他程序,主窗口指定对应其他程序的子窗口的窗口名称和待加入的窗口组名称;
[0076]其他程序向对应主窗口指定的窗口组名称的窗口组发送请求加入的消息,
[0077]所述子窗口将对应的原窗口名称设置为主窗口指定的窗口名称,并加入到对应主窗口指定的窗口组名称的窗口组。
[0078]步骤S203、在其他程序向所述窗口组发送请求加入的消息的过程中,所述主窗口接收基于QNX车载系统的图形界面框架发出的消息通知,
[0079]根据所述消息通知创建对应所述其他程序的子窗口,并获得该子窗口的窗口句柄,再将所述子窗口添加到所述窗口组中;
[0080]根据预设子窗口名称信息和获得的窗口句柄,确定创建的子窗口的显示状态。
[0081 ] 由以上可得,所述其他程序、消息通知和子窗口三者一一对应。
[0082]其中,所述根据预设子窗口名称信息确定创建的子窗口的显示状态,包括:
[0083]根据创建的子窗口的窗口名称获取与其对应的预设子窗口名称信息,
[0084]根据预设子窗口名称信息获取与其对应的预设子窗口显示状态,
[0085]根据预设子窗口显示状态确定创建的子窗口的显示状态;其中,所述显示状态包括显现、隐藏、显示位置、显示大小和显示层次。
[0086]优选的,子窗口创建时,预设子窗口显示状态为隐藏,ZORDER为0(最底层)。主窗口接收到消息通知,获取该子窗口对应的窗口句柄和窗口名称。通过窗口名称获取到当前应用程序,按照之前预设逻辑,设置子窗口的显现、隐藏、显示位置、显示大小以及显示层次。如果此时预设子窗口显示状态为显现,原点位置坐标为(0,O),大小为屏幕宽高,则此时子窗口将完全覆盖主窗口显现。
[0087]步骤S204、所述主窗口通过调取子窗口对应的窗口句柄,调整刷新该子窗口的显示状态。
[0088]其中,所述调整刷新该子窗口的显示状态,包括:将该子窗口显现于屏幕或隐藏于屏幕。
[0089]其中,所述主窗口通过调取子窗口对应的窗口句柄,调整刷新该子窗口的显示状态,包括:
[0090]所述主窗口设置子窗口的显示位置信息,将所述显示位置信息转换为子窗口原点的坐标显示位置信息,根据所述坐标显示位置信息并通过调取该子窗口对应的窗口句柄,调整刷新该子窗口的显示位置;或,
[0091 ] 所述主窗口设置子窗口的显示大小信息,将所述显示大小信息按照预设算法转换为子窗口的转换显示大小信息,根据所述转换显示大小信息并通过调取该子窗口对应的窗口句柄,调整刷新该子窗口的显示大小;或,
[0092]所述王窗口接收到启动子窗口切换功能的指令,启动子窗口切换功能;
[0093]所述主窗口接收由当前非全屏状态的子窗口发送的全屏显示请求,并通过QNX车载系统的图形界面框架获取并保存发出该请求的子窗口的显示状态;
[0094]根据全屏显示子窗口的窗口名称和请求全屏显示子窗口的窗口名称调取各自对应的窗口句柄,将两个子窗口的显示状态交换后刷新显示。
[0095]当多个应用程序实现PIP功能时,预设多个应用程序分别对应的子窗口显示状态为显现于屏幕,即可实现在QNX车载系统中同时显示多个应用程序界面的功能。
[0096]请参考图3,其是本发明提供的调整刷新子窗口的显示位置和显示大小的流程图。
[0097]如需定制子窗口的显示位置,由主窗口设置子窗口的显示位置信息,该显示位置信息为用户通过触摸屏或鼠标输入的输入位置信息,将所述显示位置信息转换为子窗口原点的坐标显示位置信息,再通知主窗口进行设置后调整刷新显示。图3中以对应导航应用程序的导航子窗口为例,显示了调整刷新导航子窗口的显示位置的流程。
[0098]如需定制子窗口的显示大小,由主窗口设置子窗口的显示大小信息,该显示大小信息为用户通过触摸屏或鼠标输入的输入大小信息,将所述显示大小信息按照预设算法转换为子窗口的转换显示大小信息,再通知主窗口进行设置后调整刷新显示。图3中以对应娱乐信息播放应用程序的娱乐信息播放子窗口为例,显示了调整刷新娱乐信息播放子窗口的显示大小的流程。
[0099]请参考图4,其是本发明提供的全屏显示子窗口和非全屏显示子窗口的显示状态切换的流程图。
[0100]若需实现全屏显示子窗口和非全屏显示子窗口的显示状态切换的功能,只需启动子窗口切换功能,再通知主窗口需要进行切换的非全屏显示子窗口的窗口名称即可。图4中以导航应用程序和娱乐信息播放应用程序的导航子窗口和娱乐信息播放子窗口的显示状态进行切换为例,显示了切换全屏显示的导航子窗口和非全屏显示的娱乐信息子窗口的显示状态的流程。
[0101]该基于QNX车载系统实现画中画的方法,首先需要启动一个管理程序,即画中画程序。启动之后创建一个主窗口,并基于此主窗口创建一个窗口组,管理程序就成为这个窗口组的主窗口。后续启动的其他应用程序都以子窗口的形式主动加入到该主窗口创建的窗口组中。在每个子窗口创建时,主窗口都会收到基于QNX车载系统的图形界面框架发出的消息通知,并获取到后续启动的其他应用程序对应的窗口句柄,主窗口存储该窗口句柄以便于在后续实时动态调整刷新子窗口的显示状态之时作为操作对象进行调用。另外,为了区别启动的其他应用程序,以便后续执行一些针对特殊应用程序的操作,主窗口在获取后续启动的其他应用程序对应的窗口句柄的同时,还可获取到后续启动的其他应用程序对应的窗口名称。
[0102]优选的,本方法基于车载系统QNX CAR V2.X平台集成的图形窗口框架实现,用墙纸应用程序、导航应用程序和娱乐信息播放应用程序举例说明,其中墙纸应用程序对应主窗口,为默认显示的背景应用程序。这里说明用户设置了启动QNX车载系统时自动启动画中画程序。导航应用程序和娱乐信息播放应用程序分别对应于主窗口创建的导航子窗口和娱乐信息播放子窗口。QNX车载系统启动之后,墙纸应用程序最先启动,然后导航应用程序和娱乐信息播放应用程序分别后续启动。主窗口对应导航应用程序和娱乐信息播放应用程序创建了导航子窗口和娱乐信息播放子窗口,导航子窗口和娱乐信息播放子窗口分别根据预设子窗口名称信息确定其自身的显示状态。当导航应用程序和娱乐信息播放应用程序启动时,主窗口可以分别得到基于QNX车载系统的图形界面框架发出的两个消息通知,同时也可以分别获取到导航子窗口和娱乐信息播放子窗口的窗口句柄。通过调用导航子窗口和娱乐信息播放子窗口的窗口句柄可以设置导航子窗口和娱乐信息播放子窗口的显现、隐藏、显示位置、显示大小和显示层次,而且还可以实时调整刷新子窗口的显示状态,比如对全屏显示的导航子窗口和非全屏显示的娱乐信息播放子窗口的显示状态进行切换,从而达到PIP(画中画)显示的效果。
[0103]综上,对于车载系统而言,导航信息的重要程度要高于娱乐信息(如视频、音频)。当前不支持PIP显示的车载系统无法在播放娱乐信息的同时将导航信息也一并呈现给用户,或客户在需要获得导航信息的同时必须中断娱乐信息的输出。如果采用本技术方案提供的基于QNX车载系统实现画中画的方法,可满足用户在同一个车载系统的屏幕上同时显示娱乐信息和导航信息的需求,不需要对其中任何一个应用程序的输出进行中断处理,并能实时调整刷新每个应用程序对应子窗口界面的显示状态,极大的丰富了车载系统的用户界面表现形式,满足客户日益增长的用户体验需求。
[0104]以下为本发明实施例提供的基于QNX车载系统实现画中画的装置I实施例。基于QNX车载系统实现画中画的装置I实施例与上述的基于QNX车载系统实现画中画的方法实施例属于同一构思,基于QNX车载系统实现画中画的装置I实施例中未详尽描述的细节内容,可以参考上述基于QNX车载系统实现画中画的方法实施例。
[0105]请参考图5,其是本发明提供的基于QNX车载系统实现画中画的装置I第一个实施例的结构方框图。本发明提供的基于QNX车载系统实现画中画的装置I可应用于各种车载监控终端、车载GPS终端、3G车载终端或车载信息终端等。
[0106]该基于QNX车载系统实现画中画的装置1,包括:
[0107]创建主窗口模块10,用于接收到启动画中画程序的指令,启动画中画程序,创建主窗口和与其对应的窗口组;
[0108]启动加入模块20,用于当启动其他程序时,其他程序向所述窗口组发送请求加入的消息;
[0109]创建子窗口模块30,用于在其他程序向所述窗口组发送请求加入的消息的过程中,所述主窗口接收基于QNX车载系统的图形界面框架发出的消息通知,根据所述消息通知创建对应所述其他程序的子窗口,再将所述子窗口添加到所述窗口组中;
[0110]确定子窗口显不模块40,用于根据预设子窗口名称信息确定创建的子窗口的显不状态。
[0111]综上,一种基于QNX车载系统实现画中画的装置1,子窗口和后续启动的其他程序 对应,确定子窗口的显不状态,即确定与子窗口 对应的后续启动的其他程序的显
示状态,主窗口根据预设子窗口名称信息确定该子窗口的显示状态,即用户可以通过预先设置让多个子窗口同时显现于屏幕。可见,该基于QNX车载系统实现画中画的装置1,能够在QNX车载系统中同时显示多个应用程序界面,实现了 QNX车载系统的画中画功能,极大的丰富了车载系统的用户界面表现形式,满足客户日益增长的用户体验需求。
[0112]请参考图6,其是本发明提供的基于QNX车载系统实现画中画的装置I第二个实施例的结构方框图。本实施例与基于QNX车载系统实现画中画的装置I第一个实施例的主要区别在于增加了调整子窗口显示模块50。
[0113]该基于QNX车载系统实现画中画的装置1,包括:
[0114]创建主窗口模块10,用于接收到启动画中画程序的指令,启动画中画程序,创建主窗口和与其对应的窗口组;
[0115]启动加入模块20,用于当启动其他程序时,其他程序向所述窗口组发送请求加入的消息;
[0116]创建子窗口模块30,用于在其他程序向所述窗口组发送请求加入的消息的过程中,所述主窗口接收基于QNX车载系统的图形界面框架发出的消息通知,根据所述消息通知创建对应所述其他程序的子窗口,再将所述子窗口添加到所述窗口组中;
[0117]确定子窗口显不模块40,用于根据预设子窗口名称信息确定创建的子窗口的显不状态。
[0118]其中,所述启动加入模块20,还用于在主窗口中启动其他程序,主窗口指定对应其他程序的子窗口的窗口名称和待加入的窗口组名称;其他程序向对应主窗口指定的窗口组名称的窗口组发送请求加入的消息,所述子窗口将对应的原窗口名称设置为主窗口指定的窗口名称,并加入到对应主窗口指定的窗口组名称的窗口组;
[0119]其中,所述根据所述消息通知创建对应所述其他程序的子窗口,再将所述子窗口添加到所述窗口组中;根据预设子窗口名称信息确定创建的子窗口的显示状态,包括:
[0120]根据所述消息通知创建对应所述其他程序的子窗口,并获得该子窗口的窗口句柄,再将所述子窗口添加到所述窗口组中;
[0121]根据预设子窗口名称信息和获得的窗口句柄,确定创建的子窗口的显示状态;
[0122]所述确定子窗口显示模块40,还用于根据创建的子窗口的窗口名称获取与其对应的预设子窗口名称信息,根据预设子窗口名称信息获取与其对应的预设子窗口显示状态,根据预设子窗口显示状态确定创建的子窗口的显示状态;其中,所述显示状态包括显现、隐藏、显示位置、显示大小和显示层次。
[0123]其中,所述基于QNX车载系统实现画中画的装置I还包括调整子窗口显示模块50,所述调整子窗口显示模块50,用于所述主窗口通过调取子窗口对应的窗口句柄,调整刷新该子窗口的显示状态;
[0124]其中,所述调整刷新该子窗口的显示状态,包括:将该子窗口显现于屏幕或隐藏于
屏幕;
[0125]所述调整子窗口显示模块50,还用于所述主窗口设置子窗口的显示位置信息,将所述显示位置信息转换为子窗口原点的坐标显示位置信息,根据所述坐标显示位置信息并通过调取该子窗口对应的窗口句柄,调整刷新该子窗口的显示位置;或,
[0126]所述主窗口设置子窗口的显示大小信息,将所述显示大小信息按照预设算法转换为子窗口的转换显示大小信息,根据所述转换显示大小信息并通过调取该子窗口对应的窗口句柄,调整刷新该子窗口的显示大小;或,
[0127]所述王窗口接收到启动子窗口切换功能的指令,启动子窗口切换功能;
[0128]所述主窗口接收由当前非全屏状态的子窗口发送的全屏显示请求,并通过QNX车载系统的图形界面框架获取并保存发出该请求的子窗口的显示状态;
[0129]根据全屏显示子窗口的窗口名称和请求全屏显示子窗口的窗口名称调取各自对应的窗口句柄,将两个子窗口的显示状态交换后刷新显示。
[0130]综上,采用本技术方案提供的基于QNX车载系统实现画中画的装置1,可满足用户在同一个车载系统的屏幕上同时显示娱乐信息和导航信息的需求,不需要对其中任何一个应用程序的输出进行中断处理,并能实时调整刷新每个应用程序对应子窗口界面的显示状态,极大的丰富了车载系统的用户界面表现形式,满足客户日益增长的用户体验需求。
[0131]—种基于QNX车载系统实现画中画的方法和装置,能够在QNX车载系统中同时显示多个应用程序界面,实现了 QNX车载系统的画中画功能,极大的丰富了车载系统的用户界面表现形式,满足客户日益增长的用户体验需求。
[0132]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括存储器、磁盘或光盘等。
[0133]以上内容仅为本发明的较佳实施例,对于本领域的普通技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,本说明书内容不应理解为对本发明H.1
【权利要求】
1.一种基于QNX车载系统实现画中画的方法,其特征在于,包括: 接收到启动画中画程序的指令,启动画中画程序,创建主窗口和与其对应的窗口组; 当启动其他程序时,其他程序向所述窗口组发送请求加入的消息; 在其他程序向所述窗口组发送请求加入的消息的过程中,所述主窗口接收基于QNX车载系统的图形界面框架发出的消息通知,根据所述消息通知创建对应所述其他程序的子窗口,再将所述子窗口添加到所述窗口组中; 根据预设子窗口名称信息确定创建的子窗口的显示状态。
2.根据权利要求1所述的基于QNX车载系统实现画中画的方法,其特征在于,所述当启动其他程序时,其他程序向所述窗口组发送请求加入的消息;包括: 在主窗口中启动其他程序,主窗口指定对应其他程序的子窗口的窗口名称和待加入的窗口组名称; 其他程序向对应主窗口指定的窗口组名称的窗口组发送请求加入的消息, 所述子窗口将对应的原窗口名称设置为主窗口指定的窗口名称,并加入到对应主窗口指定的窗口组名称的窗口组。
3.根据权利要求1所述的基于QNX车载系统实现画中画的方法,其特征在于,所述根据所述消息通知创建对应所述其 他程序的子窗口,再将所述子窗口添加到所述窗口组中;根据预设子窗口名称信息确定创建的子窗口的显示状态,包括: 根据所述消息通知创建对应所述其他程序的子窗口,并获得该子窗口的窗口句柄,再将所述子窗口添加到所述窗口组中; 根据预设子窗口名称信息和获得的窗口句柄,确定创建的子窗口的显示状态。
4.根据权利要求1所述的基于QNX车载系统实现画中画的方法,其特征在于,所述根据预设子窗口名称信息确定创建的子窗口的显示状态,包括: 根据创建的子窗口的窗口名称获取与其对应的预设子窗口名称信息, 根据预设子窗口名称信息获取与其对应的预设子窗口显示状态, 根据预设子窗口显示状态确定创建的子窗口的显示状态;其中,所述显示状态包括显现、隐藏、显示位置、显示大小和显示层次。
5.根据权利要求3所述的基于QNX车载系统实现画中画的方法,其特征在于,所述根据预设子窗口名称信息确定创建的子窗口的显示状态之后,还包括: 所述主窗口通过调取子窗口对应的窗口句柄,调整刷新该子窗口的显示状态。
6.根据权利要求5所述的基于QNX车载系统实现画中画的方法,其特征在于,所述调整刷新该子窗口的显示状态,包括:将该子窗口显现于屏幕或隐藏于屏幕。
7.根据权利要求5所述的基于QNX车载系统实现画中画的方法,其特征在于,所述主窗口通过调取子窗口对应的窗口句柄,调整刷新该子窗口的显示状态,包括: 所述主窗口设置子窗口的显示位置信息,将所述显示位置信息转换为子窗口原点的坐标显示位置信息,根据所述坐标显示位置信息并通过调取该子窗口对应的窗口句柄,调整刷新该子窗口的显示位置;或, 所述主窗口设置子窗口的显示大小信息,将所述显示大小信息按照预设算法转换为子窗口的转换显示大小信息,根据所述转换显示大小信息并通过调取该子窗口对应的窗口句柄,调整刷新该子窗口的显示大小;或,所述王窗口接收到启动子窗口切换功能的指令,启动子窗口切换功能; 所述主窗口接收由当前非全屏状态的子窗口发送的全屏显示请求,并通过QNX车载系统的图形界面框架获取并保存发出该请求的子窗口的显示状态; 根据全屏显示子窗口的窗口名称和请求全屏显示子窗口的窗口名称调取各自对应的窗口句柄,将两个子窗口的显示状态交换后刷新显示。
8.一种基于QNX车载系统实现画中画的装置,其特征在于,包括: 创建主窗口模块,用于接收到启动画中画程序的指令,启动画中画程序,创建主窗口和与其对应的窗口组; 启动加入模块,用于当启动其他程序时,其他程序向所述窗口组发送请求加入的消息; 创建子窗口模块,用于在其他程序向所述窗口组发送请求加入的消息的过程中,所述主窗口接收基于QNX车载系统的图形界面框架发出的消息通知,根据所述消息通知创建对应所述其他程序的子窗口,再将所述子窗口添加到所述窗口组中; 确定子窗口显示模块,用于根据预设子窗口名称信息确定创建的子窗口的显示状态。
9.根据权利要求8所述的基于QNX车载系统实现画中画的装置,其特征在于: 所述启动加入模块,还用于在主窗口中启动其他程序,主窗口指定对应其他程序的子窗口的窗口名称和待加入的窗口组名称;其他程序向对应主窗口指定的窗口组名称的窗口组发送请求加入的消息,所述子窗口将对应的原窗口名称设置为主窗口指定的窗口名称,并加入到对应主窗口指定的窗口组名称的窗口组; 其中,所述根据所述消息通知创建对应所述其他程序的子窗口,再将所述子窗口添加到所述窗口组中;根据预设子窗口名称信息确定创建的子窗口的显示状态,包括: 根据所述消息通知创建对应所述其他程序的子窗口,并获得该子窗口的窗口句柄,再将所述子窗口添加到所述窗口组中; 根据预设子窗口名称信息和获得的窗口句柄,确定创建的子窗口的显示状态; 所述确定子窗口显示模块,还用于根据创建的子窗口的窗口名称获取与其对应的预设子窗口名称信息,根据预设子窗口名称信息获取与其对应的预设子窗口显示状态,根据预设子窗口显示状态确定创建的子窗口的显示状态;其中,所述显示状态包括显现、隐藏、显示位置、显示大小和显示层次。
10.根据权利要求9所述的基于QNX车载系统实现画中画的装置,其特征在于: 所述基于QNX车载系统实现画中画的装置还包括调整子窗口显示模块,所述调整子窗口显示模块,用于所述主窗口通过调取子窗口对应的窗口句柄,调整刷新该子窗口的显示状态; 其中,所述调整刷新该子窗口的显示状态,包括:将该子窗口显现于屏幕或隐藏于屏眷; 所述调整子窗口显示模块,还用于所述主窗口设置子窗口的显示位置信息,将所述显示位置信息转换为子窗口原点的坐标显示位置信息,根据所述坐标显示位置信息并通过调取该子窗口对应的窗口句柄,调整刷新该子窗口的显示位置;或, 所述主窗口设置子窗口的显示大小信息,将所述显示大小信息按照预设算法转换为子窗口的转换显示大小信息,根据所述转换显示大小信息并通过调取该子窗口对应的窗口句柄,调整刷新该子窗口的显示大小;或, 所述王窗口接收到启动子窗口切换功能的指令,启动子窗口切换功能; 所述主窗口接收由当前非全屏状态的子窗口发送的全屏显示请求,并通过QNX车载系统的图形界面框架获取并保存发出该请求的子窗口的显示状态; 根据全屏显示子 窗口的窗口名称和请求全屏显示子窗口的窗口名称调取各自对应的窗口句柄,将两个子窗口的显示状态交换后刷新显示。
【文档编号】H04N21/431GK103986961SQ201410226114
【公开日】2014年8月13日 申请日期:2014年5月26日 优先权日:2014年5月26日
【发明者】尚平 申请人:惠州华阳通用电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1