CN113467666B - 一种调整应用窗口的方法和装置 - Google Patents

一种调整应用窗口的方法和装置 Download PDF

Info

Publication number
CN113467666B
CN113467666B CN202111036072.8A CN202111036072A CN113467666B CN 113467666 B CN113467666 B CN 113467666B CN 202111036072 A CN202111036072 A CN 202111036072A CN 113467666 B CN113467666 B CN 113467666B
Authority
CN
China
Prior art keywords
application window
window
adjustment
current application
adjusted
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.)
Active
Application number
CN202111036072.8A
Other languages
English (en)
Other versions
CN113467666A (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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing Jingling Information System Technology Co Ltd
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 Beijing Jingling Information System Technology Co Ltd filed Critical Beijing Jingling Information System Technology Co Ltd
Priority to CN202111036072.8A priority Critical patent/CN113467666B/zh
Publication of CN113467666A publication Critical patent/CN113467666A/zh
Application granted granted Critical
Publication of CN113467666B publication Critical patent/CN113467666B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供一种调整应用窗口的方法和装置,该方法包括:接收窗口管理器发送的对当前应用窗口的调整指令;对当前应用窗口进行第一调整,获取第一调整后的当前应用窗口;根据所述当前应用窗口的第一调整对关联界面进行第二调整,获取第二调整后的关联界面,其中,所述当前应用窗口与所述关联界面为合成关系,所述第一调整与第二调整为对应关系;将所述第一调整后的当前应用窗口与所述第二调整后的关联界面发送至所述窗口管理器,调用所述窗口管理器对所述第一调整后的当前应用窗口与所述第二调整后的关联界面进行合成,得到合成后的应用窗口。本发明实现了应用窗口能够按照自身的调整策略或***推荐方向进行调整的功能。

Description

一种调整应用窗口的方法和装置
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种调整应用窗口的方法和装置。
背景技术
移动操作***(比如:Android、iOS)可以支持应用的UI(用户界面)随设备方向自动调整。
发明内容
本发明实施例提供一种调整应用窗口的方法和装置,实现了应用窗口能够按照自身的调整策略或***推荐方向进行调整的功能。
第一方面,本发明实施例提供一种调整应用窗口的方法,所述方法包括:
接收窗口管理器发送的对当前应用窗口的调整指令;
对当前应用窗口进行第一调整,获取第一调整后的当前应用窗口;
根据所述当前应用窗口的第一调整对关联界面进行第二调整,获取第二调整后的关联界面,其中,所述当前应用窗口与所述关联界面为合成关系,所述第一调整与第二调整为对应关系;
将所述第一调整后的当前应用窗口与所述第二调整后的关联界面发送至所述窗口管理器,调用所述窗口管理器对所述第一调整后的当前应用窗口与所述第二调整后的关联界面进行合成,得到合成后的应用窗口。
根据本发明提供的调整应用窗口的方法,所述方法还包括:
通过所述窗口管理器将所述合成后的应用窗口与显示侧进行适配,并在显示侧进行显示。
根据本发明提供的调整应用窗口的方法,所述接收窗口管理器发送的对当前应用窗口的调整指令之前,包括:
生成应用窗口对应的窗口描述和协议接口;
将所述应用窗口的窗口描述和协议接口进行绑定,通过所述协议接口向所述窗口管理器上报所述应用窗口支持的调整方向列表,以使所述窗口管理器对所述调整方向列表进行保存。
根据本发明提供的调整应用窗口的方法,所述对当前应用窗口进行第一调整,具体包括:对当前应用窗口进行第一尺寸调整;
根据所述当前应用窗口的第一调整对关联界面进行第二调整,具体包括:根据所述当前应用窗口的第一尺寸调整,对关联界面进行对应的第二尺寸调整。
根据本发明提供的调整应用窗口的方法,所述对当前应用窗口进行第一调整,具体包括:对当前应用窗口进行第一旋转调整;
根据所述当前应用窗口的第一调整对关联界面进行第二调整,具体包括:根据所述当前应用窗口的第一旋转调整,对关联界面进行对应的第二旋转调整。
根据本发明提供的调整应用窗口的方法,所述窗口管理器包括与所述显示侧的显示区域对应的画布区域;
所述调用所述窗口管理器对所述第一调整后的当前应用窗口与所述第二调整后的关联界面进行合成,得到合成后的应用窗口,包括:
调用所述窗口管理器对所述第一调整后的当前应用窗口与所述第二调整后的关联界面进行合成,得到初始应用窗口;
调用所述窗口管理器根据所述初始应用窗口的尺寸以及所述画布区域的尺寸,对所述初始应用窗口进行对应的旋转操作,得到合成后的应用窗口。
根据本发明提供的调整应用窗口的方法,在所述得到合成后的应用窗口之后,所述方法还包括:
根据所述合成后的应用窗口,调用所述窗口管理器对输入设备在所述显示区域的坐标系进行对应的方向调整。
第二方面,本发明实施例提供了一种调整应用窗口的装置,设置于应用端,所述装置包括:接收模块、第一调整模块、第二调整模块以及合成模块。其中,接收模块,用于接收窗口管理器发送的对当前应用窗口的调整指令;第一调整模块,用于对当前应用窗口进行第一调整,获取第一调整后的当前应用窗口;第二调整模块,用于根据所述当前应用窗口的第一调整对关联界面进行第二调整,获取第二调整后的关联界面,其中,所述当前应用窗口与所述关联界面为合成关系,所述第一调整与第二调整为对应关系;合成模块,用于将所述第一调整后的当前应用窗口与所述第二调整后的关联界面发送至所述窗口管理器,调用所述窗口管理器对所述第一调整后的当前应用窗口与所述第二调整后的关联界面进行合成,得到合成后的应用窗口。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一项所述调整应用窗口的方法的步骤。
第四方面,本发明实施例提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一项所述调整应用窗口的方法的步骤。
本发明实施例提供的一种调整应用窗口的方法和装置,将窗口管理器接收到的应用窗口调整的指令发送至应用端,应用端接收到指令后对应用端当前打开的窗口进行第一调整,获取调整后的当前应用窗口,依据当前应用窗口的第一调整对关联界面进行第二调整,获取调整后的关联界面,当前应用窗口和关联界面是合成的关系,第一调整和第二调整为对应关系,进行第一调整和第二调整能够将当前应用窗口和关联界面处于同一调整方向;之后将调整后的当前应用窗口与调整后的关联界面发送至窗口管理器,窗口管理器对调整后的当前应用窗口与调整后的关联界面进行合成,得到合成后的应用窗口,即完成对当前应用窗口和关联界面的调整操作,实现了应用窗口能够按照自身的调整策略或***推荐方向进行调整的功能。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种调整应用窗口的方法的流程示意图;
图2是本发明实施例提供的当前应用窗口与关联界面的关系样式图;
图3是本发明实施例提供的关于Wayland接口协议的结构示意图;
图4是本发明实施例提供的第一尺寸调整之前和第一旋转调整之前的图;
图5是本发明实施例提供的第一尺寸调整后的图;
图6是本发明实施例提供的第一旋转调整后的图;
图7是本发明实施例提供的多主体交互的调整应用窗口的方法的流程示意图;
图8是本发明实施例提供的一种调整应用窗口的装置示意图;
图9是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开实施例一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
在本发明的实施例中,所称的Linux包括各种以Linux kernel为基础实现的发行版,例如Ubuntu、Debian等。
在发明人所知的技术中,带有GUI界面的Linux OS只实现了对屏幕输出方向的配置管理,并不支持应用级别的调整配置, Linux平台上主要的窗口管理协议(X11和Wayland)也都未实现应用调整管理。
参照图1,为本发明实施例提供的一种调整应用窗口的方法的流程示意图,该方法包括:
110,接收窗口管理器发送的对当前应用窗口的调整指令。
该步骤中,窗口管理器是用户在***里的主要图形管理模块。窗口管理器是个程序,它控制窗口的外表、位置、窗口层级和提供用户去操作这些窗口程序的方法。当窗口管理器开始运作时,服务器和客户端之间的互动,会重新导向到窗口管理器。每当要显示一个新窗口时,这个请求便会被重新导向到窗口管理器,它会决定窗口的初始位置及其窗口层级。常见的窗口管理器的实现,例如,Windows中的DWM窗口管理器、Linux中的X Window、Wayland等。
调整指令可以为对当前应用窗口进行尺寸的调整,包括对窗口的长或宽的调整;也可以理解为对当前应用窗口的旋转调整,旋转调整可以包括横向、纵向、横向翻转或纵向翻转等。
120,对当前应用窗口进行第一调整,获取第一调整后的当前应用窗口。
该步骤中,当前应用窗口是指在窗口栈中的最上层的窗口(window),显示在最上面,覆盖其他窗口,没有其他窗口挡住它。
130,根据所述当前应用窗口的第一调整对关联界面进行第二调整,获取第二调整后的关联界面,其中,所述当前应用窗口与所述关联界面为合成关系,所述第一调整与第二调整为对应关系。
该步骤中,关联界面指的是状态栏或***弹窗这样的能够用来显示当前操作状态、信息提示等,可以包括状态栏、软键盘或弹出框等。如:对于浏览器等应用,状态栏上有许多按钮。这些按钮用于显示当前访问的Web页面的信息,包括当前页面的IP地址、页面的访问情况、下载进度、历史浏览记录等信息。
对应地,当前应用窗口与所述关联界面为合成关系。
所称的合成关系,例如,可以是拼接关系,所述的拼接可以是相邻的或有间隔的。具体参照图2所示,表示当前应用窗口与关联界面的关系样式图。图中210和230表示关联界面,220表示当前应用窗口。
尽管没有具体的描述,所称的合成关系还可以是叠加关系,例如关联界面可以被拖动地位于应用窗口的UI局部位置上方;还可以是局部叠加关系,例如关联界面可以被拖动地与应用窗口UI的边缘局部重合。
第一调整与第二调整为对应关系指的是,当第一调整为对尺寸调整时,对应的第二调整也为尺寸调整;和/或,当第一调整为横向调整时,对应的第二调整也为横向调整。
140,将所述第一调整后的当前应用窗口与所述第二调整后的关联界面发送至所述窗口管理器,调用所述窗口管理器对所述第一调整后的当前应用窗口与所述第二调整后的关联界面进行合成,得到合成后的应用窗口。
该步骤中,合成可以为无缝拼接、有缝拼接、重叠覆盖、局部重叠等样式。也可以为单个关联界面和当前应用窗口合成或多个关联界面和当前应用窗口合成,还可以设置关联界面与当前应用窗口的方向为纵向的、横向的、横向翻转或纵向翻转等众多的合成样式。在本发明实施例中不对合成样式做具体限定,其他具体的样式可以由本领域技术人员依据实际需求或者应用场景自主设置。
本发明实施例以其中一种方式对合成进行举例说明,合成后的应用窗口如图2所示,即将关联界面210与当前应用窗口220的上半部分拼接,当前应用窗口220的下半部分与关联界面230拼接。将当前应用窗口与关联界面合成完成,图2中是将上下两个关联界面与当前应用窗口进行拼接合成,可以理解的是图2仅仅表示本发明实施例中的一个合成样式。
本发明实施例提供的一种调整应用窗口的方法,将窗口管理器接收到的应用窗口调整的指令发送至应用端,应用端接收到指令后对应用端当前打开的窗口进行第一调整,获取调整后的当前应用窗口,依据当前应用窗口的第一调整对关联界面进行第二调整,获取调整后的关联界面,当前应用窗口和关联界面是合成的关系,第一调整和第二调整为对应关系,进行第一调整和第二调整能够将当前应用窗口和关联界面处于同一调整方向;之后将调整后的当前应用窗口与调整后的关联界面发送至窗口管理器,窗口管理器对调整后的当前应用窗口与调整后的关联界面进行合成,得到合成后的应用窗口,即完成对当前应用窗口和关联界面的调整操作,实现了应用窗口能够按照自身的调整策略或***推荐方向进行调整的功能。
基于上述任一实施例,本发明实施例提供的调整应用窗口的方法还包括:
通过窗口管理器将合成后的应用窗口与显示侧进行适配,并在显示侧进行显示。
该步骤中,显示侧指的是具有显示功能的一种输入输出设备,也可以理解为它是一种将图像或者画面通过特定的传输设备显示到屏幕上再反射到人眼的显示工具,可以是LCD、OLED等,还可以是LED投影机、激光投影机等投影出的显示,或AR VR等成像显示。
具体地,在显示侧进行显示的图像或者画面是横向的,而将合成后的应用窗口与显示侧进行适配的目的在于,使合成后的应用窗口的方向与显示侧显示的方向一致,即都是横向。对此举例说明,若合成后的应用窗口的方向是纵向的,然最终要显示的方向应该是横向的,所以将合成后的应用窗口进行旋转,使方向旋转至横向,则合成后的应用窗口与显示侧显示的方向一致,都是横向。
基于上述任一实施例,在步骤110之前包括下述步骤S111~S112:
步骤111、生成应用窗口对应的窗口描述和协议接口。
该步骤中,窗口描述和协议接口可以是基于新增的扩展协议生成的。以Linux***下的Wayland为例,新增的扩展协议可以基于Wayland接口协议,窗口描述可以用wl_surface表示,协议接口可以用wl_interaface表示,窗口管理器和应用端都将新的扩展协议集成。
具体地,Wayland是一个协议(Protocol),就像X Window当前的协议——X11一样,它定义了如何与内核通讯、如何与Client通讯,具体的策略,依然是交给开发者自己。所以Wayland依然是贯彻“提供机制,而非策略”的Unix程序。关于Wayland接口协议的结构示意图参照图3所示。
在Wayland接口协议的结构示意图中:
①表示内核(KMS evdev Kernel)获取一个事件,并将收到的事件发送至合成器(Wayland Compositor)。
②表示合成器收到消息后,能知道哪个窗口该收到这个消息,因为合成器是总控制中心,它掌握窗口的层级关系、动画效果,因此合成器知道该事件应该发送给谁。
③表示该事件的the rendering发生在客户端(Wayland Client),客户端向合成器发送请求,以指示更新的区域。
④表示重新合成更新区域,显示桌面,呈现给用户。
步骤112、将应用窗口的窗口描述和协议接口进行绑定,通过协议接口向窗口管理器上报应用窗口支持的调整方向列表,以使窗口管理器对调整方向列表进行保存,调用应用端的应用窗口为当前应用窗口。
该步骤中,调整方向列表指的是在wayland接口协议中增加应用窗口可以请求上报自身支持的调整方向列表,一般为初始方向(Primary)、纵向(Portrait)、横向(Landscape)、纵向翻转(PortraitInverted)横向翻转(LandscapeInverted)中的一种或者多种。
可以理解的是,应用端也可以在运行过程中动态修改该应用窗口支持的调整方向列表,比如,一开始应用窗口上报的调整方向列表为横向,在运行过程成可以修改成纵向的方向列表;还可以为对于有些不支持新建应用窗口的应用或者不支持上报调整方向列表的窗口,提供默认旋转策略(比如跟随设备屏幕方向)。
基于上述任一实施例,在步骤120中,对当前应用窗口进行第一调整,具体包括:
对当前应用窗口进行第一尺寸调整。
该步骤中,参照图4所示,表示第一尺寸调整之前的图,图5表示第一尺寸调整后的图。从图中可以看出,第一尺寸调整是针对当前应用窗口和关联界面的尺寸大小进行的调整,而对于当前应用窗口和关联界面中的内容的方向并没有进行调整。
具体地,比如当前应用窗口的尺寸为1920×1080,对应用窗口进行第一尺寸调整完之后,当前应用窗口的尺寸可以为1080×1920、1680×1050或者1024×768等不同的尺寸。
在步骤130中,根据当前应用窗口的第一调整对关联界面进行第二调整,具体包括:
根据当前应用窗口的第一尺寸调整,对关联界面进行对应的第二尺寸调整。
该步骤中,第一尺寸调整与第二尺寸调整为对应关系。举例进行说明,当前应用窗口的初始尺寸为1920×1080,对当前应用窗口进行第一尺寸调整后,当前应用窗口的尺寸为1080×1920,则对应的关联界面的初始尺寸为1920×100,对关联界面进行第二尺寸调整后,关联界面的尺寸为1080×100。
基于上述任一实施例,在步骤120中,对当前应用窗口进行第一调整,还包括:对当前应用窗口进行第一旋转调整。
该步骤中,参照图4所示,同时也表示第一旋转调整之前的图,图6表示第一旋转调整之后的图。从图中可以看出,第一旋转调整是针对当前应用窗口中的内容的方向进行的旋转调整,而对于当前应用窗口中的尺寸大小并没有进行调整。
步骤130中,根据当前应用窗口的第一调整对关联界面进行第二调整,还包括:
根据当前应用窗口的第一旋转调整,对关联界面进行对应的第二旋转调整。
该步骤中,第一旋转调整与第二旋转调整为对应关系。因此,第二旋转调整是针对关联界面中的内容的方向进行的旋转调整,而对于关联界面尺寸大小并没有进行调整。
举例进行说明,可参照图6所示,当前应用窗口中的内容的初始方向为横向,对当前应用窗口中的内容的方向进行第一旋转调整后,当前应用窗口中的内容的方向为纵向翻转,则对应的关联界面中的内容的初始方向也为横向,对关联界面中的内容的方向进行第二旋转调整后,关联界面中的内容的方向也为纵向翻转。
基于上述任一实施例,窗口管理器包括与所述显示侧的显示区域对应的画布区域。其中,画布区域的坐标系、宽度、高度与显示侧的显示区域的坐标系、宽度、高度相互对应。
步骤140中,调用窗口管理器对第一调整后的当前应用窗口与第二调整后的关联界面进行合成,得到合成后的应用窗口,包括下述步骤S141~S142:
步骤S141、调用窗口管理器对第一调整后的当前应用窗口与第二调整后的关联界面进行合成,得到初始应用窗口。
该步骤中,初始应用窗口指的是将当前应用窗口和关联界面合成完成后,不再进行任何处理的窗口。以图6举例进行说明,图6左侧表示窗口管理器,窗口管理器接收应用端调整后的当前应用窗口和关联界面,窗口管理器将调整后的当前应用窗口和关联界面进行合成,得到图6中的合成样式,从图中可以看出,该合成方式为无缝合成,合成完成的窗口为初始应用窗口。
步骤S142、调用所述窗口管理器根据初始应用窗口的尺寸以及画布区域的尺寸,对初始应用窗口进行对应的旋转操作,得到合成后的应用窗口。
该步骤中,对合成完成的窗口即初始应用窗口进行处理,使初始应用窗口的尺寸和画布区域的尺寸一致。
具体地,以对当前应用窗口的第一尺寸调整,对关联界面进行对应的第二尺寸调整和对当前应用窗口的第一旋转调整,对关联界面进行对应的第二旋转调整,举例进行说明。
在一个具体实施方案中,对当前应用窗口的第一尺寸调整,对关联界面进行对应的第二尺寸调整时,应用端对应用窗口和关联界面只进行尺寸的调整,对应用窗口和关联界面中的内容的方向不进行调整,为了将尺寸调整之后的当前应用窗口和关联界面与画布区域的尺寸一致,窗口管理器将在当前应用窗口和关联界面进行合成生成初始应用窗口之后,再根据初始应用窗口与画布区域的尺寸对应关系对初始应用窗口进行旋转,得到合成后的应用窗口。
在另一个具体实施方案中,对当前应用窗口的第一旋转调整、对关联界面进行对应的第二旋转调整时,应用端对当前应用窗口和关联界面中的内容的方向进行旋转,对当前应用窗口和关联界面的尺寸不进行旋转调整。为了保证内容的方向旋转后的当前应用窗口和关联界面与画布区域的尺寸一致,窗口管理器在将当前应用窗口和关联界面进行合成,生成初始应用窗口之后,不再进行旋转调整。
基于上述任一实施例,在得到合成后的应用窗口之后,还包括:
根据合成后的应用窗口,调用窗口管理器对输入设备在显示区域的坐标系进行对应的方向调整。
该步骤中,输入设备可以为鼠标或触摸板等。
具体地,在当前应用窗口完成第一旋转调整和关联界面对应完成第二旋转调整后,为了使整个应用窗口中内容的方向一致,对应用窗口内的输入设备在显示区域的坐标系进行对应的方向调整,使输入设备在显示区域的坐标系与合成后的应用窗口的坐标系保持一致。
进一步地,对本公开的实施做进一步补充说明:具体参照图7所示,表示本发明实施例提供的多主体交互的调整应用窗口的方法的流程示意图,从窗口管理器、应用端和关联界面,三个角度进一步对本发明的实施例进行补充说明。
窗口管理器:接收对当前应用窗口的调整指令,所述调整指令为请求变更当前应用窗口支持的列表或调整设备的方向,并将调整指令发送至应用端。
应用端:接收窗口管理器发送的调整指令,对当前应用窗口进行第一调整,应用端根据第一调整完成的当前应用窗口进行重新布局,并将第一调整后的当前应用窗口发送至窗口管理器,窗口管理器进行显示。
关联界面:接收窗口管理器发送的调整指令,根据当前应用窗口的第一调整,对应的对关联界面进行第二调整,关联界面根据第二调整完成的关联界面进行重新布局,并将第二调整后的关联界面发送至窗口管理器,窗口管理器进行显示。
窗口管理器接收第一调整后的当前应用窗口和第二调整后的关联界面,由于第一调整和第二调整为对应关系,所以此时的第一调整后的当前应用窗口和第二调整后的关联界面的方向是一致的,根据第一调整后的当前应用窗口和第二调整后的关联界面,对应调整输入设备的坐标系(鼠标或触摸板等),以使整个应用窗口内的所有内容的方向保持一致。
基于上述任一实施例,参照图8,为本发明实施例提供的一种调整应用窗口的装置,该装置包括:发送模块810、第一调整模块820、第二调整模块830和合成模块840。其中,发送模块810,用于通过窗口管理器接收对当前应用窗口的调整指令,将调整指令发送至应用端;第一调整模块820,用于通过应用端对当前应用窗口进行第一调整,获取第一调整后的当前应用窗口;第二调整模块830,用于通过应用端对关联界面依据当前应用窗口的第一调整进行第二调整,获取第二调整后的关联界面,其中,当前应用窗口与关联界面为合成关系,第一调整与第二调整为对应关系;合成模块840,用于将第一调整后的当前应用窗口与第二调整后的关联界面发送至窗口管理器,通过窗口管理器对第一调整后的当前应用窗口与第二调整后的关联界面进行合成,得到合成后的应用窗口。
本发明实施例提供的一种调整应用窗口的装置,将窗口管理器接收到的应用窗口调整的指令发送至应用端,应用端接收到指令后对应用端当前打开的窗口进行第一调整,获取调整后的当前应用窗口,依据当前应用窗口的第一调整对关联界面进行第二调整,获取调整后的关联界面,当前应用窗口和关联界面是合成的关系,第一调整和第二调整为对应关系,进行第一调整和第二调整能够将当前应用窗口和关联界面处于同一调整方向;之后将调整后的当前应用窗口与调整后的关联界面发送至窗口管理器,窗口管理器对调整后的当前应用窗口与调整后的关联界面进行合成,得到合成后的应用窗口,即完成对当前应用窗口和关联界面的调整操作,实现了应用窗口能够按照自身的调整策略或***推荐方向进行调整的功能。
基于上述任一实施例,所述装置还包括:
显示模块,用于通过窗口管理器将合成后的应用窗口与显示侧进行适配,并在显示侧进行显示。
基于上述任一实施例,所述发送模块810之前,包括:
通过应用端生成应用窗口对应的窗口描述和协议接口;
将应用窗口的窗口描述和协议接口进行绑定,并通过协议接口向窗口管理器上报应用窗口支持的调整方向列表,以使窗口管理器对调整方向列表进行保存。
基于上述任一实施例,所述第一调整模块820具体用于:
通过应用端对当前应用窗口进行第一尺寸调整;
通过应用端依据当前应用窗口的第一调整对关联界面进行第二调整,具体包括:
通过应用端依据当前应用窗口的第一尺寸调整,对关联界面进行对应的第二尺寸调整。
基于上述任一实施例,所述第一调整模块820具体用于:
通过应用端对当前应用窗口进行第一旋转调整;
通过应用端依据当前应用窗口的第一调整对关联界面进行第二调整,具体包括:
通过应用端依据当前应用窗口的第一旋转调整,对关联界面进行对应的第二旋转调整。
基于上述任一实施例,所述合成模块840,具体用于:
窗口管理器包括与显示侧的显示区域对应的画布区域;
通过窗口管理器对第一调整后的当前应用窗口与第二调整后的关联界面进行合成,得到初始应用窗口;
根据初始应用窗口的尺寸以及画布区域的尺寸,对初始应用窗口进行对应的旋转操作,得到合成后的应用窗口。
基于上述任一实施例,所述合成模块840之后,装置还包括:
调整模块,用于依据合成后的应用窗口通过窗口管理器对输入设备在显示区域的坐标系进行对应的方向调整。
图9为本发明实施例提供的电子设备的结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑命令,以执行如下方法:接收窗口管理器发送的对当前应用窗口的调整指令;对当前应用窗口进行第一调整,获取第一调整后的当前应用窗口;根据所述当前应用窗口的第一调整对关联界面进行第二调整,获取第二调整后的关联界面,其中,所述当前应用窗口与所述关联界面为合成关系,所述第一调整与第二调整为对应关系;将所述第一调整后的当前应用窗口与所述第二调整后的关联界面发送至所述窗口管理器,调用所述窗口管理器对所述第一调整后的当前应用窗口与所述第二调整后的关联界面进行合成,得到合成后的应用窗口。
此外,上述的存储器930中的逻辑命令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:接收窗口管理器发送的对当前应用窗口的调整指令;对当前应用窗口进行第一调整,获取第一调整后的当前应用窗口;根据所述当前应用窗口的第一调整对关联界面进行第二调整,获取第二调整后的关联界面,其中,所述当前应用窗口与所述关联界面为合成关系,所述第一调整与第二调整为对应关系;将所述第一调整后的当前应用窗口与所述第二调整后的关联界面发送至所述窗口管理器,调用所述窗口管理器对所述第一调整后的当前应用窗口与所述第二调整后的关联界面进行合成,得到合成后的应用窗口。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种调整应用窗口的方法,其特征在于,应用于应用端,所述方法包括:
接收窗口管理器发送的对当前应用窗口的调整指令;
对当前应用窗口进行第一调整,获取第一调整后的当前应用窗口;
根据所述当前应用窗口的第一调整对关联界面进行第二调整,获取第二调整后的关联界面,其中,所述当前应用窗口与所述关联界面为合成关系,所述第一调整与第二调整为对应关系;
将所述第一调整后的当前应用窗口与所述第二调整后的关联界面发送至所述窗口管理器,调用所述窗口管理器对所述第一调整后的当前应用窗口与所述第二调整后的关联界面进行合成,得到合成后的应用窗口;
其中,所述接收窗口管理器发送的对当前应用窗口的调整指令之前,包括:
生成应用窗口对应的窗口描述和协议接口;
将所述应用窗口的窗口描述和协议接口进行绑定,通过所述协议接口向所述窗口管理器上报所述应用窗口支持的调整方向列表,以使所述窗口管理器对所述调整方向列表进行保存。
2.根据权利要求1所述的调整应用窗口的方法,其特征在于,所述方法还包括:
通过所述窗口管理器将所述合成后的应用窗口与显示侧进行适配,并在显示侧进行显示。
3.根据权利要求1所述的调整应用窗口的方法,其特征在于,所述对当前应用窗口进行第一调整,具体包括:对当前应用窗口进行第一尺寸调整;
根据所述当前应用窗口的第一调整对关联界面进行第二调整,具体包括:根据所述当前应用窗口的第一尺寸调整,对关联界面进行对应的第二尺寸调整。
4.根据权利要求1所述的调整应用窗口的方法,其特征在于,所述对当前应用窗口进行第一调整,具体包括:对当前应用窗口进行第一旋转调整;
根据所述当前应用窗口的第一调整对关联界面进行第二调整,具体包括:根据所述当前应用窗口的第一旋转调整,对关联界面进行对应的第二旋转调整。
5.根据权利要求2所述的调整应用窗口的方法,其特征在于,所述窗口管理器包括与所述显示侧的显示区域对应的画布区域;
所述调用所述窗口管理器对所述第一调整后的当前应用窗口与所述第二调整后的关联界面进行合成,得到合成后的应用窗口,包括:
调用所述窗口管理器对所述第一调整后的当前应用窗口与所述第二调整后的关联界面进行合成,得到初始应用窗口;
调用所述窗口管理器根据所述初始应用窗口的尺寸以及所述画布区域的尺寸,对所述初始应用窗口进行对应的旋转操作,得到合成后的应用窗口。
6.根据权利要求5所述的调整应用窗口的方法,其特征在于,在所述得到合成后的应用窗口之后,所述方法还包括:
根据所述合成后的应用窗口,调用所述窗口管理器对输入设备在所述显示区域的坐标系进行对应的方向调整。
7.一种调整应用窗口的装置,其特征在于,设置于应用端,所述装置包括:
接收模块,用于接收窗口管理器发送的对当前应用窗口的调整指令;
第一调整模块,用于对当前应用窗口进行第一调整,获取第一调整后的当前应用窗口;
第二调整模块,用于根据所述当前应用窗口的第一调整对关联界面进行第二调整,获取第二调整后的关联界面,其中,所述当前应用窗口与所述关联界面为合成关系,所述第一调整与第二调整为对应关系;
合成模块,用于将所述第一调整后的当前应用窗口与所述第二调整后的关联界面发送至所述窗口管理器,调用所述窗口管理器对所述第一调整后的当前应用窗口与所述第二调整后的关联界面进行合成,得到合成后的应用窗口;
其中,在所述接收模块之前,包括:
生成模块,用于生成应用窗口对应的窗口描述和协议接口;
绑定模块,用于将所述应用窗口的窗口描述和协议接口进行绑定,通过所述协议接口向所述窗口管理器上报所述应用窗口支持的调整方向列表,以使所述窗口管理器对所述调整方向列表进行保存。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述调整应用窗口的方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述调整应用窗口的方法的步骤。
CN202111036072.8A 2021-09-06 2021-09-06 一种调整应用窗口的方法和装置 Active CN113467666B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111036072.8A CN113467666B (zh) 2021-09-06 2021-09-06 一种调整应用窗口的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111036072.8A CN113467666B (zh) 2021-09-06 2021-09-06 一种调整应用窗口的方法和装置

Publications (2)

Publication Number Publication Date
CN113467666A CN113467666A (zh) 2021-10-01
CN113467666B true CN113467666B (zh) 2021-11-16

Family

ID=77867513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111036072.8A Active CN113467666B (zh) 2021-09-06 2021-09-06 一种调整应用窗口的方法和装置

Country Status (1)

Country Link
CN (1) CN113467666B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918056B (zh) * 2021-09-26 2024-05-03 北京字节跳动网络技术有限公司 一种调整应用窗口的方法和装置
CN113918366B (zh) * 2021-12-14 2022-04-19 北京鲸鲮信息***技术有限公司 信息处理方法、装置、电子设备及存储介质
CN114610424A (zh) * 2022-02-11 2022-06-10 阿里巴巴(中国)有限公司 数据处理方法、云端应用的窗口显示方法和存储介质
CN114637570B (zh) * 2022-03-25 2024-07-19 京东方科技集团股份有限公司 显示界面的边界调整方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902789A (zh) * 2012-09-29 2013-01-30 北京奇虎科技有限公司 改变浏览器窗口显示的内容的显示控制设备及方法
EP3367225A1 (en) * 2017-02-28 2018-08-29 Samsung Electronics Co., Ltd. Electronic device and method for managing window
CN109117241A (zh) * 2018-09-27 2019-01-01 Oppo广东移动通信有限公司 一种显示方向控制方法、***及移动终端
CN112527219A (zh) * 2019-09-17 2021-03-19 中兴通讯股份有限公司 基于wayland协议的图形合成方法、装置和***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902789A (zh) * 2012-09-29 2013-01-30 北京奇虎科技有限公司 改变浏览器窗口显示的内容的显示控制设备及方法
EP3367225A1 (en) * 2017-02-28 2018-08-29 Samsung Electronics Co., Ltd. Electronic device and method for managing window
CN109117241A (zh) * 2018-09-27 2019-01-01 Oppo广东移动通信有限公司 一种显示方向控制方法、***及移动终端
CN112527219A (zh) * 2019-09-17 2021-03-19 中兴通讯股份有限公司 基于wayland协议的图形合成方法、装置和***

Also Published As

Publication number Publication date
CN113467666A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
CN113467666B (zh) 一种调整应用窗口的方法和装置
CN112269604B (zh) 在Linux上兼容运行Android应用的窗***互方法及装置
US10732922B2 (en) Manipulating shared screen content
CN106155454B (zh) 一种界面显示方法、装置及电子设备
CN102027450B (zh) 由移动计算装置使用外部显示装置的方法和***
US5434964A (en) Movement and redimensioning of computer display windows
CN107977141B (zh) 交互控制方法、装置、电子设备及存储介质
JP5374873B2 (ja) 情報処理装置、情報処理システム、コンピュータプログラム、及び情報処理方法
US20190187860A1 (en) Information input method and apparatus
TW201525776A (zh) 對於鍵盤使用者介面的啓用控制
CN108228121B (zh) 一种浏览器分屏的方法、装置及移动终端
CN114185508B (zh) 在Linux兼容安卓***上进行左右分屏的方法
CN111190672A (zh) 电子设备的ui界面适配方法、电子设备和存储介质
CN113778583A (zh) 一种云桌面的本地应用的发布方法、装置、设备和介质
WO2023065740A1 (zh) 窗口显示方法、装置、设备和存储介质
JP2017111719A (ja) 映像処理装置、映像処理方法、及び映像処理プログラム
CN113918056B (zh) 一种调整应用窗口的方法和装置
US20110225528A1 (en) Creating and Maintaining a Singular Uninterrupted Focus While Transitioning Through a Graduated User Interface
CN114168240A (zh) 窗口显示方法、装置、设备和存储介质
CN113867857B (zh) 基于Android***的进度条展示方法、装置及设备
US20220397985A1 (en) Transparent Application Window
CN114637570B (zh) 显示界面的边界调整方法、装置、存储介质及电子设备
JP6464767B2 (ja) 画像処理装置、同装置におけるコンテンツ表示制御方法及び表示制御プログラム
JP6954045B2 (ja) 画像処理システム、ユーザインタフェースの提供方法、およびコンピュータプログラム
JP2014178905A (ja) 画像表示装置、画像表示方法およびプログラム

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

Effective date of registration: 20220406

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

Address before: 2005, floor 2, No. 39, West Street, Haidian District, Beijing 100082

Patentee before: Beijing jingling Information System Technology Co.,Ltd.

TR01 Transfer of patent right