CN112445565A - 一种窗口布局中基于方向键选择窗口的方法、装置及设备 - Google Patents
一种窗口布局中基于方向键选择窗口的方法、装置及设备 Download PDFInfo
- Publication number
- CN112445565A CN112445565A CN202011375250.5A CN202011375250A CN112445565A CN 112445565 A CN112445565 A CN 112445565A CN 202011375250 A CN202011375250 A CN 202011375250A CN 112445565 A CN112445565 A CN 112445565A
- Authority
- CN
- China
- Prior art keywords
- window
- coordinate
- current
- distance
- candidate
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution 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)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种在窗口布局中基于方向键选择窗口的方法,该方法包括,响应于使用方向键输入的方向键信号,在存在目标窗口的情况下,将与当前窗口距离最小的目标窗口作为最终选择窗口,其中,目标窗口为:至少一部分窗口区域在第一平移区域内的窗口,第一平移区域为当前窗口在窗口布局中按照所述方向键所指方向进行直线平移而形成的区域。本申请可以在任意自定义窗口布局中,包括窗口缺失、窗口合并等情况中选择正确的窗口,提高了窗口选择的准确性。
Description
技术领域
本申请涉及界面窗口控制领域,特别地,涉及一种在窗口布局中基于方向键选择窗口的方法、装置及电子设备。
背景技术
界面中窗口布局包括规则的窗口布局和不规则窗口布局。参见图1所示,图1为规则的窗口布局的一种示意图。图1中,每个单位窗口大小相同,布局均匀。使用方向键可以在窗口布局中进行窗口的选择。
如图1所示,当前窗口为窗口104时,若指向右方的方向键→被使用,则位于窗口104右方的窗口102、105、108中,窗口105被选中。其他方向键与此类似。
不规则窗口布局中通常存在由多个单位窗口合并组成的合并窗口和/或坐标范围的上、下、左、右方向上都没有窗口的孤立窗口。参见图2a所示,图2a为不规则窗口布局的一种示意图,其中,有一个窗口是由至少两个单位窗口组成了合并窗口,如图2a中的窗口2003为由2个单位窗口合并的合并窗口,在使用方向键来进行不规则窗口布局中的窗口选择时,由于是通过比较各个窗口之间中心点位置,选取方向键方向上、且与当前窗口中心点位置距离最小的窗口作为被选中的窗口,现有的使用方向键来进行窗口选择并不适用。
例如,在图2a中,当前窗口为窗口2003时,若指向左方的方向键←被使用,通常窗口2001被选中,而窗口2002并不被选中。
由此可见,在窗口布局中,现有的使用方向键选择窗口的方法所选择的窗口不准确。
发明内容
本申请提供了一种窗口布局中基于方向键选择窗口的方法,以提高使用方向键选择窗口的准确性。
本申请提供的一种在窗口布局中基于方向键选择窗口的方法,该方法包括,
响应于使用方向键输入的方向键信号,在存在目标窗口的情况下,将与当前窗口距离最小的目标窗口作为最终选择窗口,
其中,目标窗口为:至少一部分窗口区域在第一平移区域内的窗口,第一平移区域为当前窗口在窗口布局中按照所述方向键所指方向进行直线平移而形成的区域。
可选地,该方法进一步包括:在响应于所述方向键信号的目标窗口不存在的情况下,将与当前窗口距离最小的备选窗口作为最终选择窗口,和/或,响应于使用组合键输入的组合键信号,将与当前窗口距离最小的备选窗口作为最终选择窗口,其中,所述组合键包括至少一方向键、以及除方向键之外的至少一功能键的组合,备选窗口为:在当前窗口的方向键所指方向侧的窗口中,除了当前窗口在窗口布局中按照与所述方向键所指方向呈90°的方向进行直线平移而形成的第二平移区域之外的完整窗口。
可选地,所述目标窗口为:全部窗口区域在第一平移区域内的完整窗口。
可选地,所述最终选择窗口的选取包括:如果与当前窗口距离最小的窗口不唯一,则按照用于标识窗口优先级的窗口编号信息,选择优先级最高的窗口。
可选地,所述将与当前窗口距离最小的目标窗口作为最终选择窗口,包括:获取当前窗口对应的矩形框的坐标信息、以及各个目标窗口对应的矩形框的坐标信息,计算当前窗口对应的矩形框与各个目标窗口对应的矩形框之间的距离,作为当前窗口与各个目标窗口之间的距离,选择与当前窗口具有最小距离的目标窗口。
可选地,所述将与当前窗口距离最小的备选窗口作为最终选择窗口,包括:获取当前窗口对应的矩形框的坐标信息、以及各个备选窗口对应的矩形框的坐标信息,计算当前窗口对应的矩形框与各个备选窗口对应的矩形框之间的距离,作为当前窗口与各个备选窗口之间的距离,选择与当前窗口具有最小距离的备选窗口。
可选地,所述窗口坐标信息至少包括:以第一方向为X轴正方向、与第一方向垂直的第二方向为Y轴的正方向所建立的直角坐标系中,矩形框的顶点的坐标信息,所述顶点由矩形框的最小x坐标和最大x坐标中的任一个坐标,与,最小y坐标和最大y坐标中的任一个坐标组成。
可选地,所述距离为矩形框的同方位的顶点之间的距离。
可选地,所述顶点为矩形框的最小x坐标和最小y坐标组成的最小坐标点,所述距离为矩形框的最小坐标点之间的距离。
可选地,形状为矩形的窗口对应的矩形框为该窗口的外轮廓,和/或,形状为非矩形的窗口对应的矩形框为基于该窗口的外轮廓所构建的矩形包络。
可选地,所述备选窗口按照如下方式确定:计算当前窗口的任一点到窗口布局中除当前窗口之外的其他窗口的任一点的有向线段与所述方向键所指方向之间的夹角,如果夹角小于90°,且其他窗口为位于第二平移区域之外的完整窗口,则将该其他窗口作为备选窗口。
可选地,所述备选窗口按照如下方式确定:当方向键为指向右方的方向键时,将位于当前窗口右侧的完整窗口中最小y坐标大于或等于当前窗口的最大y坐标的窗口,作为备选窗口;当方向键为指向左方的方向键时,将位于当前窗口左侧的完整窗口中最大y坐标小于或等于当前窗口的最小y坐标的窗口,作为备选窗口;当方向键为指向上方的方向键时,将位于当前窗口上侧的完整窗口中最大x坐标小于或等于当前窗口的最小x坐标的窗口,作为备选窗口;当方向键为指向下方的方向键时,将位于当前窗口下侧的完整窗口中最小x坐标大于或等于当前窗口的最大x坐标的窗口,作为备选窗口。
可选地,所述目标窗口按照如下方式确定:当方向键为指向右方的方向键时,将满足最大x坐标和/或最小x坐标在第一平移范围内的窗口,作为目标窗口;当方向键为指向左方的方向键时,将满足最大x坐标和/或最小x坐标在第一平移范围内的窗口,作为目标窗口;当方向键为指向上方的方向键时,将满足最大y坐标和/或最小y坐标在第一平移范围内的窗口,作为目标窗口;当方向键为指向下方的方向键时,将满足最大y坐标和/或最小y坐标在第一平移范围内的窗口,作为目标窗口。
可选地,窗口的最大x坐标、最小x坐标、最大y坐标、最小y坐标为在以第一方向为X轴正方向、与第一方向垂直的第二方向为Y轴的正方向所建立的直角坐标系中的坐标,所述第二方向指向右方,所述第一方向指向下方。
可选地,该方法进一步包括:在利用第一窗口遍历至窗口布局中除当前窗口之外的任一窗口时,确定第一窗口的当前坐标范围;如果第一窗口的当前坐标范围在目标窗口坐标范围,则:在第一候选窗口为当前窗口的情况下将第一候选窗口更新为第一窗口;在第一候选窗口不为当前窗口的情况下,确定第一候选窗口到当前窗口的第一距离、以及第一窗口到当前窗口的第二距离,若第一距离等于第二距离并且第一窗口具有比第一候选窗口更高的窗口优先级,则将第一候选窗口更新为第一窗口,若第一距离大于第二距离,则将第一候选窗口更新为第一窗口;所述响应于使用方向键输入的方向键信号,在存在目标窗口的情况下,将与当前窗口距离最小的目标窗口作为最终选择窗口,包括:在遍历完窗口布局中目标窗口坐标范围内的所有窗口的情况下,若组合键未被使用且第一候选窗口不为当前窗口,则将第一候选窗口作为最终选择窗口。
可选的,该方法进一步包括:如果第一窗口的当前坐标范围在备选窗口坐标范围且不在目标窗口坐标范围,或者,第一窗口的当前坐标范围在目标坐标范围并且组合键被使用,则:在第二候选窗口为当前窗口的情况下将第二候选窗口更新为第一窗口;在第二候选窗口不为当前窗口的情况下,确定第二候选窗口到当前窗口的第三距离、以及第一窗口到当前窗口的第二距离,若第三距离等于第二距离并且第一窗口具有比第二候选窗口更高的窗口优先级,则将第二候选窗口更新为第一窗口,若第三距离大于第二距离,则将第二候选窗口更新为第一窗口;所述在响应于所述方向键信号的目标窗口不存在的情况下,将与当前窗口距离最小的备选窗口作为最终选择窗口,和/或,响应于使用组合键输入的组合键信号,将与当前窗口距离最小的备选窗口作为最终选择窗口,包括:在遍历完窗口布局中备选窗口坐标范围内的所有窗口的情况下,若组合键被使用或第一候选窗口为当前窗口,则将第二候选窗口作为最终选择窗口。
本申请还提供一种在窗口布局中基于方向键选择窗口的装置,该装置包括,
第一选择模块,用于响应于使用方向键输入的方向键信号,在存在目标窗口的情况下,将与当前窗口距离最小的目标窗口作为最终选择窗口,
其中,目标窗口为:至少一部分窗口区域在第一平移区域内的窗口,第一平移区域为当前窗口在窗口布局中按照所述方向键所指方向进行直线平移而形成的区域。
可选地,该装置还包括,第二选择模块,用于在响应于所述方向键信号的目标窗口不存在的情况下,将与当前窗口距离最小的备选窗口作为最终选择窗口;和/或,响应于输入的组合键信号,将与当前窗口距离最小的备选窗口作为最终选择窗口,其中,所述组合键包括至少一方向键、以及除方向键之外的至少一功能键的组合;备选窗口为:在当前窗口的方向键所指方向侧的窗口中,除了当前窗口在窗口布局中按照与所述方向键所指方向呈90°的方向进行直线平移而形成的第二平移区域之外的完整窗口。
可选地,所述目标窗口为全部窗口区域在第一平移区域内的完整窗口。
可选地,所述第一选择模块和/或第二选择模块在确定所述最终选择窗口时,具体用于:如果与当前窗口距离最小的窗口不唯一,则按照用于标识窗口优先级的窗口编号信息,选择优先级最高的窗口。
可选地,所述第一选择模块具体用于,获取当前窗口对应的矩形框的坐标信息、以及各个目标窗口对应的矩形框的坐标信息,计算当前窗口对应的矩形框与各个目标窗口对应的矩形框之间的距离,作为当前窗口与各个目标窗口之间的距离,选择与当前窗口具有最小距离的目标窗口。
可选地,所述第二选择模块具体用于,获取当前窗口对应的矩形框的坐标信息、以及各个备选窗口对应的矩形框的坐标信息,计算当前窗口对应的矩形框与各个备选窗口对应的矩形框之间的距离,作为当前窗口与各个备选窗口之间的距离,选择与当前窗口具有最小距离的备选窗口。
可选地,所述坐标信息至少包括:以第一方向为X轴正方向、与第一方向垂直的第二方向为Y轴的正方向所建立的直角坐标系中,矩形框的顶点的坐标信息,所述顶点由矩形框的最小x坐标和最大x坐标中的任一个坐标,与,最小y坐标和最大y坐标中的任一个坐标组成;所述距离为矩形框的同方位的顶点之间的距离;所述顶点为矩形框的最小x坐标和最小y坐标组成的最小坐标点,则所述距离为:矩形框的最小坐标点之间的距离。
可选地,形状为矩形的窗口对应的矩形框为该窗口的外轮廓,和/或,形状为非矩形的窗口对应的矩形框为基于该窗口的外轮廓所构建的矩形包络;
可选地,所述第二选择模块,还用于确定所述备选窗口,在确定所述备选窗口时,具体用于:计算当前窗口的任一点到窗口布局中除当前窗口之外的其他窗口的任一点的有向线段与方向键所指方向之间的夹角,如果夹角小于90°,且所述其他窗口为位于第二平移区域之外的完整窗口,则将该窗口作为备选窗口。
可选地,所述第二选择模块,在确定所述备选窗口时,具体用于:当方向键为指向右方的方向键时,将位于当前窗口右侧的完整窗口中最小y坐标大于或等于当前窗口的最大y坐标的窗口,作为备选窗口,当方向键为指向左方的方向键时,将位于当前窗口左侧的完整窗口中最大y坐标小于或等于当前窗口的最小y坐标的窗口,作为备选窗口,当方向键为指向上方的方向键时,将位于当前窗口上侧的完整窗口中最大x坐标小于或等于当前窗口的最小x坐标的窗口,作为备选窗口,当方向键为指向下方的方向键时,将位于当前窗口下侧的完整窗口中最小x坐标大于或等于当前窗口的最大x坐标的窗口,作为备选窗口。
可选地,所述第一选择模块,还用于确定所述目标窗口,在确定所述目标窗口时具体用于:当方向键为指向右方的方向键时,将满足最大x坐标和/或最小x坐标在第一平移范围内的窗口,作为目标窗口;当方向键为指向左方的方向键时,将满足最大x坐标和/或最小x坐标在第一平移范围内的窗口,作为目标窗口;当方向键为指向上方的方向键时,将满足最大y坐标和/或最小y坐标在第一平移范围内的窗口,作为目标窗口;当方向键为指向下方的方向键时,将满足最大y坐标和/或最小y坐标在第一平移范围内的窗口,作为目标窗口。
可选地,窗口的最大x坐标、最小x坐标、最大y坐标、最小y坐标为在以第一方向为X轴正方向、与第一方向垂直的第二方向为Y轴的正方向所建立的直角坐标系中的坐标,所述第二方向指向右方,所述第一方向指向下方。
可选地,该装置进一步包括窗口信息获取模块,用于利用第一窗口遍历窗口布局中除当前窗口之外的窗口,并且在利用第一窗口遍历至窗口布局中除当前窗口之外的任一窗口时,确定第一窗口的当前坐标范围;如果第一窗口的当前坐标范围在目标窗口坐标范围,则所述第一选择模块还用于:在第一候选窗口为当前窗口的情况下将第一候选窗口更新为第一窗口;在第一候选窗口不为当前窗口的情况下,确定第一候选窗口到当前窗口的第一距离、以及第一窗口到当前窗口的第二距离,若第一距离等于第二距离并且第一窗口具有比第一候选窗口更高的窗口优先级,则将第一候选窗口更新为第一窗口,若第一距离大于第二距离,则将第一候选窗口更新为第一窗口;在遍历完窗口布局中目标窗口坐标范围内的所有窗口的情况下,若组合键未被使用且第一候选窗口不为当前窗口,则所述第一选择模块将第一候选窗口作为最终选择窗口。
可选的,窗口信息获取模块,还用于,如果第一窗口的当前坐标范围在备选窗口坐标范围且不在目标窗口坐标范围,或者,第一窗口的当前坐标范围在目标坐标并且组合键被使用,则第二选择模块还用于:在第二候选窗口为当前窗口的情况下将第二候选窗口更新为第一窗口;在第二候选窗口不为当前窗口的情况下,确定第二候选窗口到当前窗口的第三距离、以及第一窗口到当前窗口的第二距离,若第三距离等于第二距离并且第一窗口具有比第二候选窗口更高的窗口优先级,则将第二候选窗口更新为第一窗口,若第三距离大于第二距离,则将第二候选窗口更新为第一窗口;;在遍历完窗口布局中备选窗口坐标范围内的所有窗口的情况下,若组合键被使用或第一候选窗口为当前窗口,则所述第二选择模块将第二候选窗口作为最终选择窗口。
本申请又提供一种电子设备,该设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器被配置执行计算机程序实现任一所述一种在窗口布局中基于方向键选择窗口的方法的步骤。
本申请另提供一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述一种在窗口布局中基于方向键选择窗口的方法的步骤。
本申请还提供一种计算机程序,所述计算机程序被处理器执行时实现任一所述一种在窗口布局中基于方向键选择窗口的方法的步骤。
本申请提供的窗口布局中基于方向键选择窗口的方法,基于当前窗口信息和所述方向键方向,根据各个目标窗口与当前窗口的距离,选取与当前窗口距离最小的目标窗口作为最终选择窗口,不仅可以在规则窗口布局的情况下,使用方向键选择窗口,同时可以在任意窗口布局中,包括窗口缺失、窗口合并等情况中选择正确的窗口,提高了窗口选择的准确性;适用于任意不使用鼠标,仅仅使用键盘(或摇杆等)进行窗口选择的场景。
附图说明
图1为规则的窗口布局的一种示意图。
图2a~2d为窗口布局的一种示意图。
图2e为本申请基于方向键选择窗口的方法的一种流程示意图。
图3为窗口布局中各窗口位置和坐标范围的一种示意图。
图4a和4b为本申请实施例一窗口布局中基于方向键选择窗口的方法的一种流程示意图。
图5为极端情况下的一种示意图。
图6为基于实施例一变化的窗口布局中基于方向键选择窗口的方法的一种流程示意图。
图7为本申请实施例二窗口布局中基于方向键选择窗口的方法的一种流程示意图。
图8为具有不同图形的单位窗口的界面。
图9为一种在窗口布局中基于方向键选择窗口的装置的示意图。
具体实施方式
为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。
本申请中,可以响应于使用方向键输入的方向键信号,在存在目标窗口的情况下,将与当前窗口距离最小的目标窗口作为最终选择窗口,其中,目标窗口可以为至少一部分窗口区域在第一平移区域内的窗口(完整和/或不完整窗口),第一平移区域可以为当前窗口在窗口布局中按照方向键所指方向进行直线平移而形成的区域。换言之,目标窗口的至少一部分窗口区域落入在相对于当前窗口沿方向键所指方向的一侧延展的第一平移区域内。
例如,可以响应于输入的方向键信号检测目标窗口,并且可以在检测到的目标窗口中,基于目标窗口与当前窗口之间的距离,选取与当前窗口距离最小的目标窗口作为被选中的窗口。
在检测到的目标窗口为至少两个的情况下,如果存在多于一个与当前窗口距离最小的目标窗口,则可以按照一定规则选取其中一个目标窗口作为被选中的窗口。例如,最终选择窗口的选取可以包括:如果与当前窗口距离最小的目标窗口不唯一,则可以按照用于标识窗口优先级的窗口编号信息,选择优先级最高的目标窗口(即,作为最终选择窗口)。
其中,完整窗口是指窗口区域的全部,不完整窗口是指窗口区域的部分。目标窗口是全部窗口区域在第一平移区域内的完整窗口,亦或是部分从窗口区域在第一平移区域内的完整窗口,都不会影响在选取目标窗口作为最终选择窗口时的判断。较优地,目标窗口是全部窗口区域在第一平移区域内的完整窗口。
以图2b为例,当前窗口标记为200,方向键为指向下方的方向键↓时,窗口204的部分窗口区域位于第一平移区域之内,其为位于第一平移区域的不完整窗口,按照本申请的方法,窗口204为目标窗口,且与当前窗口200距离最近,故而窗口204被选中。如果按照现有技术中通过比较各个窗口之间中心点位置,选取方向键方向上、且与当前窗口中心点位置距离最小的窗口的方式,则窗口205被选中,而窗口204并不被选中。从用户体验而言,窗口204被选中相比于窗口205被选中更符合方向键的指向。
作为进一步可选的附加方案,在响应于所述方向键信号的目标窗口不存在的情况下,可以将与当前窗口距离最小的备选窗口作为最终选择窗口,其中,备选窗口可以为在当前窗口的方向键所指方向侧的窗口中,除了当前窗口在窗口布局中按照与方向键所指方向呈90°的方向进行直线平移而形成的第二平移区域之外的完整窗口。换言之,备选窗口的全部窗口区域相对于当前窗口位于方向键所指方向的一侧、并且偏离在沿与方向键所指方向呈90°的方向延展的第二平移区域之外。
例如,在响应于所述方向键信号的目标窗口不存在的情况下,基于备选窗口与当前窗口之间的距离,选取与当前窗口距离最小的备选窗口作为被选中的窗口。
如果存在多于一个与当前窗口距离最小的备选窗口,则可以按照一定规则选取其中一个备选窗口作为最终选择窗口。例如,最终选择窗口的选取可以包括:如果与当前窗口距离最小的备选窗口不唯一,则可以按照用于标识窗口优先级的窗口编号信息,选择优先级最高的备选窗口(即,作为最终选择窗口)。
参见图2c所示,图2c的右图中,当方向键为指向右方的方向键→时,当前窗口按照方向键方向进行平移而形成的第一平移区域为图中小栅格部分,该第一平移区域中的窗口为目标窗口;图2c的左图中,在当前窗口的右侧(方向键→所指向方向侧),斜线区域为备选窗口,即,除去第二平移区域之外的区域中的完整窗口,窗口200c由于部分在第二区域之外,属于第二平移区域之外的区域中的不完整窗口,故不为备选窗口。
相应地,若图2c中不存在至少部分的位于第一平移区域中的目标窗口,则,可以将图2c的左图中在当前窗口的右侧的斜线区域所表示的备选窗口作为最终选择窗口。作为进一步可选的另一附加方案,还可以响应于使用组合键输入的组合键信号,将与当前窗口距离最小的备选窗口作为最终选择窗口,其中,组合键可以包括至少一方向键、以及除方向键之外的至少一功能键的组合。对于该附加方案,如果存在多于一个与当前窗口距离最小的备选窗口,则同样可以按照一定规则选取其中一个备选窗口作为最终选择窗口。另外,响应于组合键信号的方案与响应于方向键信号的两种情况不互斥。
在一个可选的实施例中,目标窗口是全部窗口区域在第一平移区域内的完整窗口,只有部分窗口区域在第一平移区域内的窗口可以作为备选窗口,通过“在响应于所述方向键信号的目标窗口不存在的情况下,将与当前窗口距离最小的备选窗口作为最终选择窗口,和/或,响应于使用组合键输入的组合键信号,将与当前窗口距离最小的备选窗口作为最终选择窗口”的方式被选中。
从图2c可见,目标窗口可以为备选窗口的子集,所应理解的是,作为一种变化,目标窗口也可以不是备选窗口的子集,而具有交集关系。如图2d所示,在窗口标记为200d为当前窗口时,方向键为指向右方的方向键→时,窗口标记为201d的窗口为目标窗口,但不为备选窗口,而窗口标记为202d的窗口既为备选窗口也为目标窗口。
鉴于目标窗口与备选窗口可以是交集的关系,作为选择的策略的变化,
可以是,响应于使用方向键输入的方向键信号,先在目标窗口与备选窗口所共有的交集窗口中进行选择与当前窗口距离最小的目标窗口,如果收到选择失败的指令(例如,向用户显示选择的与当前窗口距离最小的目标窗口,并显示“是否为期望窗口”的提示,用户选择否),则在剩余目标窗口中进行选择与当前窗口距离最小的目标窗口,若仍收到选择失败的指令,则在剩余备选窗口中选择与当前窗口距离最小的备选窗口;
还可以是,响应于使用方向键输入的方向键信号,在目标窗口与备选窗口所共有的交集窗口中进行选择距离最小的目标窗口,此时向用户显示当前选择的窗口,若当前选择的窗口不为用户期望的窗口,则返回到选择之前的当前窗口,用户可以使用组合键进行切换选择,电子设备响应于使用组合键输入的组合键信号,将与当前窗口距离最小的备选窗口作为最终选择窗口。参见图2e所示,图2e为本申请基于方向键选择窗口的方法的一种流程示意图。以该方法兼容响应于组合键信号的方案与响应于方向键信号的两种情况为例,该方法可以包括:
响应于使用方向键输入的方向键信号,在存在目标窗口的情况下,可以将与当前窗口距离最小的目标窗口作为最终选择窗口,
作为前述可选的附加方案,在响应于该方向键信号的目标窗口不存在的情况下,可以将与当前窗口距离最小的备选窗口作为最终选择窗口,
作为前述另一种可选的附加方案,响应于使用组合键输入的组合键信号,将与当前窗口距离最小的备选窗口作为最终选择窗口。
为便于理解本申请,以下结合一具体窗口布局来说明。所应理解的是,窗口布局的形式不限于此,其它窗口布局形式也可适用。
在本申请的实施例中,可以通过窗口坐标来确定各个窗口的位置和范围,参见图3所示,图3为窗口布局中各窗口位置和坐标范围的一种示意图。窗口界面左上角为原点,垂直向下的第一方向为X轴正方向,水平向右的第二方向为Y轴正方向,第一方向与第二方向垂直,每个窗口具有四个顶点坐标,记为(x,y),窗口的左上角坐标为窗口的最小坐标,窗口的右下角坐标为窗口的最大坐标,窗口范围为:窗口的顶点依次连接所形成的封闭矩形覆盖的范围。
窗口布局中的各窗口允许被设计为不同的形状,例如矩形,或者,诸如圆形、椭圆、三角、梯形、菱形或不规则异形形状等非矩形形状。为了便于对不同形状的窗口进行顶点的规范化设定,可以将窗口映射为对应的矩形框。例如,形状为矩形的窗口对应的矩形框可以为该窗口的外轮廓,和/或,形状为非矩形的窗口对应的矩形框可以为基于该窗口的外轮廓所构建的矩形包络。
在一个可选的实施例中,基于窗口对应的矩形框,将与当前窗口距离最小的目标窗口作为最终选择窗口,可以包括:获取当前窗口对应的矩形框的坐标信息、以及各个目标窗口对应的矩形框的坐标信息,计算当前窗口对应的矩形框与各个目标窗口对应的矩形框之间的距离,作为当前窗口与各个目标窗口之间的距离,选择与当前窗口具有最小距离的目标窗口。
同理,若进一步结合附加方案,则,将与当前窗口距离最小的备选窗口作为最终选择窗口,可以包括:获取当前窗口对应的矩形框的坐标信息、以及各个备选窗口对应的矩形框的坐标信息,计算当前窗口对应的矩形框与各个备选窗口对应的矩形框之间的距离,作为当前窗口与各个备选窗口之间的距离,选择与当前窗口具有最小距离的备选窗口。
上述的坐标信息至少可以包括:以第一方向为X轴正方向、与第一方向垂直的第二方向为Y轴的正方向所建立的直角坐标系中,矩形框的顶点的坐标信息,该顶点可以由矩形框的最小x坐标和最大x坐标中的任一个坐标,与,最小y坐标和最大y坐标中的任一个坐标组成。
在计算当前窗口对应的矩形框与各个目标窗口对应的矩形框之间的距离,或者,计算当前窗口对应的矩形框与各个备选窗口对应的矩形框之间的距离时,该距离可以为矩形框的同方位的顶点之间的距离。
例如,若矩形框的同方位的顶点选取矩形框的最小x坐标和最小y坐标组成的最小坐标点,则矩形框的最小坐标之间的距离即为矩形框之间的距离(表示窗口之间的距离)。或者,若矩形框的同方位的顶点选取矩形框的最大x坐标和最大y坐标组成的最大坐标点,则矩形框的最大坐标之间的距离也可以为矩形框之间的距离(表示窗口之间的距离)。同理,矩形框的同方位的顶点选取矩形框的最小x坐标和最大y坐标、或者最大x坐标和最小y坐标组成的偏斜坐标点,同样可以得到表示窗口间距的矩形框之间的距离。
当一窗口对应的矩形框的最小坐标与另一窗口对应的矩形框的最小坐标具有相同的x坐标或y坐标时,窗口间距离可以简化为两窗口在X轴或Y轴间的距离,例如,窗口303与窗口302间的距离为两窗口在Y轴间的距离,窗口300与窗口302间的距离为两窗口在X轴间的距离。
在一个可选的实施例中,窗口的最大x坐标、最小x坐标、最大y坐标、最小y坐标为在以第一方向为X轴正方向、与第一方向垂直的第二方向为Y轴的正方向所建立的直角坐标系中的坐标,所述第二方向指向右方,所述第一方向指向下方。
当方向键为指向右方的方向键→时,可以将位于当前窗口右侧的完整窗口中最小y坐标大于或等于当前窗口的最大y坐标的窗口,作为备选窗口,即,备选窗口的最小坐标中的y坐标大于或等于当前窗口的最大y坐标,
当方向键为指向左方的方向键←时,可以将位于当前窗口左侧的完整窗口中最大y坐标小于或等于当前窗口的最小y坐标的窗口,作为备选窗口,即,备选窗口的最大坐标中的y坐标小于或等于当前窗口的最小y坐标,
当方向键为指向上方的方向键↑时,可以将位于当前窗口上侧的完整窗口中最大x坐标小于或等于当前窗口的最小x坐标的窗口,作为备选窗口,即,备选窗口的最大坐标中的x坐标小于或等于当前窗口的最小坐标中x坐标,
当方向键为指向下方的方向键↓时,可以将位于当前窗口下侧的完整窗口中最小x坐标大于或等于当前窗口的最大x坐标的窗口,作为备选窗口,即,备选窗口的最小坐标中的x坐标大于或等于当前窗口的最大坐标中x坐标。
在图3中,以窗口302为当前窗口为例,此时,指向右方向上方向键→的方向上,窗口301、303~306为备选窗口。
在图3中,结合窗口坐标而言,备选窗口可以是根据当前窗口,窗口布局中除当前窗口之外的其他窗口的任一点相对于当前窗口的任一点在方向键的方向侧,且位于第二平移区域之外的完整窗口,也就是说,当前窗口任一点到其他窗口中的任一窗口的任一点所形成的有向线段与方向键方向的夹角为锐角(小于90°),且位于第二平移区域之外的完整窗口为备选窗口,
该任一点可以是窗口内部或边界的任一点,优选的,该任一点可以是窗口对应的矩形框的同方位的顶点。
更具体而言,备选窗口还可以按照如下方式确定:计算当前窗口对应的矩形框的最小坐标点到窗口布局中除当前窗口之外的其他窗口对应的矩形框的最小坐标点的有向线段与所述方向键所指方向之间的夹角,如果夹角小于90°,且其他窗口为位于第二平移区域之外的完整窗口,则将该其他窗口作为备选窗口。
在图3中,结合窗口坐标而言,目标窗口有可能是与当前窗口范围内的方向键所指方向一致的方向上的备选窗口,也就是说,最大坐标中的x坐标或y坐标在当前窗口对应的最小坐标与最大坐标范围内的备选窗口,例如:
当方向键为指向右方的方向键→时,可以将满足最大x坐标和/或最小x坐标在第一平移范围内的窗口,作为目标窗口,即,目标窗口的最大坐标和/或最小坐标中的x坐标大于等于当前窗口的最小坐标中的x坐标、小于等于当前窗口最大坐标中的x坐标(需注意,满足最大x坐标等于当前窗口最小x坐标或最小x坐标等于当前窗口最大x坐标的窗口不属于目标窗口);
当方向键为指向左方的方向键←时,可以将满足最大x坐标和/或最小x坐标在第一平移范围内的窗口,作为目标窗口,即,目标窗口的最大坐标和/或最小坐标中的x坐标大于等于当前窗口的最小坐标中的x坐标、小于等于当前窗口的最大坐标中的x坐标(需注意,满足最大x坐标等于当前窗口最小x坐标或最小x坐标等于当前窗口最大x坐标的窗口不属于目标窗口);
当方向键为指向上方的方向键↑时,可以将满足最大y坐标和/或最小y坐标在第一平移范围内的窗口,作为目标窗口,即,目标窗口的最大坐标和/或最小坐标中的y坐标大于等于当前窗口的最小坐标中的y坐标、小于等于当前窗口的最大坐标中的y坐标(需注意,满足最大y坐标等于当前窗口最小y坐标或最小y坐标等于当前窗口最大y坐标的窗口不属于目标窗口);
当方向键为指向下方的方向键↓时,可以将满足最大y坐标和/或最小y坐标在第一平移范围内的窗口,作为目标窗口,即,目标窗口的最大坐标和/或最小坐标中的y坐标大于等于当前窗口的最小坐标中的y坐标、小于等于当前窗口的最大坐标中的y坐标(需注意,满足最大y坐标等于当前窗口最小y坐标或最小y坐标等于当前窗口最大y坐标的窗口不属于目标窗口);
在图3中,以窗口302为当前窗口为例,在指向右方向上方向键→的方向上,303~306为目标窗口。
为了区分窗口间距离相同的窗口,在窗口布局中,每个窗口可以具有对应的窗口编号,窗口编号的规则可以是左上角第一窗口编号为0,窗口编号依次从左到右、从上到下递增。作为一种可选的扩展方案,窗口编号的数值的大小还可以用于表征优先级,例如窗口编号的数值越小,优先级越高,或者反之。这样,在本申请中,如果存在多个与当前窗口距离最小的目标窗口,则可以按照窗口编号信息选取其中一个目标窗口作为被选中的窗口。在响应于所述方向键信号的目标窗口不存在的情况下,或者,响应于使用组合键输入的组合键信号,将与当前窗口距离最小的备选窗口作为最终选择窗口时,最终选择窗口的选取可以包括:如果与当前窗口距离最小的备选窗口不唯一,则可以按照用于标识窗口优先级的窗口编号信息,选择优先级最高的备选窗口(即,作为最终选择窗口)。
需要说明的是,上述确定目标窗口和备选窗口的具体方式是建立在窗口的最大x坐标、最小x坐标、最大y坐标、最小y坐标为在以指向下方为X轴正方向、指向右方为Y轴的正方向所建立的直角坐标系中的坐标的情况下的具体方式,在以其他方式建立的直角坐标系中,只需要参照该具体方式适当类比变换即可,在此不详细一一介绍。由于通常来说,初始化时窗口一般为左上角的窗口被选中,本实施例中的直接坐标系建立方式和确定目标窗口/备选窗口的具体方式更符合用户使用习惯、更适应于程序的开发。
实施例一
参见图4a和4b所示,图4a和4b为本申请窗口布局中基于方向键选择窗口的方法的一种流程示意图。在该实施例中,遍历窗口后,在组合键不被使用时,基于当前窗口的坐标信息和被使用的方向键,尝试确定目标窗口,在目标窗口中进行选择,当不存在目标窗口时,在备选窗口中进行选择;在有组合键被使用时,基于当前窗口的坐标信息和组合键中的方向键,在备选窗口中进行选择;其中组合键为除方向键之外的任一功能键与方向键的组合,例如常用的shift功能键。该方法具体包括,
可选地,步骤401,获取布局中任一窗口的窗口坐标信息,以作为在使用方向键进行选择操作之前的默认的窗口;例如,将布局中左上角窗口作为当前窗口,
可选地,遍历布局中的所有窗口,以获得各个窗口的窗口信息,所述窗口信息包括,窗口坐标信息以及编号信息,其中,坐标信息包括直角坐标系中构成窗口最小坐标位置的最小x坐标和最小y坐标、以及最大坐标位置的最大x坐标和最大y坐标。
所应理解的是,窗口信息可以在任何需要用到时获取,包括且不限于,需要计算窗口之间的距离时获取窗口坐标信息,存在多个距离最小的窗口时获取窗口编号信息。
可选地,步骤402,初始化目标窗口变量、备选窗口变量,以将目标窗口、备选窗口赋值为当前窗口变量。
上述步骤401和402为便于程序实现初始化步骤,可根据程序设计需要来选择具体的方式。
可选地,步骤403,判断组合键是否被使用,
如果是,则执行步骤409,以确定备选窗口,
否则,则判断方向键是否被使用,在被使用时,执行步骤404,以确定备选窗口和目标窗口;在未被使用时,返回步骤403。在该步骤中,基于任意组合键,扩大了窗口的选择范围,使得在极端情况下,可以根据需要快速地选取想要选择的窗口,方便了用户的操作,提升了用户体验。例如,参见图5,图5为极端情况下的一种示意图。图中,当前窗口为窗口500时,位于九宫格中心的窗口504可以通过两种组合键被选中。
可选地,步骤404,响应于方向键被使用而产生的输入信号,判断当前窗口的方向键方向是否无窗口,
如果是,说明当前窗口已位于窗口布局中的最边界而无可选择的窗口,故将当前窗口作为被选中的窗口,并结束,以图3为例,当窗口300为当前窗口、指向上方的方向键↑被使用,这时该方向上无窗口,故而将当前窗口300作为被选中窗口,结束本流程;
否则,则执行步骤405,以实现响应于被使用的方向键,在存在目标窗口时,在目标窗口中进行选择,当不存在目标窗口时,在备选窗口中进行选择。
步骤405,根据所使用方向键指向方向和当前窗口坐标信息,选取目标窗口,
可选地,根据所使用方向键指向方向和当前窗口坐标信息,尝试选取目标窗口,如果目标窗口存在,则执行步骤406,否则,执行步骤411,以根据所使用方向键指向方向和当前窗口坐标信息,选取备选窗口。
步骤405还可以是,根据所使用方向键指向方向和当前窗口坐标信息,选取备选窗口,如果存在目标窗口,则在备选窗口中选取目标窗口,如果不存在目标窗口,则选取备选窗口。
例如,上述备选窗口、目标窗口的确定方式可以采用如前文所述的方式,或者也可以不限于前文所述的方式,实际应用中,可以根据期望选择的窗口结合窗口相关信息来设计。
步骤406,根据当前窗口和目标窗口的窗口坐标信息,分别计算当前窗口与各个目标窗口的窗口距离,
例如,在该步骤中,可以根据两窗口间窗口最小坐标位置之间距离,得到窗口距离。该窗口坐标信息可以是窗口对应的矩形框的坐标信息,计算窗口距离的方式可以采用如前文所述的方式。
可选地,步骤407,判断与当前窗口具有最小窗口距离的目标窗口是否唯一,如果是,则将该目标窗口作为第一被选中窗口,
否则,根据目标窗口的编号信息,在与当前窗口具有最小窗口距离的目标窗口中,选择具有最高优先级的目标窗口作为第一被选中窗口,例如,按照编号数值越大优先级越低的原则,则选择具有较小数值的目标窗口;
可选地,步骤408,判断包括步骤405所述的方向键的组合键是否被使用,
如果是,则在备选窗口中选取除去目标窗口之外的剩余备选窗口,根据当前窗口和所述剩余备选窗口的窗口坐标信息,分别计算当前窗口与各个剩余备选窗口的窗口距离,
可选地,判断与当前窗口具有最小窗口距离的剩余备选窗口是否唯一,如果是,则该剩余备选窗口作为第二被选中窗口,否则,根据备选窗口的编号信息,在与当前窗口具有最小窗口距离的剩余备选窗口中,选择具有最高优先级的备选窗口作为第二被选中窗口,
将第一被选中窗口和第二被选中窗口中与当前窗口距离最小的窗口作为最终选择窗口,并将最终的选择窗口赋值给当前窗口变量;
如果步骤405所述的方向键的组合键未被使用,则将第一被选中窗口作为最终选择窗口;
将最终的选择窗口赋值给当前窗口变量,以便于下一次方向键/组合键被使用时进行窗口选择,等待接收下一方向键/组合键信号,返回步骤403,直至响应退出该流程的输入信号而退出本流程。
通过该步骤,可以在当前方向键使用的过程中,通过组合键,去除目标窗口的优先级,从而选择范围扩大至备选窗口,并且,由于目标窗口是备选窗口的子集,这样,通过在剩余备选窗口进行选择相对于在所有备选窗口进行选择,能够提高选择的效率。
进一步可选地,如果被使用的组合键中的方向键与步骤405所述的方向键不同,则第一被选中窗口,作为最终选择窗口,以结束此次方向键被使用的响应处理,然后返回至步骤403,以响应于当前组合键的输入。
可选地,步骤409,响应于步骤403所使用的组合键被使用而产生的输入信号,判断前窗口的方向键方向是否无可选窗口,
如果是,则将当前窗口作为被选中的窗口,并结束,以图3为例,当窗口300为当前窗口、功能键与指向上方的方向键↑被使用,这时该方向上无可选窗口,故而将当前窗口300作为被选中窗口,结束本流程;
否则,执行步骤410。
较佳地,步骤410,根据组合键中方向键指向方向和当前窗口坐标信息,选取备选窗口,得到备选窗口信息,具体方式可以参考前文所述。
较佳地,步骤411,根据当前窗口和备选窗口的窗口坐标信息,分别计算当前窗口与各个备选窗口的窗口距离。该窗口坐标信息可以是窗口对应的矩形框的坐标信息,计算窗口距离的方式可以采用如前文所述的方式。
判断与当前窗口具有最小窗口距离的备选窗口是否唯一,如果是,则将该备选窗口作为最终的选择的被选中窗口;否则,根据备选窗口的编号信息,在与当前窗口具有最小窗口距离的备选窗口中,选择具有最高优先级的备选窗口作为最终选择的被选中窗口;
将最终的选择窗口赋值给当前窗口变量,以便于下一次方向键/组合键被使用时进行窗口选择,等待接收下一方向键/组合键信号,返回步骤403,直至响应退出该流程的输入信号而退出本流程。
本实施例针对被使用的方向键和组合键,直接采用不同的窗口选择策略,提高了选择的效率;基于包括当前所使用方向键的组合键,提供了一种快捷操作方式;基于任意组合键,扩大了窗口的选择范围,使得在极端情况下,可以根据需要快速地选取想要选择的窗口,方便了用户的操作,提升了用户体验。例如,参见图5,图5为极端情况下的一种示意图。图中,当前窗口为窗口500时,位于九宫格中心的窗口504可以通过两种组合键被选中。
上述实施例中,作为一种变化,可以不包括所述步骤403,相应地也可以不包括步骤408~410,即在存在目标窗口的情况下,选取与当前窗口距离最小的目标窗口,在不存在目标窗口的情况下,执行步骤411选择与当前窗口距离最小的备选窗口,这样,遍历窗口后,基于当前窗口的坐标信息和被使用的方向键,确定目标窗口和备选窗口。作为另一种变化,可以不包括步骤403、409-411,或者,可以不包括408,优先在目标窗口中进行选择,在该方向键组合功能键而成为的组合键被使用时,将选择范围扩大至备选窗口。其中一种变化的具体流程示意图可以参见图6所示。
尽管本实施例基于目标窗口是备选窗口的子集为例,所应理解的是,对于目标窗口与备选窗口存在交集的情形,可对相关步骤进行适应性调整。
实施例二
在实施例二中,可以利用第一窗口(可以看作是搜索窗口)遍历窗口布局中除当前窗口之外的窗口。并且,在利用第一窗口遍历至窗口布局中除当前窗口之外的任一窗口时,可以确定第一窗口的当前坐标范围。
如果第一窗口的当前坐标范围在目标窗口坐标范围,则:
在第一候选窗口为当前窗口(第一候选窗口可以看作是初始设定窗口为当前窗口的窗口变量)的情况下,可以将第一候选窗口更新为第一窗口(此时处于目标窗口坐标范围并且属于目标窗口);
在第一候选窗口不为当前窗口(被至少一次更新为不同于初始设定窗口的窗口)的情况下,确定第一候选窗口到当前窗口的第一距离、以及第一窗口到当前窗口的第二距离,若第一距离等于第二距离并且第一窗口具有比第一候选窗口更高的窗口优先级,则将第一候选窗口更新为第一窗口(即,更新为具有更高优先级的目标窗口),若第一距离大于第二距离,则将第一候选窗口更新为第一窗口(即,更新为距离当前窗口更近的目标窗口)。
如果第一窗口的当前坐标范围在备选窗口坐标范围且不在目标窗口坐标范围,或者,第一窗口的当前坐标范围在目标坐标范围并且组合键被使用,则:
在第二候选窗口为当前窗口(第二候选窗口可以看作是初始设定窗口为当前窗口的窗口变量)的情况下,将第二候选窗口更新为第一窗口(此时处于备选窗口坐标范围并且属于备选窗口);
在第二候选窗口不为当前窗口(被至少一次更新为不同于初始设定窗口的窗口)的情况下,确定第二候选窗口到当前窗口的第三距离、以及第一窗口到当前窗口的第二距离,若第三距离等于第二距离并且第一窗口具有比第二候选窗口更高的窗口优先级(即,更新为具有更高优先级的备选窗口),则将第二候选窗口更新为第一窗口,若第三距离大于第二距离,则将第二候选窗口更新为第一窗口(即,更新为距离当前窗口更近的备选窗口)。
在遍历完窗口布局中目标窗口坐标范围内的所有窗口的情况下,若第一候选窗口不为当前窗口(存在目标窗口)且组合键未被使用,则将第一候选窗口(已被更新为距离当前窗口最近的目标窗口)作为最终选择窗口;
在遍历完窗口布局中备选窗口坐标范围内的所有窗口的情况下,若第一候选窗口为当前窗口(不存在目标窗口)或组合键被使用,则将第二候选窗口(已被更新为距离当前窗口最近的备选窗口)作为最终选择窗口。
可选的,可以是遍历窗口布局中除当前窗口之外的所有窗口,并且在遍历完成后,确定最终选择窗口。
为了更好地理解上述基于遍历的窗口检测过程,下面结合一具体流程进行详细说明。
参见图7所示,图7为本申请窗口布局中基于方向键选择窗口的方法的一种流程示意图。在该实施例中,遍历窗口布局中每个窗口的过程中,基于方向键,对于当前查询的窗口进行排查,以逐窗口地更新当前第一候选窗口,最后,将当前第一候选窗口作为最终选择窗口。该方法具体包括,
可选地,步骤701,初始化第一候选窗口、第二候选窗口,将第一候选窗口、第二候选窗口赋值为当前窗口。
例如,将布局中左上角窗口作为当前窗口,即,在使用方向键进行选择操作之前,将默认的窗口作为当前窗口。
可选地,步骤702,判断窗口布局中的所有窗口是否遍历完成,
如果所有窗口遍历完成,则执行步骤708,以根据是否产生因用户使用组合键而产生的输入信号,来确定最终选择窗口。
如果未遍历完所有窗口,则获取窗口布局中的下一窗口,以得到该窗口信息,记为第一窗口,所述窗口信息包括窗口坐标信息和编号信息,然后执行步骤703,以响应于用户所使用方向键的输入信号而进行第一候选窗口的选择;
步骤703,响应于用户所使用方向键输入的方向键信号,根据方向键的输入信号,判断当前窗口在该方向键所指方向上是否已没有可选窗口,
如果是,则将当前第一候选窗口所对应的窗口作为最终选择窗口,并结束,以图3为例,当窗口300为当前窗口、指向上方的方向键↑被使用,这时该方向上无可选窗口,故而将当前窗口300作为被选中窗口,结束本流程。
否则,执行步骤704,以确定第一窗口是否为目标窗口。
可选地,步骤704,根据第一窗口的窗口坐标信息,计算第一窗口的坐标范围,即,确定第一窗口的最小坐标、最大坐标;
判断第一窗口是否是目标窗口,即,判断第一窗口是否在目标坐标范围内,
如果是,则执行步骤705,以在目标窗口中进行第一候选窗口选择,从而得到最终选择窗口;
否则,则执行步骤707,以获得在备选窗口中进行第一候选窗口选择,从而得到最终选择窗口;
其中,第一窗口满足如下条件时确定为目标窗口:
以图3为例,当方向键为指向右方的方向键→时,当前窗口的最小坐标点与第一窗口的最小坐标点所形成的有向线段与方向键的夹角小于90°,或者,第一窗口的最小y坐标大于或等于当前窗口的最大y坐标;并且,第一窗口的最大坐标和/或最小坐标中的x坐标大于等于当前窗口最小x坐标、小于等于当前窗口最大x坐标(需注意,满足最大x坐标等于当前窗口最小x坐标或最小x坐标等于当前窗口最大x坐标的窗口不属于目标窗口);
当方向键为指向左方的方向键←时,当前窗口的最小坐标点与第一窗口的最小坐标点所形成的有向线段与方向键的夹角小于90°,或者,第一窗口最大y坐标小于或等于当前窗口的最小y坐标;并且,第一窗口的最大坐标和/或最小坐标中的x坐标大于等于当前窗口最小x坐标、小于等于当前窗口最大x坐标(需注意,满足最大x坐标等于当前窗口最小x坐标或最小x坐标等于当前窗口最大x坐标的窗口不属于目标窗口);
当方向键为指向上方的方向键↑时,当前窗口的最小坐标点与第一窗口的最小坐标点所形成的有向线段与方向键的夹角小于90°,或者,第一窗口最大x坐标小于或等于当前窗口的最小x坐标的窗口;并且,第一窗口的最大坐标和/或最小坐标中的y坐标大于等于当前窗口最小y坐标、小于等于当前窗口最大y坐标(需注意,满足最大y坐标等于当前窗口最小y坐标或最小y坐标等于当前窗口最大y坐标的窗口不属于目标窗口);
当方向键为指向下方的方向键↓时,当前窗口的最小坐标点与第一窗口的最小坐标点所形成的有向线段与方向键的夹角小于90°,或者,最小x坐标大于或等于当前窗口的最大x坐标;并且,第一窗口的最大坐标和/或最小坐标中的y坐标大于当前窗口最小y坐标、小于等于当前窗口最大y坐标(需注意,满足最大y坐标等于当前窗口最小y坐标或最小y坐标等于当前窗口最大y坐标的窗口不属于目标窗口);
可见,由目标窗口的窗口坐标信息构成的坐标集合可以得到目标坐标范围。
步骤705,判断第一候选窗口是否是当前窗口,
如果是,则说明该第一候选窗口是上次方向键被使用时所选中的窗口,或者是初始时默认的窗口,故将第一窗口变量赋值给当前第一候选窗口变量,以将第一窗口作为目标窗口,
否则,说明尚在第一候选窗口选择过程中,则计算当前第一候选窗口的最小坐标点到当前窗口最小坐标点的第一距离,以及计算第一窗口的最小坐标点到当前窗口的最小坐标点第二距离,判断第一距离是否与第二距离相等,
如果相等,则根据窗口的编号信息,在当前第一候选窗口和第一窗口中选择具有较高优先级的窗口,例如,按照编号数值越大优先级越低的原则,则选择具有较小数值的窗口;将当前第一候选窗口更新为所选择的窗口。这里,“将当前第一候选窗口更新为所选择的窗口”具体可以是:若距离相等且第一窗口具有比第一候选窗口更高的窗口优先级,则将第一候选窗口更新为第一窗口;若距离相等且第一候选窗口具有比第一窗口更高的窗口优先级,则保持第一候选窗口不变。
如果不相等,则在当前第一候选窗口和第一窗口中选择距离较小的窗口,将当前第一候选窗口更新为所选择的窗口。这里,“将当前第一候选窗口更新为所选择的窗口”具体可以是:若第一距离大于第二距离,则将第一候选窗口更新为第一窗口;若第一距离小于第二距离,则保持第一候选窗口不变。
可选地,步骤706,判断组合键是否被使用,如果是,则执行步骤707,以响应于用户所使用组合键的输入信号而切换至备选窗口中选择第一候选窗口,从而在备选窗口(含目标窗口)中选择与当前窗口距离最小的备选窗口来作为第二候选窗口;否则,返回步骤702,以获取下一窗口。
步骤707,判断第一窗口是否是备选窗口,
如果不是,则返回步骤702,以获取下一窗口
如果是,则判断当前第二候选窗口是否是当前窗口,
如果是,则说明该备选窗口是初始时默认的窗口,故将第一窗口变量赋值给当前第二候选窗口变量,以便当前第二候选窗口变量更新为第一窗口,然后返回步骤702,以获取下一窗口。
否则,则计算当前第二候选窗口的最小坐标点到当前窗口最小坐标点的第三距离,以及计算第一窗口的最小坐标点到当前窗口的最小坐标点第二距离,判断第三距离是否与第二距离相等,
如果相等,则根据窗口的编号信息,在当前第二候选窗口和第一窗口中选择具有较高优先级的窗口,例如,按照编号数值越大优先级越低的原则,从选择具有较小数值的窗口;将当前第二候选窗口更新为所选择窗口。这里,“将当前第二候选窗口更新为所选择窗口”具体可以是:若距离相等并且第一窗口具有比第二候选窗口更高的窗口优先级,则将第二候选窗口更新为第一窗口;若距离相等且第二候选窗口具有比第一窗口更高的窗口优先级,则保持第二候选窗口不变。
如果不相等,则在当前第二候选窗口和第一窗口中选出与当前窗口距离较小的窗口,将当前第二候选窗口变量更新为所选择窗口。这里,“将当前第二候选窗口变量更新为所选择窗口”具体可以是:若第三距离大于第二距离,则将第二候选窗口更新为第一窗口;若第三距离小于第二距离,则保持第二候选窗口不变。
返回步骤702,以遍历下一窗口。
其中,第一窗口满足如下条件时确定为备选窗口:
以图3为例,当方向键为指向右方的方向键→时,当前窗口的最小坐标点与第一窗口的最小坐标点所形成的有向线段与方向键的夹角小于90°,或者,第一窗口的最小y坐标大于或等于当前窗口的最大y坐标;
当方向键为指向左方的方向键←时,当前窗口的最小坐标点与第一窗口的最小坐标点所形成的有向线段与方向键的夹角小于90°,或者,第一窗口最大y坐标小于或等于当前窗口的最小y坐标;
当方向键为指向上方的方向键↑时,当前窗口的最小坐标点与第一窗口的最小坐标点所形成的有向线段与方向键的夹角小于90°,或者,第一窗口最大x坐标小于或等于当前窗口的最小x坐标的窗口;
当方向键为指向下方的方向键↓时,当前窗口的最小坐标点与第一窗口的最小坐标点所形成的有向线段与方向键的夹角小于90°,或者,第一窗口最小x坐标大于或等于当前窗口的最大x坐标的窗口;
可见,由备选窗口的窗口坐标信息构成的坐标集合可以形成备选坐标范围。
当遍历完所有窗口时:
可选地,步骤708,判断组合键是否被使用,
如果组合键被使用,则计算当前第二候选窗口的最小坐标点到当前窗口最小坐标点的第三距离,以及计算当前第一候选窗口的最小坐标点到当前窗口最小坐标点的第一距离,判断第三距离是否与第一距离相等,
如果相等,则根据窗口的编号信息,在当前第二候选窗口和当前第一候选窗口的中选择具有较高优先级的窗口,例如,按照编号数值越大优先级越低的原则,选择具有较小数值的窗口;将当前第一候选窗口更新为所选择窗口;这里,“当前第一候选窗口更新为所选择窗口”具体可以是:若距离相等并且当前第二候选窗口具有比当前第一候选窗口更高的窗口优先级,则将当前第一候选窗口更新为当前第二候选窗口;若距离相等且当前第一候选窗口具有比当前第二候选窗口更高的窗口优先级,则保持当前第一候选窗口不变。
如果不相等,则在当前第二候选窗口和当前第一候选窗口的中选择距离最小的窗口;将当前第一候选窗口更新为所选择窗口;这里,“当前第一候选窗口更新为所选择窗口”具体可以是:若第一距离大于第三距离,则将当前第一候选窗口更新为当前第二候选窗口;若第一距离小于第三距离,则保持当前第一候选窗口不变。
然后执行步骤709,以将当前第一候选窗口作为最终选择窗口。
可选的,由于目标窗口是备选窗口的子集,在步骤708判断组合键被使用的情况下,可以直接将第二候选窗口作为最终选择窗口。
如果组合键未被使用,则判断当前第一候选窗口是否是当前窗口(即不存在目标窗口),如果是,则将当前第二候选窗口变量赋值给当前第一候选窗口变量,以便将当前第一候选窗口更新为当前备选窗口,然后执行步骤709,从而使得当前备选窗口作为最终选择窗口,否则,直接执行步骤709,
可选的,若组合键未被使用且第一候选窗口为当前窗口,可以直接将第二候选窗口作为最终选择窗口。
可选地,步骤709,将当前第一候选窗口作为最终选择窗口,并结束。
上述流程总结起来,包括了如下处理:
1.逐窗口地遍历窗口布局中的每一窗口,根据使用的方向键,判断当前窗口在方向键方向上是否没有可选窗口了,如果是,则直接结束查找,返回第一候选窗口。否则选择出布局中的第一窗口;
2.计算窗口布局中的第一窗口的坐标范围,判断是否在目标坐标内,如果是则判断第一候选窗口是否是当前窗口,如果是,则将第一候选窗口更新为第一窗口,否则分别计算第一候选窗口到当前窗口的第一距离、第一窗口到当前窗口的第二距离,判断第一距离是否等于第二距离,若等于则把第一候选窗口确定为窗口号较小的窗口,否则把第一候选窗口确定为距离较小的窗口。第一候选窗口确定后判断是否使用了组合键对窗口进行选择,例如,Shift+【↑↓←→】组合键,否则进入下一窗口的循环;
3.如果第一窗口的坐标范围不在目标坐标内,或者在目标坐标内且使用了组合键对窗口进行选择,则判断第一窗口的坐标范围是否在备选坐标内,如果是则判断第二候选窗口是否等于当前窗口,是则把第二候选窗口更新为第一窗口,否则分别计算第二候选窗口到当前窗口的第三距离、第一窗口到当前窗口的第二距离,判断第三距离是否等于第二距离,若等于则把第二候选窗口确定为窗口号较小的窗口,否则把第二候选窗口确定为距离较小的窗口。进入下一窗口的循环。
4.当遍历完当前布局中的所有窗口,判断是否使用了组合键对窗口进行选择,是则分别计算第一候选窗口到当前窗口第一的距离、第二候选窗口到当前窗口的第三距离,判断第一距离是否等于第三距离,若等于则把第一候选窗口确定为窗口号较小的窗口,否则把第一候选窗口确定为距离较小的窗口。如果没有使用组合键对窗口进行选择,则判断第一候选窗口是否等于当前窗口,是则把第一候选窗口更新为第二候选窗口。将当前第一候选窗口作为最终选择窗口。
在目标窗口是备选窗口的子集的情况下,即相当于,当遍历完当前布局中的所有窗口,判断是否使用了组合键对窗口进行选择,若组合键被使用或第一候选窗口为当前窗口,则将第二候选窗口作为最终选择窗口;若组合键未被使用且第一候选窗口不为当前窗口,则将第一候选窗口作为最终选择窗口。
本实施例使用这种方法对布局的窗口进行选择时,不仅可以对非合并窗口进行选择,同时也可以对合并窗口进行选择,而且当存在孤立窗口时,同样也可以对孤立窗口进行选择。并且,本实施例通过流程的处理过程,能够使得目标窗口的优先级大于备选窗口,也就是说,当有目标窗口候选时,则优先使用目标坐标范围内的窗口作为候选窗口进行返回。即使存在如图5的极端情况时,用户可以通过组合键来去除优先级,从而选择备选坐标范围内距离当前窗口最近的窗口。
在实际应用中,为了界面窗口的美观设计,界面窗口可以有不同的形状,例如,窗口可以为圆形、环形、三角形、五边形等非矩形形装,如前所述,对于窗口为非矩形所组成的窗口,可以将每个单位窗口图形化为矩形框,并基于矩形框建立窗口信息,从而可以采用本申请的方法来进行窗口选择。其中,将窗口图形化为矩形框可以是,基于单位窗口图形的外轮廓构建矩形框。
参见图8所示,图8为具有不同图形的单位窗口的界面。图中,虚线表示基于单位窗口的外轮廓所构建的矩形框,窗口坐标信息/矩形框的坐标信息包括所构建的矩形框的最小坐标和最大坐标。
参见图9所示,图9为一种在窗口布局中基于方向键选择窗口的装置的示意图,该装置包括,
第一选择模块,用于响应于使用方向键输入的方向键信号,在存在目标窗口的情况下,将与当前窗口距离最小的目标窗口作为最终选择窗口,
其中,目标窗口为:至少一部分窗口区域在第一平移区域内的窗口(完整和/或不完整窗口),第一平移区域为当前窗口在窗口布局中按照所述方向键所指方向进行直线平移而形成的区域。
可选的,在以矩形框规范化窗口坐标信息的情况下,第一选择模块可以具体用于,获取当前窗口对应的矩形框的坐标信息、以及各个目标窗口对应的矩形框的窗口坐标信息,计算当前窗口对应的矩形框与各个目标窗口对应的矩形框之间的距离(比如矩形框的同方位的顶点之间的距离),作为当前窗口与各个目标窗口之间的距离,选择与当前窗口具有最小距离的目标窗口。
针对不同形状的窗口构建的矩形框的形态、窗口坐标信息的具体内容、以及矩形框的同方位的顶点之间的距离可以详见前文,本文不再赘述。
优选地,第一选择模块在确定最终选择窗口时,可以具体用于:如果与当前窗口距离最小的目标窗口不唯一,则按照用于标识窗口优先级的窗口编号信息,选择优先级最高的目标窗口。
作为可选的优化方案,该装置还可以第二选择模块,用于在响应于所述方向键信号的目标窗口不存在的情况下,将与当前窗口距离最小的备选窗口作为最终选择窗口;和/或,响应于输入的组合键信号,将与当前窗口距离最小的备选窗口作为最终选择窗口,
其中,如前所述,组合键可以包括至少一方向键、以及除方向键之外的至少一功能键的组合;
备选窗口可以为:在当前窗口的方向键所指方向侧的窗口中,除了当前窗口在窗口布局中按照与方向键所指方向呈90°的方向进行直线平移而形成的第二平移区域之外的完整窗口。
可选的,第二选择模块可以用于确定备选窗口,在确定备选窗口时,具体用于:计算当前窗口的最小坐标点到窗口布局中除当前窗口之外的其他窗口的最小坐标点的有向线段与方向键所指方向之间的夹角,如果夹角小于90°,且所述其他窗口为位于第二平移区域之外的完整窗口,则将该窗口作为备选窗口。
或者,在以矩形框规范化窗口坐标信息的情况下,第二选择模块可以具体用于,获取当前窗口对应的矩形框、以及各个备选窗口对应的矩形框的窗口坐标信息,计算当前窗口对应的矩形框与各个备选窗口对应的矩形框之间的距离(比如矩形框的同方位的顶点之间的距离),选择与当前窗口具有最小距离的备选窗口。
优选地,第二选择模块在确定所述最终选择窗口时,可以具体用于:如果与当前窗口距离最小的备选窗口不唯一,则按照用于标识窗口优先级的窗口编号信息,选择优先级最高的备选窗口。
仍参见图9,该装置可以进一步包括窗口信息获取模块,用于利用第一窗口遍历窗口布局中除当前窗口之外的窗口,并且在利用第一窗口遍历至窗口布局中除当前窗口之外的任一窗口时,确定第一窗口的当前坐标范围,
如果第一窗口的当前坐标范围在目标窗口坐标范围,则第一选择模块还可以用于:
在第一候选窗口为当前窗口的情况下将第一候选窗口更新为第一窗口;
在第一候选窗口不为当前窗口的情况下,确定第一候选窗口到当前窗口的第一距离、以及第一窗口到当前窗口的第二距离,若第一距离等于第二距离并且第一窗口具有比第一候选窗口更高的窗口优先级,则将第一候选窗口更新为第一窗口,若第一距离大于第二距离,则将第一候选窗口更新为第一窗口;
如果第一窗口的当前坐标范围在备选窗口坐标范围且不在目标窗口坐标范围,或,第一窗口的当前坐标范围在目标坐标并且组合键被使用,则第二选择模块还可用于:
在第二候选窗口为当前窗口的情况下将第二候选窗口更新为第一窗口;
在第二候选窗口不为当前窗口的情况下,确定第二候选窗口到当前窗口的第三距离、以及第一窗口到当前窗口的第二距离,若第三距离等于第二距离并且第一窗口具有比第二候选窗口更高的窗口优先级,则将第二候选窗口更新为第一窗口,若第三距离大于第二距离,则将第二候选窗口更新为第一窗口。
在至少遍历完窗口布局中目标窗口坐标范围内的所有窗口的情况下,若组合键未被使用且第一候选窗口不为当前窗口(存在目标窗口),则第一选择模块可以将第一候选窗口作为最终选择窗口;
在至少遍历完窗口布局中备选窗口坐标范围内的所有窗口的情况下,若组合键被使用或第一候选窗口为当前窗口(不存在目标窗口),则第二选择模块可以将第二候选窗口作为最终选择窗口。
本领域技术人员可以理解,图9中示出的模块结构并不构成对该装置的限定,可以包括比图示更多或更少的模块,或者组合某些模块。本申请实施例提供的一种在窗口布局中基于方向键选择窗口的装置至少包括第一选择模块。
本申请实施例还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时本申请实施例所述的在窗口布局中基于方向键选择窗口的方法的步骤。
本申请还提供一种计算机程序,所述计算机程序被处理器执行时实现本申请实施例所述的在窗口布局中基于方向键选择窗口的方法的步骤。
本申请实施例还提供一种电子设备,该设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器被配置执行计算机程序实现本申请实施例所述的在窗口布局中基于方向键选择窗口的方法的步骤。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
对于装置/网络侧设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (11)
1.一种在窗口布局中基于方向键选择窗口的方法,其特征在于,该方法包括,
响应于使用方向键输入的方向键信号,在存在目标窗口的情况下,将与当前窗口距离最小的目标窗口作为最终选择窗口,
其中,目标窗口为:至少一部分窗口区域在第一平移区域内的窗口,第一平移区域为当前窗口在窗口布局中按照所述方向键所指方向进行直线平移而形成的区域。
2.如权利要求1所述的方法,其特征在于,该方法进一步包括,
在响应于所述方向键信号的目标窗口不存在的情况下,将与当前窗口距离最小的备选窗口作为最终选择窗口,和/或,
响应于使用组合键输入的组合键信号,将与当前窗口距离最小的备选窗口作为最终选择窗口,
其中,
所述组合键包括至少一方向键、以及除方向键之外的至少一功能键的组合,
备选窗口为:在当前窗口的方向键所指方向侧的窗口中,除了当前窗口在窗口布局中按照与所述方向键所指方向呈90°的方向进行直线平移而形成的第二平移区域之外的完整窗口。
3.如权利要求1或2所述的方法,其特征在于,
所述目标窗口为:全部窗口区域在第一平移区域内的完整窗口;
所述最终选择窗口的选取包括:
如果与当前窗口距离最小的窗口不唯一,则按照用于标识窗口优先级的窗口编号信息,选择优先级最高的窗口。
4.如权利要求2所述的方法,其特征在于,
所述将与当前窗口距离最小的目标窗口作为最终选择窗口,包括:获取当前窗口对应的矩形框的坐标信息、以及各个目标窗口对应的矩形框的坐标信息,计算当前窗口对应的矩形框与各个目标窗口对应的矩形框之间的距离,作为当前窗口与各个目标窗口之间的距离,选择与当前窗口具有最小距离的目标窗口,
所述将与当前窗口距离最小的备选窗口作为最终选择窗口,包括:获取当前窗口对应的矩形框的坐标信息、以及各个备选窗口对应的矩形框的坐标信息,计算当前窗口对应的矩形框与各个备选窗口对应的矩形框之间的距离,作为当前窗口与各个备选窗口之间的距离,选择与当前窗口具有最小距离的备选窗口,
其中,所述坐标信息至少包括:以第一方向为X轴正方向、与第一方向垂直的第二方向为Y轴的正方向所建立的直角坐标系中,矩形框的顶点的坐标信息,所述顶点由矩形框的最小x坐标和最大x坐标中的任一个坐标,与,最小y坐标和最大y坐标中的任一个坐标组成;所述距离为矩形框的同方位的顶点之间的距离。
5.如权利要求4所述的方法,其特征在于,
所述顶点为矩形框的最小x坐标和最小y坐标组成的最小坐标点,
所述距离为矩形框的最小坐标点之间的距离;
形状为矩形的窗口对应的矩形框为该窗口的外轮廓,和/或,形状为非矩形的窗口对应的矩形框为基于该窗口的外轮廓所构建的矩形包络。
6.如权利要求2所述的方法,其特征在于,所述备选窗口按照如下方式确定:
计算当前窗口的任一点到窗口布局中除当前窗口之外的其他窗口的任一点的有向线段与所述方向键所指方向之间的夹角,
如果夹角小于90°,且其他窗口为位于第二平移区域之外的完整窗口,则将该其他窗口作为备选窗口。
7.如权利要求2所述的方法,其特征在于,
所述备选窗口按照如下方式确定:
当方向键为指向右方的方向键时,将位于当前窗口右侧的完整窗口中最小y坐标大于或等于当前窗口的最大y坐标的窗口,作为备选窗口,
当方向键为指向左方的方向键时,将位于当前窗口左侧的完整窗口中最大y坐标小于或等于当前窗口的最小y坐标的窗口,作为备选窗口,
当方向键为指向上方的方向键时,将位于当前窗口上侧的完整窗口中最大x坐标小于或等于当前窗口的最小x坐标的窗口,作为备选窗口,
当方向键为指向下方的方向键时,将位于当前窗口下侧的完整窗口中最小x坐标大于或等于当前窗口的最大x坐标的窗口,作为备选窗口;
所述目标窗口按照如下方式确定:
当方向键为指向右方的方向键时,将满足最大x坐标和/或最小x坐标在第一平移范围内的窗口,作为目标窗口;
当方向键为指向左方的方向键时,将满足最大x坐标和/或最小x坐标在第一平移范围内的窗口,作为目标窗口;
当方向键为指向上方的方向键时,将满足最大y坐标和/或最小y坐标在第一平移范围内的窗口,作为目标窗口;
当方向键为指向下方的方向键时,将满足最大y坐标和/或最小y坐标在第一平移范围内的窗口,作为目标窗口;
其中,窗口的最大x坐标、最小x坐标、最大y坐标、最小y坐标为在以第一方向为X轴正方向、与第一方向垂直的第二方向为Y轴的正方向所建立的直角坐标系中的坐标,所述第二方向指向右方,所述第一方向指向下方。
8.如权利要求2所述的方法,其特征在于,该方法进一步包括,
在利用第一窗口遍历至窗口布局中除当前窗口之外的任一窗口时,确定第一窗口的当前坐标范围,
如果第一窗口的当前坐标范围在目标窗口坐标范围,则:在第一候选窗口为当前窗口的情况下将第一候选窗口更新为第一窗口;在第一候选窗口不为当前窗口的情况下,确定第一候选窗口到当前窗口的第一距离、以及第一窗口到当前窗口的第二距离,若第一距离等于第二距离并且第一窗口具有比第一候选窗口更高的窗口优先级,则将第一候选窗口更新为第一窗口,若第一距离大于第二距离,则将第一候选窗口更新为第一窗口;
如果第一窗口的当前坐标范围在备选窗口坐标范围且不在目标窗口坐标范围,或者,第一窗口的当前坐标范围在目标坐标范围并且组合键被使用,则:在第二候选窗口为当前窗口的情况下将第二候选窗口更新为第一窗口;在第二候选窗口不为当前窗口的情况下,确定第二候选窗口到当前窗口的第三距离、以及第一窗口到当前窗口的第二距离,若第三距离等于第二距离并且第一窗口具有比第二候选窗口更高的窗口优先级,则将第二候选窗口更新为第一窗口,若第三距离大于第二距离,则将第二候选窗口更新为第一窗口;
所述响应于使用方向键输入的方向键信号,在存在目标窗口的情况下,将与当前窗口距离最小的目标窗口作为最终选择窗口,包括:在遍历完窗口布局中目标窗口坐标范围内的所有窗口的情况下,若组合键未被使用且第一候选窗口不为当前窗口,则将第一候选窗口作为最终选择窗口;
所述在响应于所述方向键信号的目标窗口不存在的情况下,将与当前窗口距离最小的备选窗口作为最终选择窗口,和/或,响应于使用组合键输入的组合键信号,将与当前窗口距离最小的备选窗口作为最终选择窗口,包括:在遍历完窗口布局中备选窗口坐标范围内的所有窗口的情况下,若组合键被使用或第一候选窗口为当前窗口,则将第二候选窗口作为最终选择窗口。
9.一种在窗口布局中基于方向键选择窗口的装置,其特征在于,该装置包括,
第一选择模块,用于响应于使用方向键输入的方向键信号,在存在目标窗口的情况下,将与当前窗口距离最小的目标窗口作为最终选择窗口,
其中,目标窗口为:至少一部分窗口区域在第一平移区域内的窗口,第一平移区域为当前窗口在窗口布局中按照所述方向键所指方向进行直线平移而形成的区域。
10.如权利要求9所述的装置,其特征在于,该装置还包括,
第二选择模块,用于在响应于所述方向键信号的目标窗口不存在的情况下,将与当前窗口距离最小的备选窗口作为最终选择窗口;和/或,响应于输入的组合键信号,将与当前窗口距离最小的备选窗口作为最终选择窗口,
其中,所述组合键包括至少一方向键、以及除方向键之外的至少一功能键的组合;备选窗口为:在当前窗口的方向键所指方向侧的窗口中,除了当前窗口在窗口布局中按照与所述方向键所指方向呈90°的方向进行直线平移而形成的第二平移区域之外的完整窗口;
所述目标窗口为:全部窗口区域在第一平移区域内的完整窗口;
所述第一选择模块和/或第二选择模块在确定所述最终选择窗口时,具体用于:如果与当前窗口距离最小的窗口不唯一,则按照用于标识窗口优先级的窗口编号信息,选择优先级最高的窗口;
所述第一选择模块具体用于,获取当前窗口对应的矩形框的坐标信息、以及各个目标窗口对应的矩形框的坐标信息,计算当前窗口对应的矩形框与各个目标窗口对应的矩形框之间的距离,作为当前窗口与各个目标窗口之间的距离,选择与当前窗口具有最小距离的目标窗口,
所述第二选择模块具体用于,获取当前窗口对应的矩形框的坐标信息、以及各个备选窗口对应的矩形框的坐标信息,计算当前窗口对应的矩形框与各个备选窗口对应的矩形框之间的距离,作为当前窗口与各个备选窗口之间的距离,选择与当前窗口具有最小距离的备选窗口,
所述坐标信息至少包括:以第一方向为X轴正方向、与第一方向垂直的第二方向为Y轴的正方向所建立的直角坐标系中,矩形框的顶点的坐标信息,所述顶点由矩形框的最小x坐标和最大x坐标中的任一个坐标,与,最小y坐标和最大y坐标中的任一个坐标组成;所述距离为矩形框的同方位的顶点之间的距离;
所述顶点为矩形框的最小x坐标和最小y坐标组成的最小坐标点,则所述距离为矩形框的最小坐标点之间的距离;
形状为矩形的窗口对应的矩形框为该窗口的外轮廓,和/或,形状为非矩形的窗口对应的矩形框为基于该窗口的外轮廓所构建的矩形包络;
所述第二选择模块,还用于确定所述备选窗口,在确定所述备选窗口时,具体用于:计算当前窗口的任一点到窗口布局中除当前窗口之外的其他窗口的任一点的有向线段与方向键所指方向之间的夹角,如果夹角小于90°,且所述其他窗口为位于第二平移区域之外的完整窗口,则将该窗口作为备选窗口;
或者
所述第二选择模块,在确定所述备选窗口时,具体用于:
当方向键为指向右方的方向键时,将位于当前窗口右侧的完整窗口中最小y坐标大于或等于当前窗口的最大y坐标的窗口,作为备选窗口,
当方向键为指向左方的方向键时,将位于当前窗口左侧的完整窗口中最大y坐标小于或等于当前窗口的最小y坐标的窗口,作为备选窗口,
当方向键为指向上方的方向键时,将位于当前窗口上侧的完整窗口中最大x坐标小于或等于当前窗口的最小x坐标的窗口,作为备选窗口,
当方向键为指向下方的方向键时,将位于当前窗口下侧的完整窗口中最小x坐标大于或等于当前窗口的最大x坐标的窗口,作为备选窗口;
所述第一选择模块,还用于确定所述目标窗口,在确定所述目标窗口时具体用于:
当方向键为指向右方的方向键时,将满足最大x坐标和/或最小x坐标在第一平移范围内的窗口,作为目标窗口;
当方向键为指向左方的方向键时,将满足最大x坐标和/或最小x坐标在第一平移范围内的窗口,作为目标窗口;
当方向键为指向上方的方向键时,将满足最大y坐标和/或最小y坐标在第一平移范围内的窗口,作为目标窗口;
当方向键为指向下方的方向键时,将满足最大y坐标和/或最小y坐标在第一平移范围内的窗口,作为目标窗口;
其中,窗口的最大x坐标、最小x坐标、最大y坐标、最小y坐标为在以第一方向为X轴正方向、与第一方向垂直的第二方向为Y轴的正方向所建立的直角坐标系中的坐标,所述第二方向指向右方,所述第一方向指向下方;
该装置进一步包括窗口信息获取模块,用于利用第一窗口遍历窗口布局中除当前窗口之外的窗口,并且在利用第一窗口遍历至窗口布局中除当前窗口之外的任一窗口时,确定第一窗口的当前坐标范围,
如果第一窗口的当前坐标范围在目标窗口坐标范围,则所述第一选择模块还用于:在第一候选窗口为当前窗口的情况下将第一候选窗口更新为第一窗口;在第一候选窗口不为当前窗口的情况下,确定第一候选窗口到当前窗口的第一距离、以及第一窗口到当前窗口的第二距离,若第一距离等于第二距离并且第一窗口具有比第一候选窗口更高的窗口优先级,则将第一候选窗口更新为第一窗口,若第一距离大于第二距离,则将第一候选窗口更新为第一窗口;
如果第一窗口的当前坐标范围在备选窗口坐标范围且不在目标窗口坐标范围,或者,第一窗口的当前坐标范围在目标坐标并且组合键被使用,则第二选择模块还用于:在第二候选窗口为当前窗口的情况下将第二候选窗口更新为第一窗口;在第二候选窗口不为当前窗口的情况下,确定第二候选窗口到当前窗口的第三距离、以及第一窗口到当前窗口的第二距离,若第三距离等于第二距离并且第一窗口具有比第二候选窗口更高的窗口优先级,则将第二候选窗口更新为第一窗口,若第三距离大于第二距离,则将第二候选窗口更新为第一窗口;
在遍历完窗口布局中目标窗口坐标范围内的所有窗口的情况下,若组合键未被使用且第一候选窗口不为当前窗口,则所述第一选择模块将第一候选窗口作为最终选择窗口;
在遍历完窗口布局中备选窗口坐标范围内的所有窗口的情况下,若组合键被使用或第一候选窗口为当前窗口,则所述第二选择模块将第二候选窗口作为最终选择窗口。
11.一种电子设备,其特征在于,该设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器被配置执行计算机程序实现权利要求1至8任一所述一种在窗口布局中基于方向键选择窗口的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011375250.5A CN112445565B (zh) | 2020-11-30 | 2020-11-30 | 一种窗口布局中基于方向键选择窗口的方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011375250.5A CN112445565B (zh) | 2020-11-30 | 2020-11-30 | 一种窗口布局中基于方向键选择窗口的方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112445565A true CN112445565A (zh) | 2021-03-05 |
CN112445565B CN112445565B (zh) | 2022-10-25 |
Family
ID=74738827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011375250.5A Active CN112445565B (zh) | 2020-11-30 | 2020-11-30 | 一种窗口布局中基于方向键选择窗口的方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112445565B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189740A1 (en) * | 2000-02-01 | 2008-08-07 | United Video Properties, Inc. | Interactive television application with navigable cells and regions |
CN101924892A (zh) * | 2010-08-20 | 2010-12-22 | 深圳市同洲电子股份有限公司 | 数字电视接收终端的菜单展示方法、系统及接收终端 |
US20110148933A1 (en) * | 2008-09-05 | 2011-06-23 | Ntt Docomo, Inc. | Information-processing device and program |
CN102202240A (zh) * | 2011-05-19 | 2011-09-28 | 广东星海数字家庭产业技术研究院有限公司 | 一种机顶盒浏览器控制焦点跳转方法 |
CN103491405A (zh) * | 2013-08-30 | 2014-01-01 | 小米科技有限责任公司 | 遥控系统、遥控器、显示设备及遥控方法 |
CN105847928A (zh) * | 2016-01-26 | 2016-08-10 | 乐视致新电子科技(天津)有限公司 | 一种菜单选项的显示方法和装置 |
US20170332031A1 (en) * | 2016-05-16 | 2017-11-16 | Humax Co., Ltd. | Computer processing device and method for providing coordinate compensation for a remote control key and detecting errors by using user profile information based on force inputs |
CN110704146A (zh) * | 2019-08-30 | 2020-01-17 | 华为技术有限公司 | 一种应用于电子设备的焦点管理方法及电子设备 |
-
2020
- 2020-11-30 CN CN202011375250.5A patent/CN112445565B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189740A1 (en) * | 2000-02-01 | 2008-08-07 | United Video Properties, Inc. | Interactive television application with navigable cells and regions |
US20110148933A1 (en) * | 2008-09-05 | 2011-06-23 | Ntt Docomo, Inc. | Information-processing device and program |
CN101924892A (zh) * | 2010-08-20 | 2010-12-22 | 深圳市同洲电子股份有限公司 | 数字电视接收终端的菜单展示方法、系统及接收终端 |
CN102202240A (zh) * | 2011-05-19 | 2011-09-28 | 广东星海数字家庭产业技术研究院有限公司 | 一种机顶盒浏览器控制焦点跳转方法 |
CN103491405A (zh) * | 2013-08-30 | 2014-01-01 | 小米科技有限责任公司 | 遥控系统、遥控器、显示设备及遥控方法 |
CN105847928A (zh) * | 2016-01-26 | 2016-08-10 | 乐视致新电子科技(天津)有限公司 | 一种菜单选项的显示方法和装置 |
US20170332031A1 (en) * | 2016-05-16 | 2017-11-16 | Humax Co., Ltd. | Computer processing device and method for providing coordinate compensation for a remote control key and detecting errors by using user profile information based on force inputs |
CN110704146A (zh) * | 2019-08-30 | 2020-01-17 | 华为技术有限公司 | 一种应用于电子设备的焦点管理方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112445565B (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240160227A1 (en) | Area cleaning planning method for robot walking along boundary, chip and robot | |
JP3282637B2 (ja) | 手書き入力表示装置および方法 | |
US11226996B2 (en) | Identifying and graphically representing multiple parent nodes of a child node | |
EP1583036A2 (en) | Image layout method using a grid | |
US20150254388A1 (en) | Determining a user-specified location in a graphical user interface of an electronic design automation tool | |
US11392627B2 (en) | Identifying missing nodes within a graphically represented family | |
CN113420355B (zh) | 楼层处理方法、装置及电子设备 | |
JP2012022632A (ja) | 情報処理装置およびその制御方法 | |
WO2020233063A1 (zh) | 智能化路径规划方法、装置及计算机可读存储介质 | |
US5483626A (en) | Method and apparatus for transforming graphics | |
CN113538623B (zh) | 确定目标图像的方法、装置、电子设备及存储介质 | |
CN114241032A (zh) | 基于面积分析的区域划分方法、装置、设备及存储介质 | |
CN112445565B (zh) | 一种窗口布局中基于方向键选择窗口的方法、装置及设备 | |
JP5894764B2 (ja) | 情報処理装置 | |
WO2018176843A1 (zh) | 一种焦点越界搜索方法、装置、智能设备及可读存储介质 | |
JP3357760B2 (ja) | 文字図形入力編集装置 | |
JP2007310633A (ja) | 建物事例検索方法 | |
CN113641284B (zh) | 电子地图的区域标绘方法、装置、电子设备及存储介质 | |
JP6028703B2 (ja) | グラフ生成装置、グラフ生成方法及びグラフ生成プログラム | |
CN113626907B (zh) | 一种基于边界扫描算法的建筑图纸自动识别方法 | |
JP6695402B2 (ja) | 表示システム、及び表示プログラム | |
JP4034926B2 (ja) | フォーカスナビゲーションテーブル作成装置 | |
CN114730347A (zh) | 用于创建物理空间的布局的计算机实现的技术 | |
CN115146577B (zh) | 集成电路版图图形的点对齐方法、系统、介质及电子设备 | |
JPS61131171A (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 |