CN106951249A - 多系统终端设备中窗口的管理方法及多系统终端设备 - Google Patents

多系统终端设备中窗口的管理方法及多系统终端设备 Download PDF

Info

Publication number
CN106951249A
CN106951249A CN201710157312.7A CN201710157312A CN106951249A CN 106951249 A CN106951249 A CN 106951249A CN 201710157312 A CN201710157312 A CN 201710157312A CN 106951249 A CN106951249 A CN 106951249A
Authority
CN
China
Prior art keywords
window
display
relevant information
terminal device
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710157312.7A
Other languages
English (en)
Other versions
CN106951249B (zh
Inventor
李京
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuanxin Information Technology Group Co ltd
Original Assignee
Yuanxin Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yuanxin Technology filed Critical Yuanxin Technology
Priority to CN201710157312.7A priority Critical patent/CN106951249B/zh
Publication of CN106951249A publication Critical patent/CN106951249A/zh
Application granted granted Critical
Publication of CN106951249B publication Critical patent/CN106951249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供了多系统终端设备中窗口的管理方法及多系统终端设备,该管理方法包括:获取多个系统各自的窗口的显示相关信息;根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据;基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口。通过本发明,实现了快速正确地处理各个系统的窗口的显示相关信息,实现了正确地显示各个系统的窗口,避免了多系统窗口同时显示而导致显示驱动绘制多系统各窗口时发生冲突而无法正常同时绘制多系统的各个窗口的情况,进一步地,提高了用户的使用体验。

Description

多系统终端设备中窗口的管理方法及多系统终端设备
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种多系统终端设备中窗口的管理方法,及一种多系统终端设备。
背景技术
随着多系统终端设备的兴起,目前,多系统终端设备的各个操作系统,通过其各自的窗口管理器维护一个系统级别的窗口栈,各操作系统创建的窗口,均需要添加至其各自的窗口栈中。操作系统的窗口管理器负责将窗口栈中存储的窗口进行混合处理,并将混合处理后的窗口显示数据在终端设备的显示区域进行绘制显示,但是,现有技术中一个操作系统只允许一个窗口管理器处于运行状态,在多系统终端设备中,将存在多个操作系统的多个窗口管理器并存的情况,当多个操作系统其各自的窗口管理器同时请求终端设备的显示驱动对其各自创建的窗口进行绘制显示时,将导致对终端设备显示驱动的访问冲突,从而无法正确显示多个操作系统其各自的窗口。
因此,需要一种在多系统终端设备中,对多系统其各自创建的窗口进行正确显示的方法。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的实施例提出了一种多系统终端设备中窗口的管理方法,包括:
获取多个系统各自的窗口的显示相关信息;
根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据;
基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口。
可选地,该方法还包括:
依据窗口创建时间获取并存储多个系统各自的窗口的显示相关信息至窗口栈,窗口栈以栈的队列顺序存储多个系统各自的窗口的显示相关信息。
优选地,获取多个系统各自的窗口的显示相关信息,包括:
基于窗口栈的队列顺序依次获取多个系统各自的窗口的显示相关信息;
其中,窗口的显示相关信息包括以下至少一项:
窗口的标识信息;
窗口的显示数据信息;
窗口的显示透明度属性信息;
窗口的显示透明度数据信息。
优选地,根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据,包括:
S1、依据窗口栈的队列顺序,依次获取窗口栈中一个窗口的显示相关信息;
S2、根据已获取的窗口的显示相关信息中的显示透明度属性信息,判断该窗口是否透明;
S3、若判断该窗口为透明,则循环执行S1,直至判断任一窗口为不透明;
S4、获取不透明的任一窗口的透明度数据信息以及已获取的其它窗口的显示数据信息;
S5、基于已获取的不透明的任一窗口的透明度数据信息以及已获取的其它窗口的显示数据信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据。
可选地,该方法还包括:
创建用于保存多个系统各自窗口的显示相关信息的预定缓冲区;
其中,S3中若判断该窗口为透明,在循环执行S1之前,该方法还包括:
S6、判断预定缓冲区中是否存储该窗口的显示相关信息;
S7、若预定缓冲区中未存储有该窗口的显示相关信息,将该窗口的显示相关信息存储至预定缓冲区,再循环执行S1。
可选地,若S6中判断预定缓冲区中存储有该窗口的显示相关信息,该方法还包括:
S8、从预定缓冲区中获取该窗口的透明度数据信息;
S9、根据该窗口的透明度数据信息,通过预定的透明度算法计算该窗口的计算透明度后的显示数据信息,并更新至预定缓冲区,再循环执行S1。
本发明的另一实施例提出了一种多系统终端设备,多系统终端设备包括用于管理窗口的渲染器,渲染器包括:
获取模块,用于获取多个系统各自的窗口的显示相关信息;
计算确定模块,用于根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据;
显示模块,用于基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口。
可选地,该多系统终端设备还包括:
获取及存储模块,用于依据窗口创建时间获取并存储多个系统各自的窗口的显示相关信息至窗口栈,窗口栈以栈的队列顺序存储多个系统各自的窗口的显示相关信息。
优选地,获取模块,包括:
第一获取单元,用于基于窗口栈的队列顺序依次获取多个系统各自的窗口的显示相关信息;
其中,窗口的显示相关信息包括以下至少一项:
窗口的标识信息;
窗口的显示数据信息;
窗口的显示透明度属性信息;
窗口的显示透明度数据信息。
优选地,计算确定模块,包括:
S1、第二获取单元,用于依据窗口栈的队列顺序,依次获取窗口栈中一个窗口的显示相关信息;
S2、第一判断单元,用于根据已获取的窗口的显示相关信息中的显示透明度属性信息,判断该窗口是否透明;
S3、循环执行单元,用于若判断该窗口为透明,则循环执行S1,直至判断任一窗口为不透明;
S4、第三获取单元,用于获取不透明的任一窗口的透明度数据信息以及已获取的其它窗口的显示数据信息;
S5、计算确定单元,用于基于已获取的不透明的任一窗口的透明度数据信息以及已获取的其它窗口的显示数据信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据。
可选地,该多系统终端设备还包括:
第一创建模块,用于创建用于保存多个系统各自窗口的显示相关信息的预定缓冲区;
其中,S3循环执行单元中若判断该窗口为透明,在循环执行S1之前,该多系统终端设备还包括:
S6、第二判断单元,用于判断预定缓冲区中是否存储该窗口的显示相关信息;
S7、存储单元,用于若预定缓冲区中未存储有该窗口的显示相关信息,将该窗口的显示相关信息存储至预定缓冲区,再循环执行S1。
可选地,若S6第二判断单元中判断预定缓冲区中存储有该窗口的显示相关信息,该多系统终端设备还包括:
S8、第四获取单元,用于从预定缓冲区中获取该窗口的透明度数据信息;
S9、计算及更新单元,用于根据该窗口的透明度数据信息,通过预定的透明度算法计算该窗口的计算透明度后的显示数据信息,并更新至预定缓冲区,再循环执行S1。
可选地,还包括第二创建模块:
第二创建模块,用于创建用于实现渲染器与多个系统的各个窗口进行通信的通信文件;
渲染器,还用于监听通信文件,以用于获取多个系统各自的窗口的显示相关信息。
本发明的实施例中,提出了一种多系统终端设备中窗口的管理方案,获取多个系统各自的窗口的显示相关信息,为后续能够正确显示多个系统各自的窗口提供了必要的前提保障;根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据,实现了快速正确地处理各个系统的窗口的显示相关信息,并得到各个系统的窗口的正确的显示数据,避免了混合多窗口的显示数据时发生错误而导致多系统各个窗口无法正常同时显示的情况;基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口,实现了正确地显示各个系统的窗口,避免了多系统窗口同时显示而导致显示驱动绘制多系统各窗口时发生冲突而无法正常同时绘制多系统的各个窗口的情况,进一步地,提高了用户的使用体验。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为一个实施例的多系统终端设备的内部结构的框架示意图;
图2为一个实施例的多系统终端设备中管理各系统窗口的框架示意图;
图3为本发明中一个实施例的多系统终端设备中窗口的管理方法的流程图;
图4为本发明中一个优选实施例的多系统终端设备中窗口的管理方法的流程图;
图5为本发明中另一优选实施例的多系统终端设备中窗口的管理方法的流程图;
图6为本发明中另一优选实施例的多系统终端设备中窗口的管理方法的流程图;
图7为本发明中另一优选实施例的多系统终端设备中窗口的管理方法的流程图;
图8为本发明中一个实施例的多系统终端设备中窗口管理器启动的流程图;
图9为本发明中一个实施例的多系统终端设备中应用程序启动的流程图;
图10为本发明中一个实施例的多系统终端设备中应用程序窗口创建过程的流程图;
图11为本发明中另一实施例的多系统终端设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
下面结合附图具体介绍本发明实施例的技术方案。
本发明实施例的多系统终端设备的内部结构的框架示意图如图1所示,包括:第一系统OS1和第二系统OS2。其中,第一系统OS1为Windows操作系统,第二系统OS2的操作系统为Android操作系统,第一系统OS1和第二系统OS2共享同一系统内核。
本发明实施例在多系统终端设备中管理各系统窗口的框架示意图如图2所示,包括:第一系统OS1和第二系统OS2。第一系统OS1和第二系统OS2各自拥有一个窗口管理器,来管理各自系统创建的窗口;该多系统终端设备通过多系统终端设备的渲染器,管理第一系统OS1和第二系统OS2各自的窗口管理器。其中,在多系统终端设备的内核中创建一帧缓冲区,缓存第一系统OS1和第二系统OS2各自窗口的显示相关信息,并将该显示相关信息提交至多系统终端设备的显示硬件。
其中,本发明实施例中运行的各个操作系统,可以为传统意义上的Linux操作系统或Unix操作系统,也可以是基于Linux操作系统衍生出来的Android系统、Ubuntu系统或FireFox系统等,还可以为以Windows平台为基础的windows系统等等,在此不做限定。
图3为本发明中一个实施例的多系统终端设备中窗口的管理方法的流程图。
本发明的实施例中,各步骤所执行的内容概述如下:步骤S310:获取多个系统各自的窗口的显示相关信息;步骤S320:根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据;步骤S330:基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口。
本发明的实施例中,提出了一种多系统终端设备中窗口的管理方法,获取多个系统各自的窗口的显示相关信息,为后续能够正确显示多个系统各自的窗口提供了必要的前提保障;根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据,实现了快速正确地处理各个系统的窗口的显示相关信息,并得到各个系统的窗口的正确的显示数据,避免了混合多窗口的显示数据时发生错误而导致多系统各个窗口无法正常同时显示的情况;基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口,实现了正确地显示各个系统的窗口,避免了多系统窗口同时显示而导致显示驱动绘制多系统各窗口时发生冲突而无法正常同时绘制多系统的各个窗口的情况,进一步地,提高了用户的使用体验。以下针对各个步骤的具体实现做进一步的说明:
步骤S310:获取多个系统各自的窗口的显示相关信息。
其中,窗口的显示相关信息包括以下至少一项:
1)窗口的标识信息;例如,窗口的唯一标识号,如ID值。
2)窗口的显示数据信息;例如,窗口显示内容的各个像素的RGB数据。
3)窗口的显示透明度属性信息;例如,窗口的显示透明度属性值的数据。
4)窗口的显示透明度数据信息。
例如,在多系统终端设备A中,包括第一系统OS1和第二系统OS2,获取第一系统OS1的所有窗口的显示相关信息,如第一系统OS1存在两个窗口,获取到该两个窗口的标识号ID值分别为“01”和“02”、该两个窗口各自显示内容的各个像素的RGB值和透明度属性值数据等;并获取第二系统OS2的所有窗口的显示相关信息,如第二系统OS2存在一个窗口,获取到该一个窗口标识号ID值为“03”、该“03”窗口显示内容的各个像素的RGB值和透明度属性值数据等。
需要说明的是,本领域技术人员可以了解到,终端设备中窗口的显示内容由多个像素组成,一个像素由RGBA来表示,即R代表红,G代表绿,B代表蓝,A(Alpha)代表透明度;每一种颜色和透明度各占一个字节,也就是一个像素占4字节,如果屏幕分辨率是1280x760,那么存储一个窗口的所有像素的内存大小就是1280x760x4字节;对应于物理屏幕上的一个像素点,最终的显示可以抛弃掉A值,硬件会根据各像素的RGB值,来控制最终液晶颗粒的旋转角度,显示出各像素的正确颜色。
步骤S320:根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据。
例如,在多系统终端设备A中,根据已获取的第一系统OS1和第二系统OS2各自窗口的显示相关信息,通过预定的窗口显示算法计算各个窗口的显示内容的各像素的RGBA值,以确定多个系统的窗口混合显示后的各窗口显示内容的各像素的RGBA值数据。
步骤S330:基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口。
例如,在多系统终端设备A中,基于窗口标识号为“01”、“02”和“03”的三个窗口混合显示数据,通过多系统终端设备的显示驱动显示该混合显示数据中的每个像素RGB值,以正确显示多个系统混合后的窗口标识号为“01”、“02”和“03”的三个窗口。
优选地,如图4所示,该管理方法包括步骤S410、步骤S420、步骤S430和步骤S440;步骤S410:获取多个系统各自的窗口的显示相关信息;步骤S420:根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据;步骤S430:基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口;步骤S440:依据窗口创建时间获取并存储多个系统各自的窗口的显示相关信息至窗口栈,窗口栈以栈的队列顺序存储多个系统各自的窗口的显示相关信息。
其中,本优选实施例中的多系统的终端设备在步骤S410、步骤S420和步骤S430中执行的操作与图3所示的多系统的终端设备在步骤S310、步骤S320和步骤S330中执行的操作相同或相似,在此不再赘述。
例如,在多系统终端设备A中,将多个系统中第一系统OS1和第二系统OS2各自的窗口的显示相关信息存储至多系统终端设备的窗口栈中,窗口栈以栈的队列顺序来存储多系统各自的窗口的显示相关信息;依据各个窗口的创建时间的先后顺序,各个窗口的创建时间顺序依次为:窗口标识号为“01”的窗口、窗口标识号为“02”的窗口和窗口标识号为“03”的窗口,随后,首先获取创建的“01”窗口的窗口的显示相关信息并存储至窗口栈中,再获取创建的“02”窗口的窗口的显示相关信息并存储至窗口栈中,最后获取创建的“03”窗口的窗口的显示相关信息并存储至窗口栈中。需要说明的是,在多系统终端设备的任一系统中创建一窗口,随后即获取该创建窗口的显示相关信息并存储至窗口栈中。
需要说明的是,本领域技术人员可以了解到,栈,是一种遵循先进后出规则的队列,本发明实施例中窗口栈通过栈的方式来管理多系统中的各个窗口,因此,依据窗口的创建时间,越早创建的窗口在窗口栈队列中越靠后,而最新创建的窗口则排在窗口栈队列的最前面。
优选地,如图5所示,该管理方法包括步骤S510、步骤S520和步骤S530;步骤S510:基于窗口栈的队列顺序依次获取多个系统各自的窗口的显示相关信息;步骤S520:根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据;步骤S530:基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口。
其中,本优选实施例中的多系统的终端设备在步骤S520和步骤S530中执行的操作与图3所示的多系统的终端设备在步骤S320和步骤S330中执行的操作相同或相似,在此不再赘述。
例如,在多系统终端设备A中,将第一系统OS1和第二系统OS2各自的窗口的显示相关信息存储至多系统终端设备的窗口栈中;第一系统OS1和第二系统OS2各自的窗口的显示相关信息存储至窗口栈中的先后顺序为:窗口标识号为“01”的窗口、窗口标识号为“02”的窗口和窗口标识号为“03”的窗口,依据窗口栈队列中先进后出规则,首先获取窗口标识号为“03”的窗口的显示相关信息,随后获取窗口标识号为“02”的窗口的显示相关信息,最后获取窗口标识号为“01”的窗口的显示相关信息。
优选地,如图6所示,该管理方法包括步骤S610、步骤S620、步骤S630、步骤S640、步骤S650、步骤S660和步骤S670;步骤S610:获取多个系统各自的窗口的显示相关信息;步骤S620:依据窗口栈的队列顺序,依次获取窗口栈中一个窗口的显示相关信息;步骤S630:根据已获取的窗口的显示相关信息中的显示透明度属性信息,判断该窗口是否透明;步骤S640:若判断该窗口为透明,则循环执行步骤S620,直至判断任一窗口为不透明;步骤S650:获取不透明的任一窗口的透明度数据信息以及已获取的其它窗口的显示数据信息;步骤S660:基于已获取的不透明的任一窗口的透明度数据信息以及已获取的其它窗口的显示数据信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据;步骤S670:基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口。
其中,本优选实施例中的多系统的终端设备在步骤S610和步骤S670中执行的操作与图3所示的多系统的终端设备在步骤S310和步骤S330中执行的操作相同或相似,在此不再赘述。
例如,在多系统终端设备A中,将第一系统OS1和第二系统OS2各自的窗口的显示相关信息存储至多系统终端设备的窗口栈中,依据窗口栈的队列顺序,在队列顶端至队列底部依次存储的是窗口标识号为“03”的窗口的显示相关信息、窗口标识号为“02”的窗口的显示相关信息和窗口标识号为“01”的窗口的显示相关信息,首先获取窗口栈中窗口标识号为“03”的窗口的显示相关信息,根据已获取的窗口标识号为“03”的窗口的显示相关信息中的显示透明度属性信息,判断窗口标识号为“03”的窗口是否透明,如透明度属性值为0至1之间的数值,值为0,代表该窗口为透明显示,值介于0至1之间,代表透明显示的不同程度,值为1,代表该窗口为全透明显示,若透明度属性值为空值,代表该窗口为非透明显示,若根据窗口标识号为“03”的窗口的显示相关信息中,得到窗口标识号为“03”的窗口透明度属性值为0.2,可判断窗口标识号为“03”的窗口为透明显示,则循环执行步骤S620,直至判断任一窗口为不透明,若随后判断窗口标识号为“02”的窗口为不透明,获取窗口标识号为“03”的窗口的显示数据信息以及窗口标识号为“02”的窗口的透明度数据信息,基于已获取的窗口标识号为“03”和“02”的窗口的显示数据信息,通过预定的窗口显示算法计算窗口标识号为“03”和“02”的窗口的显示内容的各像素的RGBA值,以确定多个系统的窗口标识号为“03”和“02”的窗口混合显示后的显示内容的各像素的RGBA值。
优选地,该管理方法还包括:创建用于保存多个系统各自窗口的显示相关信息的预定缓冲区。
例如,在多系统终端设备A中,创建用于保存多个系统各自窗口的显示相关信息的预定缓冲区,如在多系统终端设备的系统内核中创建一个用于保存多个系统各自窗口的显示相关信息的预定帧缓冲的缓冲区。
优选地,如图7所示,该管理方法包括步骤S7010、步骤S7020、步骤S7030、步骤S7040、步骤S7050、步骤S7060、步骤S7070、步骤S7080、步骤S790和步骤S7100;步骤S7010:获取多个系统各自的窗口的显示相关信息;步骤S7020:依据窗口栈的队列顺序,依次获取窗口栈中一个窗口的显示相关信息;步骤S7030:根据已获取的窗口的显示相关信息中的显示透明度属性信息,判断该窗口是否透明;步骤S7040:若判断该窗口为透明,判断预定缓冲区中是否存储该窗口的显示相关信息;步骤S7050:若预定缓冲区中未存储有该窗口的显示相关信息,将该窗口的显示相关信息存储至预定缓冲区,再循环执行步骤S7020;步骤S7060:若判断预定缓冲区中存储有该窗口的显示相关信息,从预定缓冲区中获取该窗口的透明度数据信息;步骤S7070:根据该窗口的透明度数据信息,通过预定的透明度算法计算该窗口的计算透明度后的显示数据信息,并更新至预定缓冲区,再循环执行步骤S7020;步骤S7080:获取不透明的任一窗口的透明度数据信息以及已获取的其它窗口的显示数据信息;步骤S7090:基于已获取的不透明的任一窗口的透明度数据信息以及已获取的其它窗口的显示数据信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据;步骤S7100:基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口。
其中,本优选实施例中的多系统的终端设备在步骤S7010、步骤S7020、步骤S7030、步骤S7080、步骤S7090和步骤S7100中执行的操作与图6所示的多系统的终端设备在步骤S610、步骤S620、步骤S630、步骤S650、步骤S660和步骤S670中执行的操作相同或相似,在此不再赘述。
例如,在多系统终端设备A中,在系统内核中创建一个用于保存多个系统各自窗口的显示相关信息的预定帧缓冲的缓冲区;将多个系统中第一系统OS1和第二系统OS2各自的窗口的显示相关信息存储至多系统终端设备的窗口栈中,依据窗口栈的队列顺序,在队列顶端至队列底部依次存储的是窗口标识号为“03”的窗口的显示相关信息、窗口标识号为“02”的窗口的显示相关信息和窗口标识号为“01”的窗口的显示相关信息,首先获取窗口栈中窗口标识号为“03”的窗口的显示相关信息,根据已获取的窗口标识号为“03”的窗口的显示相关信息中的显示透明度属性值,该值若为0.2,可判断该窗口为透明显示,随后判断预定缓冲区中是否存储窗口标识号为“03”的窗口的显示相关信息,若预定缓冲区中未存储有窗口标识号为“03”的窗口的显示相关信息,将窗口栈中获取的窗口标识号为“03”的窗口的显示相关信息存储至预定缓冲区,再循环执行步骤S7020;若预定缓冲区中存储有窗口标识号为“03”的窗口的显示相关信息,从系统内核的预定缓冲区中获取窗口标识号为“03”的窗口的透明度数据信息,随后根据窗口标识号为“03”的窗口的透明度数据信息,通过预定的窗口显示算法计算窗口标识号为“03”的窗口的计算透明度后的显示数据信息,并更新至预定缓冲区,再循环执行步骤S7020。
在一具体应用场景中,在多系统终端设备B中,包括第一系统OS1和第二系统OS2,多系统终端设备B中通过渲染器管理第一系统OS1和第二系统OS2中各个窗口的显示相关信息,在多系统终端设备B中首先启动渲染器,并在该渲染器中创建一个用于实现该渲染器与第一系统OS1和第二系统OS2的各个窗口进行通信的通信文件,如Soket(套接字)文件,渲染器监听该通信文件,以用于获取第一系统OS1和第二系统OS2各自的窗口的显示相关信息;第一系统OS1和第二系统OS2拥有用各自的窗口管理器,在多系统终端设备B中的渲染器启动后,当多系统终端设备B中任一系统的窗口管理器启动时,如第一系统OS1的窗口管理器启动时,窗口管理器启动的流程图如图8所示,当第一系统OS1的系统启动后,启动第一系统OS1的窗口管理器,随后获取第一系统OS1的系统名称,并将第一系统OS1的系统名称经过预定的编码方式,如Base64编码方式,进行相应处理,并将处理后的第一系统OS1的系统名称作为第一系统OS1本地通信文件的名称,如Soket文件,随后修改第一系统OS1中应用启动的环境变量,并通过第一系统OS1的窗口管理器监听第一系统OS1本地Soket文件以等待第一系统OS1的应用接入;当第一系统OS1中的任一应用,如App1启动时,启动流程如图9所示,首先读取第一系统OS1的环境变量,获得需要连接的第一系统OS1的本地Soket文件,随后第一系统OS1的App1通过该Soket文件连接第一系统OS1的窗口管理器,随后第一系统OS1的窗口管理器将创建第一系统OS1的App1的显示窗口的消息发送至渲染器中的通信文件,随后通过渲染器创建第一系统OS1的App1的显示窗口,窗口创建过程如图10所示;当第一系统OS1的App1应用退出后,则通过渲染器关闭并销毁第一系统OS1的App1的窗口。
需要说明的是,本领域技术人员可以了解到,本发明中虽以终端设备的渲染器为例对多系统中的各个窗口进行管理,但在此不做限定。
图11为本发明中另一实施例的多系统终端设备的结构示意图。
本发明的实施例中,多系统终端设备包括用于管理窗口的渲染器,渲染器包括的各模块所执行的内容概述如下:获取模块1110获取多个系统各自的窗口的显示相关信息;计算确定模块1120根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据;显示模块1130基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口。
本发明的实施例中,提出了一种多系统终端设备,获取多个系统各自的窗口的显示相关信息,为后续能够正确显示多个系统各自的窗口提供了必要的前提保障;根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据,实现了快速正确地处理各个系统的窗口的显示相关信息,并得到各个系统的窗口的正确的显示数据,避免了混合多窗口的显示数据时发生错误而导致多系统各个窗口无法正常同时显示的情况;基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口,实现了正确地显示各个系统的窗口,避免了多系统窗口同时显示而导致显示驱动绘制多系统各窗口时发生冲突而无法正常同时绘制多系统的各个窗口的情况,进一步地,提高了用户的使用体验。以下针对各个模块的具体实现做进一步的说明:
获取模块1110,用于获取多个系统各自的窗口的显示相关信息;
计算确定模块1120,用于根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据;
显示模块1130,用于基于窗口混合显示数据,通过多系统终端设备的显示驱动显示多个系统混合后的各个窗口。
可选地,该多系统终端设备还包括:
获取及存储模块,用于依据窗口创建时间获取并存储多个系统各自的窗口的显示相关信息至窗口栈,窗口栈以栈的队列顺序存储多个系统各自的窗口的显示相关信息。
优选地,获取模块,包括:
第一获取单元,用于基于窗口栈的队列顺序依次获取多个系统各自的窗口的显示相关信息;
其中,窗口的显示相关信息包括以下至少一项:
窗口的标识信息;
窗口的显示数据信息;
窗口的显示透明度属性信息;
窗口的显示透明度数据信息。
优选地,计算确定模块,包括:
S1、第二获取单元,用于依据窗口栈的队列顺序,依次获取窗口栈中一个窗口的显示相关信息;
S2、第一判断单元,用于根据已获取的窗口的显示相关信息中的显示透明度属性信息,判断该窗口是否透明;
S3、循环执行单元,用于若判断该窗口为透明,则循环执行S1,直至判断任一窗口为不透明;
S4、第三获取单元,用于获取不透明的任一窗口的透明度数据信息以及已获取的其它窗口的显示数据信息;
S5、计算确定单元,用于基于已获取的不透明的任一窗口的透明度数据信息以及已获取的其它窗口的显示数据信息,通过预定的窗口显示算法计算确定多个系统的窗口混合显示数据。
可选地,该多系统终端设备还包括:
第一创建模块,用于创建用于保存多个系统各自窗口的显示相关信息的预定缓冲区;
其中,S3循环执行单元中若判断该窗口为透明,在循环执行S1之前,该多系统终端设备还包括:
S6、第二判断单元,用于判断预定缓冲区中是否存储该窗口的显示相关信息;
S7、存储单元,用于若预定缓冲区中未存储有该窗口的显示相关信息,将该窗口的显示相关信息存储至预定缓冲区,再循环执行S1。
可选地,若S6第二判断单元中判断预定缓冲区中存储有该窗口的显示相关信息,该多系统终端设备还包括:
S8、第四获取单元,用于从预定缓冲区中获取该窗口的透明度数据信息;
S9、计算及更新单元,用于根据该窗口的透明度数据信息,通过预定的透明度算法计算该窗口的计算透明度后的显示数据信息,并更新至预定缓冲区,再循环执行S1。
可选地,还包括第二创建模块:
第二创建模块,用于创建用于实现渲染器与多个系统的各个窗口进行通信的通信文件;
渲染器,还用于监听通信文件,以用于获取多个系统各自的窗口的显示相关信息。
本发明实施例提供的多系统终端设备可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

