一种窗口管理方法及终端.pdf

上传人:g**** 文档编号:970671 上传时间:2018-03-22 格式:PDF 页数:16 大小:587.01KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010292027.4

申请日:

2010.09.26

公开号:

CN101937317A

公开日:

2011.01.05

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 3/048变更事项:专利权人变更前:北京握奇数据系统有限公司变更后:北京握奇数据股份有限公司变更事项:地址变更前:100015 北京市朝阳区东直门外西八间房万红西街2号燕东商务花园变更后:100015 北京市朝阳区东直门外西八间房万红西街2号燕东商务花园|||授权|||实质审查的生效IPC(主分类):G06F 3/048申请日:20100926|||公开

IPC分类号:

G06F3/048

主分类号:

G06F3/048

申请人:

北京握奇数据系统有限公司

发明人:

钟武; 孙孝文

地址:

100015 北京市朝阳区东直门外西八间房万红西街2号燕东商务花园

优先权:

专利代理机构:

北京中博世达专利商标代理有限公司 11274

代理人:

申健

PDF下载: PDF下载
内容摘要

本发明实施例公开了一种窗口管理方法及终端,涉及图形用户界面技术领域,为降低终端在图像显示过程中的计算消耗,优化图像显示方法而设计。本发明实施例的方法,包括:将第一应用程序窗口的图像数据通过直接存储器访问的方式送至显存进行显示;创建第二应用程序窗口;将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示。本发明实施例还提供一种实现上述方法的终端。本发明实施例用于单个或多个窗口显示。

权利要求书

1: 一种窗口管理方法, 其特征在于, 包括 : 将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示 ; 创建第二应用程序窗口 ; 将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过窗口 系统进行显示。
2: 按照权利要求 1 所述的窗口管理方法, 其特征在于, 在将所述第一应用程序窗口的 图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示之后, 该方法包括 : 当所述第二应用程序窗口结束显示时, 将所述第一应用程序窗口设为顶层窗口 ; 将所述第一应用程序窗口的图像数据通过所述直接存储器访问的方式送至显存进行 显示。
3: 按照权利要求 1 所述的窗口管理方法, 其特征在于, 所述将所述第一应用程序窗口 的图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示, 包括 : 所述第一应用程序窗口的图像数据通过所述窗口系统进行显示 ; 发送第二应用程序窗口重绘消息 ; 接收所述窗口重绘消息, 刷新所述第二应用程序窗口的图像数据并通过所述窗口系统 进行显示。
4: 按照权利要求 1 所述的窗口管理方法, 其特征在于, 在所述将第一应用程序窗口的 图像数据采用直接存储器访问的方式送至显存进行显示之前, 该方法包括 : 接收创建所述第一应用程序窗口的申请消息, 其中, 所述申请消息中包括所述第一应 用程序窗口的显示坐标信息 ; 获取显存地址, 根据所述第一应用程序窗口的显示坐标信息, 计算所述第一应用程序 窗口基于所述显存地址的偏移值, 得到所述第一应用程序窗口对应的显存区域 ; 相应地, 所述将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示, 具体为 : 将所述第一应用程序窗口的图像数据采用直接存储器访问的方式写入显存中所述第 一应用程序窗口对应的所述显存区域进行显示。
5: 按照权利要求 1 所述的窗口管理方法, 其特征在于, 所述第一应用程序为视频播放 系统, 所述将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显 示, 具体为 : 解码视频流获取所述视频播放系统窗口的图像数据, 将所述视频播放系统窗口的图像 数据写入视频缓存区, 将所述视频缓存区中的数据通过直接存储器访问控制器写入所述视 频播放系统窗口对应的显存区域进行显示。
6: 一种终端, 其特征在于, 包括 : 第一窗口显示单元, 用于将所述第一应用程序窗口的图像数据采用直接存储器访问的 方式送至显存进行显示 ; 第二窗口创建单元, 用于创建第二应用程序窗口 ; 多窗口显示单元, 用于在创建所述第二应用程序窗口后, 将所述第一应用程序窗口的 图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示。
7: 按照权利要求 6 所述的终端, 其特征在于, 该终端还包括 : 2 窗口设置单元, 用于将所述第一应用程序窗口设为顶层窗口 ; 其中, 所述第一窗口显示 单元, 还用于在所述第一应用程序窗口设为顶层窗口后, 将所述第一应用程序窗口的图像 数据采用所述直接存储器访问的方式送至显存进行显示。
8: 按照权利要求 6 所述的终端, 其特征在于, 所述多窗口显示单元包括 : 第一窗口模块, 用于将所述第一应用程序窗口的图像数据通过所述窗口系统进行显 示, 并发送第二应用程序窗口重绘消息 ; 第二窗口模块, 用于接收所述窗口重绘消息, 刷新所述第二应用程序窗口的图像数据 并通过所述窗口系统进行显示。
9: 按照权利要求 6 所述的终端, 其特征在于, 所述第一窗口显示单元, 包括 : 窗口申请模块, 用于接收创建所述第一应用程序窗口的申请消息, 其中, 所述申请消息 中包括所述第一应用程序窗口的显示坐标信息 ; 显存分配模块, 用于获取显存地址, 根据所述第一应用程序窗口的显示坐标信息, 计算 所述第一应用程序窗口基于所述显存地址的偏移值, 得到所述第一应用程序窗口对应的显 存区域 ; 数据写入模块, 用于将所述第一应用程序窗口的图像数据采用直接存储器访问的方式 写入显存中所述第一应用程序窗口对应的所述显存区域进行显示。
10: 按照权利要求 6 所述的终端, 其特征在于 : 所述第一应用程序为视频播放系统 ; 其 中, 所述第一窗口显示单元还包括, 数据获取模块, 用于解码视频流获取所述视频播放系统窗口的图像数据。

说明书