1.一种多系统终端设备中窗口的管理方法,其特征在于,包括:
获取多个系统各自的窗口的显示相关信息;
根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定所述多个系统的窗口混合显示数据;
基于所述窗口混合显示数据,通过多系统终端设备的显示驱动显示所述多个系统混合后的各个窗口。
2.根据权利要求1所述的管理方法,其特征在于,该方法还包括:
依据窗口创建时间获取并存储多个系统各自的窗口的显示相关信息至窗口栈,所述窗口栈以栈的队列顺序存储所述多个系统各自的窗口的显示相关信息。
3.根据权利要求2所述的管理方法,其特征在于,所述获取多个系统各自的窗口的显示相关信息,包括:
基于窗口栈的队列顺序依次获取多个系统各自的窗口的显示相关信息;
其中,所述窗口的显示相关信息包括以下至少一项:
窗口的标识信息;
窗口的显示数据信息;
窗口的显示透明度属性信息;
窗口的显示透明度数据信息。
4.根据权利要求3所述的管理方法,其特征在于,所述根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定所述多个系统的窗口混合显示数据,包括:
S1、依据所述窗口栈的队列顺序,依次获取所述窗口栈中一个窗口的显示相关信息;
S2、根据已获取的窗口的显示相关信息中的显示透明度属性信息,判断该窗口是否透明;
S3、若判断该窗口为透明,则循环执行S1,直至判断任一窗口为不透明;
S4、获取所述不透明的任一窗口的透明度数据信息以及已获取的其它窗口的显示数据信息;
S5、基于已获取的所述不透明的任一窗口的透明度数据信息以及所述已获取的其它窗口的显示数据信息,通过预定的窗口显示算法计算确定所述多个系统的窗口混合显示数据。
5.根据权利要求4所述的管理方法,其特征在于,该方法还包括:
创建用于保存多个系统各自窗口的显示相关信息的预定缓冲区;
其中,所述S3中若判断该窗口为透明,在循环执行S1之前,该方法还包括:
S6、判断所述预定缓冲区中是否存储所述该窗口的显示相关信息;
S7、若所述预定缓冲区中未存储有所述该窗口的显示相关信息,将所述该窗口的显示相关信息存储至所述预定缓冲区,再循环执行S1。
6.根据权利要求5所述的管理方法,其特征在于,若所述S6中判断所述预定缓冲区中存储有所述该窗口的显示相关信息,该方法还包括:
S8、从所述预定缓冲区中获取所述该窗口的透明度数据信息;
S9、根据所述该窗口的透明度数据信息,通过预定的透明度算法计算所述该窗口的计算透明度后的显示数据信息,并更新至所述预定缓冲区,再循环执行S1。
7.一种多系统终端设备,其特征在于,所述多系统终端设备包括用于管理窗口的渲染器,所述渲染器包括:
获取模块,用于获取多个系统各自的窗口的显示相关信息;
计算确定模块,用于根据已获取的各个系统的窗口的显示相关信息,通过预定的窗口显示算法计算确定所述多个系统的窗口混合显示数据;
显示模块,用于基于所述窗口混合显示数据,通过多系统终端设备的显示驱动显示所述多个系统混合后的各个窗口。
8.根据权利要求7所述的管理方法,其特征在于,该多系统终端设备还包括:
获取及存储模块,用于依据窗口创建时间获取并存储多个系统各自的窗口的显示相关信息至窗口栈,所述窗口栈以栈的队列顺序存储所述多个系统各自的窗口的显示相关信息。
9.根据权利要求8所述的多系统终端设备,其特征在于,所述获取模块,包括:
第一获取单元,用于基于窗口栈的队列顺序依次获取多个系统各自的窗口的显示相关信息;
其中,所述窗口的显示相关信息包括以下至少一项:
窗口的标识信息;
窗口的显示数据信息;
窗口的显示透明度属性信息;
窗口的显示透明度数据信息。
10.根据权利要求9所述的多系统终端设备,其特征在于,所述计算确定模块,包括:
S1、第二获取单元,用于依据所述窗口栈的队列顺序,依次获取所述窗口栈中一个窗口的显示相关信息;
S2、第一判断单元,用于根据已获取的窗口的显示相关信息中的显示透明度属性信息,判断该窗口是否透明;
S3、循环执行单元,用于若判断该窗口为透明,则循环执行S1,直至判断任一窗口为不透明;
S4、第三获取单元,用于获取所述不透明的任一窗口的透明度数据信息以及已获取的其它窗口的显示数据信息;
S5、计算确定单元,用于基于已获取的所述不透明的任一窗口的透明度数据信息以及所述已获取的其它窗口的显示数据信息,通过预定的窗口显示算法计算确定所述多个系统的窗口混合显示数据。
11.根据权利要求10所述的多系统终端设备,其特征在于,该多系统终端设备还包括:
第一创建模块,用于创建用于保存多个系统各自窗口的显示相关信息的预定缓冲区;
其中,所述S3循环执行单元中若判断该窗口为透明,在循环执行S1之前,该多系统终端设备还包括:
S6、第二判断单元,用于判断所述预定缓冲区中是否存储所述该窗口的显示相关信息;
S7、存储单元,用于若所述预定缓冲区中未存储有所述该窗口的显示相关信息,将所述该窗口的显示相关信息存储至所述预定缓冲区,再循环执行S1。
12.根据权利要求11所述的多系统终端设备,其特征在于,若所述S6第二判断单元中判断所述预定缓冲区中存储有所述该窗口的显示相关信息,该多系统终端设备还包括:
S8、第四获取单元,用于从所述预定缓冲区中获取所述该窗口的透明度数据信息;
S9、计算及更新单元,用于根据所述该窗口的透明度数据信息,通过预定的透明度算法计算所述该窗口的计算透明度后的显示数据信息,并更新至所述预定缓冲区,再循环执行S1。
13.根据权利要求7所述的多系统终端设备,其特征在于,还包括第二创建模块:
所述第二创建模块,用于创建用于实现所述渲染器与多个系统的各个窗口进行通信的通信文件;
所述渲染器,还用于监听所述通信文件,以用于获取多个系统各自的窗口的显示相关信息。
CN201710157312.7A 2017-03-16 2017-03-16 多系统终端设备中窗口的管理方法及多系统终端设备 Active CN106951249B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710157312.7A CN106951249B (zh) 2017-03-16 2017-03-16 多系统终端设备中窗口的管理方法及多系统终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710157312.7A CN106951249B (zh) 2017-03-16 2017-03-16 多系统终端设备中窗口的管理方法及多系统终端设备