一种窗口管理方法及终端

    技术领域 本发明涉及图形用户界面 (GUI, Graphical User Interface) 技术领域, 尤其涉及 一种窗口管理方法及终端。
     背景技术 随着终端产品智能化程度提高和功能趋于多样化, 终端产品存在多任务操作的应 用需求, 因此也存在多任务操作的多窗口的重叠处理需求。
     目前, 一些终端产品在运行一个应用程序时, 该应用程序的窗口不能有其他应用 程序的窗口重叠其上, 这是因为运行该应用程序时由该应用程序直接刷新显示内容, 屏幕 显示图像更新很快, 其他应用程序的窗口即刻被刷新, 甚至不可见。 这对于具有视频播放功 能的终端尤其常见。
     在现有技术中, 还存在一种终端产品, 能够通过终端产品的窗口系统对所有多任 务操作的显示内容进行剪切操作后送至屏幕进行显示, 这样, 能够实现多个应用程序的重 叠显示。 但是, 发明人发现这种窗口管理的技术还存在如下问题 : 窗口系统对多任务操作的
     显示内容进行剪切操作时, 依赖终端产品的微处理器来进行, 这样既耗时又耗微处理器的 处理资源。 发明内容
     本发明的实施例提供一种窗口管理方法及终端, 能够降低终端在图像显示过程中 的计算消耗, 优化图像显示方法。
     为达到上述目的, 本发明的实施例采用如下技术方案 :
     一种窗口管理方法, 包括 :
     将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显 示;
     创建第二应用程序窗口 ;
     将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过 窗口系统进行显示。
     与所述窗口管理方法相对应的, 本发明实施例还提供一种终端, 包括 :
     第一窗口显示单元, 用于将所述第一应用程序窗口的图像数据采用直接存储器访 问的方式送至显存进行显示 ;
     第二窗口创建单元, 用于创建第二应用程序窗口 ;
     多窗口显示单元, 用于将所述第一应用程序窗口的图像数据和所述第二应用程序 窗口的图像数据通过窗口系统进行显示。
     本发明实施例提供的窗口管理方法及终端, 在进行单一窗口显示时, 将第一应用 程序窗口的图像数据通过直接存储器访问的方式送至显存进行显示, 转换为多窗口显示 时, 将多个窗口的图像数据通过窗口系统进行处理后显示。这样, 本发明实施例将图像数据通过窗口系统进行显示和通过直接存储器访问的方式送到显存进行显示相结合, 能够保 证终端在单窗口展示时, 借助直接存储器访问的方式, 将图像数据送到显存从而快速流畅 的显示图像, 避开了微处理器对数据进行计算和处理的时间和资源消耗 ; 转换为多窗口展 示时, 显示图像的方式由 DMA 的方式转换为窗口系统借助微处理器参与图像显示的相关操 作, 从而能够显示多个窗口。 本发明实施例既保证了图像显示效果又减少了计算消耗, 优化 了图像显示的方法。 附图说明 了更清楚地说明本发明实施例中的技术方案, 下面将对实施例中所需要使用的附 图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对于本领域 普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
     图 1 为实施例一窗口管理方法流程图 ;
     图 2 为实施例二窗口管理方法流程图 ;
     图 3 为实施例三单一窗口示意图 ;
     图 4 为实施例三多窗口示意图 ;
     图 5 为实施例三窗口管理方法流程图 ;
     图 6 为实施例四终端示意图 ;
     图 7 为实施例四终端另一示意图。
     具体实施方式
     下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。
     实施例一
     本实施例旨在提供一种窗口管理方法, 能够降低终端在图像显示过程中的计算消 耗, 优化图像显示方法, 参见图 1, 包括如下步骤 :
     101、 将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行 显示。
     其中, 显示于屏幕上的图像, 其在转换为显示图像之前所对应的数据均可以叫做 图像数据。直接存储器访问 (Direct Memory Access) 是一种不经过微处理器而直接从内 存存取数据的数据交换方式, DMA 控制器来处理数据的传送, 这样就很大程度上减轻了微处 理器资源占有率, 可以大大节省系统资源。本实施例中, 图像数据可从数据缓存区通过 DMA 控制器直接写入显存, 显存内的数据通过显示驱动显示在屏幕上。
     102、 创建第二应用程序窗口。
     具体地, 当存在多个窗口需要显示时, 第二应用程序向窗口系统申请创建第二应 用程序窗口, 即申请显存的部分空间来缓存第二应用程序窗口的图像数据, 所述第二应用 程序窗口可以为反映实时状态的应用程序窗口。
     103、 将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示。
     窗口系统接管第一应用程序窗口的图像数据, 通过窗口剪切的方法将第一应用程 序窗口和第二应用程序窗口的图像数据显示在屏幕上。具体地, 窗口系统将第一应用程序 窗口和第二应用程序窗口的图像数据进行剪切, 将进行剪切处理的图像数据写入显存, 通 过显示驱动将第一应用程序窗口和第二应用程序窗口显示在屏幕上。
     本实施例在进行单一窗口显示时, 图像数据通过 DMA 的方式快速而流畅的显示图 像, 当有第二应用程序窗口需要显示时, 通过 DMA 的方式进行显示图像时, 因为 DMA 控制器 的直接刷新操作会使第二应用程序窗口的图像瞬间被更新而使用户不可见该第二应用程 序窗口, 故在转换为多窗口显示时, 图像数据由 DMA 的方式进行显示转化为窗口系统借助 于微处理器对第一应用程序窗口和第二应用程序窗口的图像数据进行剪切处理后进行显 示。
     本实施例所举应用程序并不仅限于两个应用程序, 任何单窗口显示状态转换为多 窗口显示状态的场景, 均可采用本实施例所述方法来进行, 即重复步骤 102 从而创建多个 第二应用程序窗口, 将包括第一应用程序窗口和多个第二应用程序窗口的图像数据由窗口 系统进行剪切处理后显示在屏幕上。 本实施例提供的窗口管理方法, 在进行单一窗口显示时, 单一窗口显示时, 将第一 应用程序窗口的图像数据通过 DMA 方式送至显存进行显示, 转换为多窗口显示时, 将多个 窗口的图像数据通过窗口系统进行处理后显示。这样, 本实施例将图像数据通过窗口系统 进行显示和通过 DMA 方式送到显存进行显示相结合, 能够保证终端在单窗口展示时, 借助 DMA 方式快速流畅的显示图像, 避开了微处理器对数据进行计算和处理的时间和资源消耗 ; 转换为多窗口展示时, 显示图像的方式由 DMA 的方式转换为窗口系统借助微处理器参与图 像显示的相关操作, 从而能够显示多个窗口。本发明实施例既保证了图像显示效果又减少 了计算消耗, 优化了图像显示的方法。
     进一步地, 本实施例在所述第一应用程序窗口的图像数据和所述第二应用程序窗 口的图像数据通过所述窗口系统进行显示之后, 当所述第二应用程序窗口结束显示时, 该 方法包括 :
     104、 将所述第一应用程序窗口设为顶层窗口。
     当终端从多窗口显示进入单窗口显示状态时, 例如当第二应用程序转为后台运行 或关闭时, 终端将所述第一应用程序窗口设为顶层窗口。
     需要说明的是, 终端从多窗口显示进入单窗口显示状态时, 还包括如下情形, 即第 一应用程序转为后台运行或关闭, 终端将所述第二应用程序窗口设为顶层窗口。
     105、 所述第一应用程序窗口的图像数据采用所述直接存储器访问的方式送至显 存进行显示。
     将需要显示单个窗口对应的图像数据, 采用 DMA 方式送至显存进行显示。
     本实施例在多窗口显示切换为单一窗口显示时的方法做了具体说明, 当多窗口显 示切换为单一窗口时, 将需要显示的窗口的图像数据由窗口系统进行管理显示转为采用 DMA 方式送至显存进行直接显示, 以减少微处理器的计算消耗。
     实施例二
     本实施例基于实施例一, 对实施例一做进一步具体说明。 具体地, 参见图 2, 在实施
     例一步骤 101、 将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行 显示之前, 还包括如下步骤 :
     201、 接收创建所述第一应用程序窗口的申请消息, 其中, 所述申请消息中包括所 述第一应用程序窗口的显示坐标信息。
     当终端当前没有播放窗口时, 第一应用程序需通过与窗口系统的接口, 即应用程 序通过一种 API 接口 (Application Programming Interface, 应用程序编程接口 ) 向窗口 系统申请创建一个播放窗口。 其中, 所述申请消息中包含了所需窗口的坐标、 高度和宽度等 信息。
     202、 获取显存地址, 根据所述第一应用程序窗口的显示坐标信息, 计算所述第一 应用程序窗口基于所述显存地址的偏移值, 得到所述第一应用程序窗口对应的显存区域。
     显存地址与屏幕的每个像素相对应, 获取显存地址, 根据申请消息包含的显示坐 标 ( 该坐标为窗口相对于屏幕像素的坐标 ), 计算出该窗口基于显存地址的偏移值, 也即该 窗口在显存区域中的起始地址, 根据窗口的高度和宽度信息可得到所述第一应用窗口相对 应的显存区域。
     相应地, 步骤 101 所述将第一应用程序窗口的图像数据采用直接存储器访问的方 式送至显存进行显示, 具体为 : 203、 将所述第一应用程序窗口的图像数据采用直接存储器访问的方式写入显存 中所述第一应用程序窗口对应的所述显存区域进行显示。
     将第一应用程序的图像数据通过 DMA 控制器直接写入第一应用窗口对应的显存 区域, 通过显示驱动转换为屏幕上的图像。
     相应的, 步骤 102 创建第二应用程序窗口, 具体为 :°
     204、 接收创建所述第二应用程序窗口的申请消息, 其中, 所述申请消息中包括所 述第二应用程序窗口的显示坐标信息。
     205、 根据所述第二应用程序窗口的显示坐标, 计算所述第二应用程序窗口基于所 述显存地址的偏移值, 得到所述第二应用程序窗口对应的显存区域。
     206、 将所述第二应用程序窗口设为顶层窗口。
     将所述第二应用程序窗口设为顶层窗口以向用户及时呈现应用程序的状态信息。
     207、 窗口系统向所述第一应用程序发送事件通知, 通知所述第一应用程序窗口变 为后台窗口。
     相应地, 步骤 103、 将所述第一应用程序窗口的图像数据和所述第二应用程序窗口 的图像数据通过窗口系统进行显示, 包括 :
     208、 所述第一应用程序窗口的图像数据通过所述窗口系统进行显示。
     当第一应用程序接到所述事件通知后, 第一应用程序需通过与窗口系统的接口 ( 一种 API 接口 ) 将所述第一应用程序的图像数据交由窗口系统进行显示处理, 窗口系统对 图像数据进行剪切处理后, 将图像数据写入显存进行显示。所
     209、 发送第二应用程序窗口重绘消息。
     因所述第一应用程序窗口的图像数据在创建所述第二应用程序窗口时, 是采用 DMA 方式送至显存来进行显示的, 即第一应用程序对该程序的窗口直接刷屏, 刷屏过程中 所述第二应用程序窗口的显示图形被破坏, 故当所述第一应用程序窗口的图像数据交由窗
     口系统进行显示处理后, 第一应用程序通过所述窗口系统向第二应用程序发送窗口重绘消 息。
     210、 接收所述窗口重绘消息, 刷新所述第二应用程序窗口的图像数据并通过所述 窗口系统进行显示。
     第二应用程序接收窗口重绘消息, 在窗口重绘事件的触发下, 通过窗口系统, 由窗 口系统对第二应用程序窗口的图像数据进行刷新重绘, 以还原由于第一应用程序直接刷屏 而破坏的第二应用程序窗口显示的内容。
     本实施例是对实施例一的具体说明, 对如何创建窗口系统, 以及单窗口向多窗口 的转化过程做了更为细致详细的描述, 本发明实施例在单窗口显示时, 第一应用程序图像 数据通过 DMA 的方式进行显示, 当有第二应用程序的窗口需要显示时, 第二应用程序所显 示的内容被瞬间刷新, 故将第一和第二应用程序图像数据均交由窗口系统进行剪切处理后 显示, 并且重新绘制第二应用程序窗口, 从而实现多窗口显示, 本实施例既保证了图像显示 效果又减少了计算消耗, 优化了图像显示的方法。
     实施例三
     本实施例以所述第一应用程序为视频播放系统作为举例, 参见图 5, 对窗口管理方 法进行具体说明。 在终端进行视频播放时, 多数情况下是具有图 3 所示的视频播放窗口, 即根窗口 下只有视频播放窗口, 在该种情况下, 窗口管理方法如下 :
     301、 视频播放系统通过与窗口系统的接口向窗口系统申请创建一个视频播放窗 口。
     302、 将视频播放窗口设为可显示, 并通过显示驱动获取显存地址, 根据所述视频 播放窗口的显示坐标, 计算视频播放窗口基于所述显存地址的偏移值, 得到视频播放窗口 对应的显存区域。
     303、 解码视频流获取所述视频播放系统窗口的图像数据。
     视频文件包含了经过压缩存放的视频数据, 视频数据逐流播放形成视频流, 解码 视频流数据即对压缩文件进行解压还原, 将视频数据还原为帧为单位的图像数据。
     304、 将所述视频播放系统窗口的图像数据写入视频缓存区。
     305、 将所述视频缓存区中的数据通过 DMA 控制器写入所述视频播放系统窗口对 应的显存区域进行显示。
     以上步骤为终端只显示视频播放窗口的管理方法, 采用 DMA 控制器刷写图像数 据, 降低了媒体播放、 窗口显示的计算消耗, 优化了视频播放流程, 提高视频的显示帧率。
     当终端在进行视频播放时, 有其他应用程序窗口需要在视频播放窗口叠加时, 即 终端具有图 4 所示的叠加其他应用程序窗口的视频播放窗口, 在该种情况下, 窗口管理方 法如下 :
     306、 创建其他应用程序窗口。
     所述其他应用程序窗口可以为反映实时状态的应用程序窗口, 例如车载单元应用 中的扣费窗口、 余额窗口等。并将所述其他应用程序窗口设为顶层窗口。视频播放系统接 到窗口系统的事件通知, 即其他应用程序窗口被窗口系统置顶。
     307、 所述视频播放系统解码视频流, 将所述视频播放窗口的图像数据通过所述窗
     口系统进行显示。
     308、 向所述其他应用程序发送窗口重绘消息。
     309、 所述其他应用程序接收所述窗口重绘消息, 通过窗口系统刷新所述其他应用 程序窗口的图像数据并通过所述窗口系统进行显示。
     当所述其他应用程序执行完毕时, 所述其他应用程序窗口关闭, 终端只对所述视 频播放窗口进行显示, 在该种情况下, 窗口管理方法如下 :
     310、 将所述视频播放窗口设为顶层窗口。
     视频播放系统收到窗口系统的事件通知, 即所述视频播放窗口置顶通知, 视频播 放窗口由后台状态变为置顶状态。
     311、 所述视频播放窗口的图像数据采用所述直接存储器访问的方式送至显存进 行显示。
     当终端重新回到单一窗口 ( 本实施例中为视频播放窗口 ) 显示时, 该窗口的图像 数据再回到采用 DMA 方式进行显示。
     本实施例所述的窗口管理方式, 特别适用于具有媒体播放功能和及时信息功能的 终端, 能够在有及时信息需要接收时, 借助窗口系统呈现图像数据, 以保证及时信息窗口的 正常显示 ; 同时, 在只有视频播放时, 视频播放系统绕过窗口系统, 将图像数据采用 DMA 方 式进行显示, 保证视频能够流畅地呈现在用户面前。
     实施例四
     与上述方法实施例相对应的, 本实施例还提供了一种用于实现上述方法的终端 1, 参见图 6, 包括 : 第一窗口显示单元 2, 用于将所述第一应用程序窗口的图像数据采用直接 存储器访问的方式送至显存进行显示 ; 第二窗口创建单元 3, 用于创建第二应用程序窗口 ; 多窗口显示单元 4, 用于在创建所述第二应用程序窗口后, 将所述第一应用程序窗口的图像 数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示。
     DMA 方式是一种不经过微处理器而直接从内存存取数据的数据交换方式, DMA 控 制器来处理数据的传送, 这样就很大程度上减轻了微处理器资源占有率, 可以大大节省系 统资源。本实施例中, 第一窗口显示单元将图像数据从数据缓存区通过 DMA 控制器直接写 入显存, 显存内的数据通过显示驱动显示在屏幕上。
     窗口创建单元根据申请创建第二应用程序窗口。之后, 多窗口显示单元使窗口系 统接管第一应用程序窗口的图像数据, 由窗口系统对第一应用程序窗口的图像数据和第二 应用程序窗口的图像数据进行处理后写入显存, 由显示驱动将第一应用程序窗口和第二应 用程序窗口显示在屏幕上。
     本实施例提供的终端, 在进行单一窗口显示时, 第一窗口显示单元将第一应用程 序窗口的图像数据采用 DMA 方式进行显示, 转换为多窗口显示时, 图像数据由 DMA 的方式进 行显示转化为通过窗口系统进行处理后显示。这样, 本实施例将图像数据通过窗口系统进 行显示和通过 DMA 方式送到显存进行显示相结合, 能够保证终端在单窗口展示时, 借助 DMA 方式快速流畅的显示图像, 避开了微处理器对数据进行计算和处理的时间和资源消耗 ; 转 换为多窗口展示时, 显示图像的方式由 DMA 的方式转换为窗口系统借助微处理器参与图像 显示的相关操作, 从而能够显示多个窗口。本发明实施例既保证了图像显示效果又减少了 计算消耗, 优化了图像显示的方法。进一步地, 参见图 7, 所述终端 1 还包括 : 窗口设置单元 5, 用于将所述第一应用程 序窗口设为顶层窗口 ; 其中, 所述第一窗口显示单元, 还用于在所述第一应用程序窗口设为 顶层窗口后, 将所述第一应用程序窗口的图像数据采用所述直接存储器访问的方式送至显 存进行显示。
     当终端从多窗口显示进入单窗口显示状态时, 例如当第二应用程序转为后台运行 或关闭时, 窗口设置单元将所述第一应用程序窗口设为顶层窗口。 需要说明的是, 终端从多 窗口显示进入单窗口显示状态时, 还包括如下情形, 即第一应用程序转为后台运行或关闭, 窗口设置单元将所述第二应用程序窗口设为顶层窗口。 将需要显示单个窗口对应的图像数 据, 通过 DMA 方式进行显示。
     进一步地, 参见图 7, 本实施例所述多窗口显示单元 4 包括 : 第一窗口模块 41, 用于 将所述第一应用程序窗口的图像数据通过所述窗口系统进行显示, 并发送第二应用程序窗 口重绘消息 ; 第二窗口模块 42, 用于接收所述窗口重绘消息, 刷新所述第二应用程序窗口 的图像数据并通过所述窗口系统进行显示。
     当第一应用程序接到第二应用程序窗口设为顶层窗口的事件通知后, 第一窗口模 块将所述第一应用程序的图像数据交由窗口系统进行显示处理, 窗口系统对图像数据进行 剪切处理后, 将图像数据写入显存进行显示。 因所述第一应用程序窗口的图像数据在创建所述第二应用程序窗口时, 是采用 DMA 方式来进行显示的, 刷屏过程中所述第二应用程序窗口的显示图形被破坏, 故当第一窗 口模块将所述第一应用程序窗口的图像数据交由窗口系统进行显示处理后, 第一应用程序 通过窗口系统向第二应用程序发送窗口重绘消息。
     第二应用程序在窗口重绘事件的触发下, 第二窗口模块将第二应用程序窗口的图 像数据交由窗口系统进行刷新重绘, 以还原由于第一应用程序直接刷屏而破坏的第二应用 程序窗口显示的内容。
     进一步地, 参见图 7, 本实施例所述第一窗口显示单元 2, 包括 : 窗口申请模块 21, 用于接收创建所述第一应用程序窗口的申请消息, 其中, 所述申请消息中包括所述第一应 用程序窗口的显示坐标信息 ; 显存分配模块 22, 用于获取显存地址, 根据所述第一应用程 序窗口的显示坐标信息, 计算所述第一应用程序窗口基于所述显存地址的偏移值, 得到所 述第一应用程序窗口对应的显存区域 ; 数据写入模块 23, 用于将所述第一应用程序窗口的 图像数据采用直接存储器访问的方式送至显存写入显存中所述第一应用程序窗口对应的 所述显存区域进行显示。
     当终端当前没有播放窗口时, 窗口申请模块通过与窗口系统的接口, 向窗口系统 申请创建一个播放窗口。其中, 所述申请消息中包含了所需窗口的坐标、 高度和宽度等信 息。 显存地址与屏幕的每个像素相对应, 显存分配模块获取显存地址, 根据申请消息包含的 显示坐标 ( 该坐标为窗口相对于屏幕像素的坐标 ), 计算出该窗口基于显存地址的偏移值, 也即该窗口在显存区域中的起始地址, 根据窗口的高度和宽度信息可得到所述第一应用窗 口相对应的显存区域。数据写入模块将第一应用程序的图像数据通过 DMA 控制器直接写入 第一应用窗口对应的显存区域, 通过显示驱动转换为屏幕上的图像。
     本实施例所述第一应用程序为视频播放系统。故进一步地, 所述第一窗口显示单 元还包括 : 数据获取模块, 用于解码视频流获取所述视频播放系统窗口的图像数据。
     视频文件包含了经过压缩存放的视频数据, 视频数据逐流播放形成视频流, 数据 获取模块对压缩文件进行解压还原, 将视频数据还原为帧为单位的图像数据。
     本实施例所述的终端, 特别适用于具有媒体播放功能和及时信息功能的终端, 能 够在有及时信息需要接收时, 借助窗口系统呈现图像数据, 以保证及时信息窗口的正常显 示; 同时, 在只有视频播放时, 视频播放系统绕过窗口系统, 将图像数据采用 DMA 方式进行 显示, 保证视频能够流畅地呈现在用户面前。
     通过以上的实施方式的描述, 本领域的技术人员可以清楚地了解到本发明可以通 过硬件实现, 也可以借助软件加必要的硬件平台的方式来实现。 基于这样的理解, 本发明的 技术方案可以以软件产品的形式体现出来, 包括若干指令用以终端执行本发明各个实施例 上述的方法。
     本领域技术人员可以理解附图只是一个优选实施例的示意图, 附图中的模块或流 程并不一定是实施本发明所必须的。
     本领域技术人员可以理解实施例终端中的单元和模块可以按照实施例描述分布 于终端中。上述实施例的模块可以合并为一个模块, 也可以进一步拆分成多个子模块。
     上述本发明实施例序号仅仅为了描述, 不代表实施例的优劣。
     以上公开的仅为本发明的几个具体实施例, 但是, 本发明并非局限于此, 任何本领 域的技术人员能思之的变化都应落入本发明的保护范围。

一种窗口管理方法及终端.pdf_第1页
第1页 / 共16页
一种窗口管理方法及终端.pdf_第2页
第2页 / 共16页
一种窗口管理方法及终端.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《一种窗口管理方法及终端.pdf》由会员分享,可在线阅读,更多相关《一种窗口管理方法及终端.pdf(16页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101937317A43申请公布日20110105CN101937317ACN101937317A21申请号201010292027422申请日20100926G06F3/04820060171申请人北京握奇数据系统有限公司地址100015北京市朝阳区东直门外西八间房万红西街2号燕东商务花园72发明人钟武孙孝文74专利代理机构北京中博世达专利商标代理有限公司11274代理人申健54发明名称一种窗口管理方法及终端57摘要本发明实施例公开了一种窗口管理方法及终端,涉及图形用户界面技术领域,为降低终端在图像显示过程中的计算消耗,优化图像显示方法而设计。本发明实施例的方法,包括将第一。

2、应用程序窗口的图像数据通过直接存储器访问的方式送至显存进行显示;创建第二应用程序窗口;将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示。本发明实施例还提供一种实现上述方法的终端。本发明实施例用于单个或多个窗口显示。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书8页附图5页CN101937318A1/2页21一种窗口管理方法,其特征在于,包括将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示;创建第二应用程序窗口;将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示。2按照权。

3、利要求1所述的窗口管理方法,其特征在于,在将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示之后,该方法包括当所述第二应用程序窗口结束显示时,将所述第一应用程序窗口设为顶层窗口;将所述第一应用程序窗口的图像数据通过所述直接存储器访问的方式送至显存进行显示。3按照权利要求1所述的窗口管理方法,其特征在于,所述将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示,包括所述第一应用程序窗口的图像数据通过所述窗口系统进行显示;发送第二应用程序窗口重绘消息;接收所述窗口重绘消息,刷新所述第二应用程序窗口的图像数据并通过所述窗口系统进行显示。

4、。4按照权利要求1所述的窗口管理方法,其特征在于,在所述将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示之前,该方法包括接收创建所述第一应用程序窗口的申请消息,其中,所述申请消息中包括所述第一应用程序窗口的显示坐标信息;获取显存地址,根据所述第一应用程序窗口的显示坐标信息,计算所述第一应用程序窗口基于所述显存地址的偏移值,得到所述第一应用程序窗口对应的显存区域;相应地,所述将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示,具体为将所述第一应用程序窗口的图像数据采用直接存储器访问的方式写入显存中所述第一应用程序窗口对应的所述显存区域进行显示。5按照权利要求。

5、1所述的窗口管理方法,其特征在于,所述第一应用程序为视频播放系统,所述将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示,具体为解码视频流获取所述视频播放系统窗口的图像数据,将所述视频播放系统窗口的图像数据写入视频缓存区,将所述视频缓存区中的数据通过直接存储器访问控制器写入所述视频播放系统窗口对应的显存区域进行显示。6一种终端,其特征在于,包括第一窗口显示单元,用于将所述第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示;第二窗口创建单元,用于创建第二应用程序窗口;多窗口显示单元,用于在创建所述第二应用程序窗口后,将所述第一应用程序窗口的图像数据和所述第二应用。

6、程序窗口的图像数据通过窗口系统进行显示。7按照权利要求6所述的终端,其特征在于,该终端还包括权利要求书CN101937317ACN101937318A2/2页3窗口设置单元,用于将所述第一应用程序窗口设为顶层窗口;其中,所述第一窗口显示单元,还用于在所述第一应用程序窗口设为顶层窗口后,将所述第一应用程序窗口的图像数据采用所述直接存储器访问的方式送至显存进行显示。8按照权利要求6所述的终端,其特征在于,所述多窗口显示单元包括第一窗口模块,用于将所述第一应用程序窗口的图像数据通过所述窗口系统进行显示,并发送第二应用程序窗口重绘消息;第二窗口模块,用于接收所述窗口重绘消息,刷新所述第二应用程序窗口的。

7、图像数据并通过所述窗口系统进行显示。9按照权利要求6所述的终端,其特征在于,所述第一窗口显示单元,包括窗口申请模块,用于接收创建所述第一应用程序窗口的申请消息,其中,所述申请消息中包括所述第一应用程序窗口的显示坐标信息;显存分配模块,用于获取显存地址,根据所述第一应用程序窗口的显示坐标信息,计算所述第一应用程序窗口基于所述显存地址的偏移值,得到所述第一应用程序窗口对应的显存区域;数据写入模块,用于将所述第一应用程序窗口的图像数据采用直接存储器访问的方式写入显存中所述第一应用程序窗口对应的所述显存区域进行显示。10按照权利要求6所述的终端,其特征在于所述第一应用程序为视频播放系统;其中,所述第一。

8、窗口显示单元还包括,数据获取模块,用于解码视频流获取所述视频播放系统窗口的图像数据。权利要求书CN101937317ACN101937318A1/8页4一种窗口管理方法及终端技术领域0001本发明涉及图形用户界面GUI,GRAPHICALUSERINTERFACE技术领域,尤其涉及一种窗口管理方法及终端。背景技术0002随着终端产品智能化程度提高和功能趋于多样化,终端产品存在多任务操作的应用需求,因此也存在多任务操作的多窗口的重叠处理需求。0003目前,一些终端产品在运行一个应用程序时,该应用程序的窗口不能有其他应用程序的窗口重叠其上,这是因为运行该应用程序时由该应用程序直接刷新显示内容,屏幕。

9、显示图像更新很快,其他应用程序的窗口即刻被刷新,甚至不可见。这对于具有视频播放功能的终端尤其常见。0004在现有技术中,还存在一种终端产品,能够通过终端产品的窗口系统对所有多任务操作的显示内容进行剪切操作后送至屏幕进行显示,这样,能够实现多个应用程序的重叠显示。但是,发明人发现这种窗口管理的技术还存在如下问题窗口系统对多任务操作的显示内容进行剪切操作时,依赖终端产品的微处理器来进行,这样既耗时又耗微处理器的处理资源。发明内容0005本发明的实施例提供一种窗口管理方法及终端,能够降低终端在图像显示过程中的计算消耗,优化图像显示方法。0006为达到上述目的,本发明的实施例采用如下技术方案0007一。

10、种窗口管理方法,包括0008将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示;0009创建第二应用程序窗口;0010将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示。0011与所述窗口管理方法相对应的,本发明实施例还提供一种终端,包括0012第一窗口显示单元,用于将所述第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示;0013第二窗口创建单元,用于创建第二应用程序窗口;0014多窗口显示单元,用于将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示。0015本发明实施例提供的窗口管理方法及。

11、终端,在进行单一窗口显示时,将第一应用程序窗口的图像数据通过直接存储器访问的方式送至显存进行显示,转换为多窗口显示时,将多个窗口的图像数据通过窗口系统进行处理后显示。这样,本发明实施例将图像数说明书CN101937317ACN101937318A2/8页5据通过窗口系统进行显示和通过直接存储器访问的方式送到显存进行显示相结合,能够保证终端在单窗口展示时,借助直接存储器访问的方式,将图像数据送到显存从而快速流畅的显示图像,避开了微处理器对数据进行计算和处理的时间和资源消耗;转换为多窗口展示时,显示图像的方式由DMA的方式转换为窗口系统借助微处理器参与图像显示的相关操作,从而能够显示多个窗口。本发。

12、明实施例既保证了图像显示效果又减少了计算消耗,优化了图像显示的方法。附图说明0016了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。0017图1为实施例一窗口管理方法流程图;0018图2为实施例二窗口管理方法流程图;0019图3为实施例三单一窗口示意图;0020图4为实施例三多窗口示意图;0021图5为实施例三窗口管理方法流程图;0022图6为实施例四终端示意图;0023图7为实施例四终端另一示意图。具体实施方式0。

13、024下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0025实施例一0026本实施例旨在提供一种窗口管理方法,能够降低终端在图像显示过程中的计算消耗,优化图像显示方法,参见图1,包括如下步骤0027101、将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示。0028其中,显示于屏幕上的图像,其在转换为显示图像之前所对应的数据均可以叫做图像数据。直接存储器访问DIRE。

14、CTMEMORYACCESS是一种不经过微处理器而直接从内存存取数据的数据交换方式,DMA控制器来处理数据的传送,这样就很大程度上减轻了微处理器资源占有率,可以大大节省系统资源。本实施例中,图像数据可从数据缓存区通过DMA控制器直接写入显存,显存内的数据通过显示驱动显示在屏幕上。0029102、创建第二应用程序窗口。0030具体地,当存在多个窗口需要显示时,第二应用程序向窗口系统申请创建第二应用程序窗口,即申请显存的部分空间来缓存第二应用程序窗口的图像数据,所述第二应用程序窗口可以为反映实时状态的应用程序窗口。0031103、将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据说明。

15、书CN101937317ACN101937318A3/8页6通过窗口系统进行显示。0032窗口系统接管第一应用程序窗口的图像数据,通过窗口剪切的方法将第一应用程序窗口和第二应用程序窗口的图像数据显示在屏幕上。具体地,窗口系统将第一应用程序窗口和第二应用程序窗口的图像数据进行剪切,将进行剪切处理的图像数据写入显存,通过显示驱动将第一应用程序窗口和第二应用程序窗口显示在屏幕上。0033本实施例在进行单一窗口显示时,图像数据通过DMA的方式快速而流畅的显示图像,当有第二应用程序窗口需要显示时,通过DMA的方式进行显示图像时,因为DMA控制器的直接刷新操作会使第二应用程序窗口的图像瞬间被更新而使用户不。

16、可见该第二应用程序窗口,故在转换为多窗口显示时,图像数据由DMA的方式进行显示转化为窗口系统借助于微处理器对第一应用程序窗口和第二应用程序窗口的图像数据进行剪切处理后进行显示。0034本实施例所举应用程序并不仅限于两个应用程序,任何单窗口显示状态转换为多窗口显示状态的场景,均可采用本实施例所述方法来进行,即重复步骤102从而创建多个第二应用程序窗口,将包括第一应用程序窗口和多个第二应用程序窗口的图像数据由窗口系统进行剪切处理后显示在屏幕上。0035本实施例提供的窗口管理方法,在进行单一窗口显示时,单一窗口显示时,将第一应用程序窗口的图像数据通过DMA方式送至显存进行显示,转换为多窗口显示时,将。

17、多个窗口的图像数据通过窗口系统进行处理后显示。这样,本实施例将图像数据通过窗口系统进行显示和通过DMA方式送到显存进行显示相结合,能够保证终端在单窗口展示时,借助DMA方式快速流畅的显示图像,避开了微处理器对数据进行计算和处理的时间和资源消耗;转换为多窗口展示时,显示图像的方式由DMA的方式转换为窗口系统借助微处理器参与图像显示的相关操作,从而能够显示多个窗口。本发明实施例既保证了图像显示效果又减少了计算消耗,优化了图像显示的方法。0036进一步地,本实施例在所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过所述窗口系统进行显示之后,当所述第二应用程序窗口结束显示时,该方法包括。

18、0037104、将所述第一应用程序窗口设为顶层窗口。0038当终端从多窗口显示进入单窗口显示状态时,例如当第二应用程序转为后台运行或关闭时,终端将所述第一应用程序窗口设为顶层窗口。0039需要说明的是,终端从多窗口显示进入单窗口显示状态时,还包括如下情形,即第一应用程序转为后台运行或关闭,终端将所述第二应用程序窗口设为顶层窗口。0040105、所述第一应用程序窗口的图像数据采用所述直接存储器访问的方式送至显存进行显示。0041将需要显示单个窗口对应的图像数据,采用DMA方式送至显存进行显示。0042本实施例在多窗口显示切换为单一窗口显示时的方法做了具体说明,当多窗口显示切换为单一窗口时,将需要。

19、显示的窗口的图像数据由窗口系统进行管理显示转为采用DMA方式送至显存进行直接显示,以减少微处理器的计算消耗。0043实施例二0044本实施例基于实施例一,对实施例一做进一步具体说明。具体地,参见图2,在实施说明书CN101937317ACN101937318A4/8页7例一步骤101、将第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示之前,还包括如下步骤0045201、接收创建所述第一应用程序窗口的申请消息,其中,所述申请消息中包括所述第一应用程序窗口的显示坐标信息。0046当终端当前没有播放窗口时,第一应用程序需通过与窗口系统的接口,即应用程序通过一种API接口APPLIC。

20、ATIONPROGRAMMINGINTERFACE,应用程序编程接口向窗口系统申请创建一个播放窗口。其中,所述申请消息中包含了所需窗口的坐标、高度和宽度等信息。0047202、获取显存地址,根据所述第一应用程序窗口的显示坐标信息,计算所述第一应用程序窗口基于所述显存地址的偏移值,得到所述第一应用程序窗口对应的显存区域。0048显存地址与屏幕的每个像素相对应,获取显存地址,根据申请消息包含的显示坐标该坐标为窗口相对于屏幕像素的坐标,计算出该窗口基于显存地址的偏移值,也即该窗口在显存区域中的起始地址,根据窗口的高度和宽度信息可得到所述第一应用窗口相对应的显存区域。0049相应地,步骤101所述将第。

21、一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示,具体为0050203、将所述第一应用程序窗口的图像数据采用直接存储器访问的方式写入显存中所述第一应用程序窗口对应的所述显存区域进行显示。0051将第一应用程序的图像数据通过DMA控制器直接写入第一应用窗口对应的显存区域,通过显示驱动转换为屏幕上的图像。0052相应的,步骤102创建第二应用程序窗口,具体为0053204、接收创建所述第二应用程序窗口的申请消息,其中,所述申请消息中包括所述第二应用程序窗口的显示坐标信息。0054205、根据所述第二应用程序窗口的显示坐标,计算所述第二应用程序窗口基于所述显存地址的偏移值,得到所述第。

22、二应用程序窗口对应的显存区域。0055206、将所述第二应用程序窗口设为顶层窗口。0056将所述第二应用程序窗口设为顶层窗口以向用户及时呈现应用程序的状态信息。0057207、窗口系统向所述第一应用程序发送事件通知,通知所述第一应用程序窗口变为后台窗口。0058相应地,步骤103、将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示,包括0059208、所述第一应用程序窗口的图像数据通过所述窗口系统进行显示。0060当第一应用程序接到所述事件通知后,第一应用程序需通过与窗口系统的接口一种API接口将所述第一应用程序的图像数据交由窗口系统进行显示处理,窗口系统对图。

23、像数据进行剪切处理后,将图像数据写入显存进行显示。所0061209、发送第二应用程序窗口重绘消息。0062因所述第一应用程序窗口的图像数据在创建所述第二应用程序窗口时,是采用DMA方式送至显存来进行显示的,即第一应用程序对该程序的窗口直接刷屏,刷屏过程中所述第二应用程序窗口的显示图形被破坏,故当所述第一应用程序窗口的图像数据交由窗说明书CN101937317ACN101937318A5/8页8口系统进行显示处理后,第一应用程序通过所述窗口系统向第二应用程序发送窗口重绘消息。0063210、接收所述窗口重绘消息,刷新所述第二应用程序窗口的图像数据并通过所述窗口系统进行显示。0064第二应用程序接。

24、收窗口重绘消息,在窗口重绘事件的触发下,通过窗口系统,由窗口系统对第二应用程序窗口的图像数据进行刷新重绘,以还原由于第一应用程序直接刷屏而破坏的第二应用程序窗口显示的内容。0065本实施例是对实施例一的具体说明,对如何创建窗口系统,以及单窗口向多窗口的转化过程做了更为细致详细的描述,本发明实施例在单窗口显示时,第一应用程序图像数据通过DMA的方式进行显示,当有第二应用程序的窗口需要显示时,第二应用程序所显示的内容被瞬间刷新,故将第一和第二应用程序图像数据均交由窗口系统进行剪切处理后显示,并且重新绘制第二应用程序窗口,从而实现多窗口显示,本实施例既保证了图像显示效果又减少了计算消耗,优化了图像显。

25、示的方法。0066实施例三0067本实施例以所述第一应用程序为视频播放系统作为举例,参见图5,对窗口管理方法进行具体说明。0068在终端进行视频播放时,多数情况下是具有图3所示的视频播放窗口,即根窗口下只有视频播放窗口,在该种情况下,窗口管理方法如下0069301、视频播放系统通过与窗口系统的接口向窗口系统申请创建一个视频播放窗口。0070302、将视频播放窗口设为可显示,并通过显示驱动获取显存地址,根据所述视频播放窗口的显示坐标,计算视频播放窗口基于所述显存地址的偏移值,得到视频播放窗口对应的显存区域。0071303、解码视频流获取所述视频播放系统窗口的图像数据。0072视频文件包含了经过压。

26、缩存放的视频数据,视频数据逐流播放形成视频流,解码视频流数据即对压缩文件进行解压还原,将视频数据还原为帧为单位的图像数据。0073304、将所述视频播放系统窗口的图像数据写入视频缓存区。0074305、将所述视频缓存区中的数据通过DMA控制器写入所述视频播放系统窗口对应的显存区域进行显示。0075以上步骤为终端只显示视频播放窗口的管理方法,采用DMA控制器刷写图像数据,降低了媒体播放、窗口显示的计算消耗,优化了视频播放流程,提高视频的显示帧率。0076当终端在进行视频播放时,有其他应用程序窗口需要在视频播放窗口叠加时,即终端具有图4所示的叠加其他应用程序窗口的视频播放窗口,在该种情况下,窗口管。

27、理方法如下0077306、创建其他应用程序窗口。0078所述其他应用程序窗口可以为反映实时状态的应用程序窗口,例如车载单元应用中的扣费窗口、余额窗口等。并将所述其他应用程序窗口设为顶层窗口。视频播放系统接到窗口系统的事件通知,即其他应用程序窗口被窗口系统置顶。0079307、所述视频播放系统解码视频流,将所述视频播放窗口的图像数据通过所述窗说明书CN101937317ACN101937318A6/8页9口系统进行显示。0080308、向所述其他应用程序发送窗口重绘消息。0081309、所述其他应用程序接收所述窗口重绘消息,通过窗口系统刷新所述其他应用程序窗口的图像数据并通过所述窗口系统进行显示。

28、。0082当所述其他应用程序执行完毕时,所述其他应用程序窗口关闭,终端只对所述视频播放窗口进行显示,在该种情况下,窗口管理方法如下0083310、将所述视频播放窗口设为顶层窗口。0084视频播放系统收到窗口系统的事件通知,即所述视频播放窗口置顶通知,视频播放窗口由后台状态变为置顶状态。0085311、所述视频播放窗口的图像数据采用所述直接存储器访问的方式送至显存进行显示。0086当终端重新回到单一窗口本实施例中为视频播放窗口显示时,该窗口的图像数据再回到采用DMA方式进行显示。0087本实施例所述的窗口管理方式,特别适用于具有媒体播放功能和及时信息功能的终端,能够在有及时信息需要接收时,借助窗。

29、口系统呈现图像数据,以保证及时信息窗口的正常显示;同时,在只有视频播放时,视频播放系统绕过窗口系统,将图像数据采用DMA方式进行显示,保证视频能够流畅地呈现在用户面前。0088实施例四0089与上述方法实施例相对应的,本实施例还提供了一种用于实现上述方法的终端1,参见图6,包括第一窗口显示单元2,用于将所述第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存进行显示;第二窗口创建单元3,用于创建第二应用程序窗口;多窗口显示单元4,用于在创建所述第二应用程序窗口后,将所述第一应用程序窗口的图像数据和所述第二应用程序窗口的图像数据通过窗口系统进行显示。0090DMA方式是一种不经过微处理器而。

30、直接从内存存取数据的数据交换方式,DMA控制器来处理数据的传送,这样就很大程度上减轻了微处理器资源占有率,可以大大节省系统资源。本实施例中,第一窗口显示单元将图像数据从数据缓存区通过DMA控制器直接写入显存,显存内的数据通过显示驱动显示在屏幕上。0091窗口创建单元根据申请创建第二应用程序窗口。之后,多窗口显示单元使窗口系统接管第一应用程序窗口的图像数据,由窗口系统对第一应用程序窗口的图像数据和第二应用程序窗口的图像数据进行处理后写入显存,由显示驱动将第一应用程序窗口和第二应用程序窗口显示在屏幕上。0092本实施例提供的终端,在进行单一窗口显示时,第一窗口显示单元将第一应用程序窗口的图像数据采。

31、用DMA方式进行显示,转换为多窗口显示时,图像数据由DMA的方式进行显示转化为通过窗口系统进行处理后显示。这样,本实施例将图像数据通过窗口系统进行显示和通过DMA方式送到显存进行显示相结合,能够保证终端在单窗口展示时,借助DMA方式快速流畅的显示图像,避开了微处理器对数据进行计算和处理的时间和资源消耗;转换为多窗口展示时,显示图像的方式由DMA的方式转换为窗口系统借助微处理器参与图像显示的相关操作,从而能够显示多个窗口。本发明实施例既保证了图像显示效果又减少了计算消耗,优化了图像显示的方法。说明书CN101937317ACN101937318A7/8页100093进一步地,参见图7,所述终端1。

32、还包括窗口设置单元5,用于将所述第一应用程序窗口设为顶层窗口;其中,所述第一窗口显示单元,还用于在所述第一应用程序窗口设为顶层窗口后,将所述第一应用程序窗口的图像数据采用所述直接存储器访问的方式送至显存进行显示。0094当终端从多窗口显示进入单窗口显示状态时,例如当第二应用程序转为后台运行或关闭时,窗口设置单元将所述第一应用程序窗口设为顶层窗口。需要说明的是,终端从多窗口显示进入单窗口显示状态时,还包括如下情形,即第一应用程序转为后台运行或关闭,窗口设置单元将所述第二应用程序窗口设为顶层窗口。将需要显示单个窗口对应的图像数据,通过DMA方式进行显示。0095进一步地,参见图7,本实施例所述多窗。

33、口显示单元4包括第一窗口模块41,用于将所述第一应用程序窗口的图像数据通过所述窗口系统进行显示,并发送第二应用程序窗口重绘消息;第二窗口模块42,用于接收所述窗口重绘消息,刷新所述第二应用程序窗口的图像数据并通过所述窗口系统进行显示。0096当第一应用程序接到第二应用程序窗口设为顶层窗口的事件通知后,第一窗口模块将所述第一应用程序的图像数据交由窗口系统进行显示处理,窗口系统对图像数据进行剪切处理后,将图像数据写入显存进行显示。0097因所述第一应用程序窗口的图像数据在创建所述第二应用程序窗口时,是采用DMA方式来进行显示的,刷屏过程中所述第二应用程序窗口的显示图形被破坏,故当第一窗口模块将所述。

34、第一应用程序窗口的图像数据交由窗口系统进行显示处理后,第一应用程序通过窗口系统向第二应用程序发送窗口重绘消息。0098第二应用程序在窗口重绘事件的触发下,第二窗口模块将第二应用程序窗口的图像数据交由窗口系统进行刷新重绘,以还原由于第一应用程序直接刷屏而破坏的第二应用程序窗口显示的内容。0099进一步地,参见图7,本实施例所述第一窗口显示单元2,包括窗口申请模块21,用于接收创建所述第一应用程序窗口的申请消息,其中,所述申请消息中包括所述第一应用程序窗口的显示坐标信息;显存分配模块22,用于获取显存地址,根据所述第一应用程序窗口的显示坐标信息,计算所述第一应用程序窗口基于所述显存地址的偏移值,得。

35、到所述第一应用程序窗口对应的显存区域;数据写入模块23,用于将所述第一应用程序窗口的图像数据采用直接存储器访问的方式送至显存写入显存中所述第一应用程序窗口对应的所述显存区域进行显示。0100当终端当前没有播放窗口时,窗口申请模块通过与窗口系统的接口,向窗口系统申请创建一个播放窗口。其中,所述申请消息中包含了所需窗口的坐标、高度和宽度等信息。显存地址与屏幕的每个像素相对应,显存分配模块获取显存地址,根据申请消息包含的显示坐标该坐标为窗口相对于屏幕像素的坐标,计算出该窗口基于显存地址的偏移值,也即该窗口在显存区域中的起始地址,根据窗口的高度和宽度信息可得到所述第一应用窗口相对应的显存区域。数据写入。

36、模块将第一应用程序的图像数据通过DMA控制器直接写入第一应用窗口对应的显存区域,通过显示驱动转换为屏幕上的图像。0101本实施例所述第一应用程序为视频播放系统。故进一步地,所述第一窗口显示单元还包括数据获取模块,用于解码视频流获取所述视频播放系统窗口的图像数据。说明书CN101937317ACN101937318A8/8页110102视频文件包含了经过压缩存放的视频数据,视频数据逐流播放形成视频流,数据获取模块对压缩文件进行解压还原,将视频数据还原为帧为单位的图像数据。0103本实施例所述的终端,特别适用于具有媒体播放功能和及时信息功能的终端,能够在有及时信息需要接收时,借助窗口系统呈现图像数。

37、据,以保证及时信息窗口的正常显示;同时,在只有视频播放时,视频播放系统绕过窗口系统,将图像数据采用DMA方式进行显示,保证视频能够流畅地呈现在用户面前。0104通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,包括若干指令用以终端执行本发明各个实施例上述的方法。0105本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。0106本领域技术人员可以理解实施例终端中的单元和模块可以按照实施例描述分布于终端中。上述。

38、实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。0107上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。0108以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。说明书CN101937317ACN101937318A1/5页12图1说明书附图CN101937317ACN101937318A2/5页13图2说明书附图CN101937317ACN101937318A3/5页14图3图4说明书附图CN101937317ACN101937318A4/5页15图5说明书附图CN101937317ACN101937318A5/5页16图6图7说明书附图CN101937317A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1