Publications (2)

Publication Number Publication Date
CN106951249A true CN106951249A (zh) 2017-07-14
CN106951249B CN106951249B (zh) 2021-02-02

Family

ID=59473438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710157312.7A Active CN106951249B (zh) 2017-03-16 2017-03-16 多系统终端设备中窗口的管理方法及多系统终端设备

Country Status (1)

Country Link
CN (1) CN106951249B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279963A (zh) * 2018-01-05 2018-07-13 郑州信大捷安信息技术股份有限公司 一种单Linux内核多Android系统的智能终端显示虚拟化方法
CN111352677A (zh) * 2018-12-20 2020-06-30 青岛海信移动通信技术股份有限公司 应用程序的界面显示方法及终端
CN113721809A (zh) * 2021-09-08 2021-11-30 遨博(江苏)机器人有限公司 一种窗口展示方法及系统
CN114116087A (zh) * 2021-10-09 2022-03-01 维沃移动通信有限公司 双系统间的界面操作方法、装置、电子设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053871A (zh) * 2009-10-28 2011-05-11 中国移动通信集团公司 一种应用程序图像的显示方法和装置
CN105404547A (zh) * 2014-09-12 2016-03-16 阿里巴巴集团控股有限公司 一种操作系统的融合方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053871A (zh) * 2009-10-28 2011-05-11 中国移动通信集团公司 一种应用程序图像的显示方法和装置
CN105404547A (zh) * 2014-09-12 2016-03-16 阿里巴巴集团控股有限公司 一种操作系统的融合方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279963A (zh) * 2018-01-05 2018-07-13 郑州信大捷安信息技术股份有限公司 一种单Linux内核多Android系统的智能终端显示虚拟化方法
CN108279963B (zh) * 2018-01-05 2020-11-20 郑州信大捷安信息技术股份有限公司 一种单Linux内核多Android系统的智能终端显示虚拟化方法
CN111352677A (zh) * 2018-12-20 2020-06-30 青岛海信移动通信技术股份有限公司 应用程序的界面显示方法及终端
CN111352677B (zh) * 2018-12-20 2023-05-09 青岛海信移动通信技术有限公司 应用程序的界面显示方法及终端
CN113721809A (zh) * 2021-09-08 2021-11-30 遨博(江苏)机器人有限公司 一种窗口展示方法及系统
CN113721809B (zh) * 2021-09-08 2023-07-04 遨博(江苏)机器人有限公司 一种窗口展示方法及系统
CN114116087A (zh) * 2021-10-09 2022-03-01 维沃移动通信有限公司 双系统间的界面操作方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN106951249B (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
CN106951249A (zh) 多系统终端设备中窗口的管理方法及多系统终端设备
CN103699372B (zh) 从中央存储装置引导计算机系统
US9223610B2 (en) Management of virtual machine snapshots
CN110175502A (zh) 一种脊柱Cobb角测量方法、装置、可读存储介质及终端设备
US20100083159A1 (en) Segmented progress indicator
US10867582B2 (en) Method and apparatus for generating an image
CN112137591B (zh) 基于视频流的目标物位置检测方法、装置、设备及介质
JP5668078B2 (ja) サーバサイドレンダリング
CN108984137B (zh) 双屏显示方法及其系统、计算机可读存储介质
CN111932562B (zh) 基于ct序列的图像识别方法、装置、电子设备及介质
CN111862096A (zh) 图像分割方法、装置、电子设备及存储介质
KR102186632B1 (ko) 의료 영상의 분석 모델을 학습시키는 학습 장치 및 그 학습 방법
CN108876764A (zh) 渲染图像获取方法、装置、系统和存储介质
CN111752435A (zh) 多媒体和多文件的多媒体实时渲染方法、系统及装置
CN101562005A (zh) 文字显示装置
CN112990374A (zh) 图像分类方法、装置、电子设备及介质
US20180196928A1 (en) Network visualization for access controls
CN112017763A (zh) 医疗影像数据传输方法、装置、设备及介质
JP2021124896A5 (zh)
JP2020184001A (ja) 表示装置、視認性評価方法、及び視対象の大きさ決定方法
CN116091344A (zh) 图像修复方法、装置、非易失性存储介质及电子设备
CN106681868A (zh) 图像数据测试方法及系统
CN115626056A (zh) 车载待显示信息显示管理方法、装置、仪表、设备及介质
CN106569767B (zh) 拼接墙的窗口元素绘制、显示方法和系统
CN113409280A (zh) 医学影像的处理方法、标注方法和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230428

Address after: Room 401, Floor 4, No. 2, Haidian East Third Street, Haidian District, Beijing 100080

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Beijing

Patentee before: YUANXIN TECHNOLOGY