CN117707352A - 一种轮盘方向的显示方法及电子设备 - Google Patents
一种轮盘方向的显示方法及电子设备 Download PDFInfo
- Publication number
- CN117707352A CN117707352A CN202310851554.1A CN202310851554A CN117707352A CN 117707352 A CN117707352 A CN 117707352A CN 202310851554 A CN202310851554 A CN 202310851554A CN 117707352 A CN117707352 A CN 117707352A
- Authority
- CN
- China
- Prior art keywords
- current frame
- touch
- wheel disc
- wheel
- screen
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 239000013598 vector Substances 0.000 claims abstract description 152
- 238000009877 rendering Methods 0.000 claims description 99
- 230000000877 morphologic effect Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 23
- 238000012545 processing Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 238000000926 separation method Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000003475 lamination Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000921 morphogenic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种轮盘方向的显示方法及电子设备。若当前时刻折叠屏发生形态切换,比如由折叠态切换为展开态,或由展开态切换为折叠态时,获取当前帧轮盘方向的方向向量和当前帧触控点的方向向量。校准当前帧轮盘方向的方向向量,使校准后的当前帧轮盘方向与当前帧触控方向一致,并根据校准后的所述当前帧轮盘方向的方向向量修正所述当前帧触控报点的位置,以在所述GUI显示修正后的所述当前帧触控报点。如此,在GUI上呈现的当前帧触控点的触控方向与当前帧触控报点表示的方向一致,提高了用户操作体验。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种轮盘方向的显示方法及电子设备。
背景技术
具有折叠屏的电子设备,又称为折叠屏设备,是一种通过可弯曲部件比如铰链、柔性屏等实现屏幕显示形态可折叠的设备。由于折叠屏设备能够增大游戏场景的场景显示尺寸,且能够提高游戏操作的便利性,越来越多的用户选择基于折叠屏设备进行游戏操作。
用户往往通过操作轮盘,控制用户在折叠屏中对应的虚拟角色移动。具体地,用户执行触控操作,获取当前帧的触控位置(又称为触控点)和触控方向,同时获取当前帧的触控方向与轮盘上的当前帧的触控报点(又称当前帧触控报点)。其中,触控报点用于指示当前时刻的触控点下的轮盘方向,即指示用户在图形用户界面(Graphical User Inerface,GUI)上呈现的虚拟角色的运动方向。
为了保证用户操作体验,当前帧触控方向应与当前帧触控报点所表示的轮盘方向一致。然而,当折叠屏发生形态切换时,比如从折叠态切换为展开态,或者从展开态切换为折叠态时,经常会存在触控方向和轮盘方向不一致的问题,导致用户操作体验感差。
发明内容
本申请提供了一种轮盘方向的显示方法及电子设备,旨在避免当折叠屏形态发生切换时,触控方向与轮盘方向的方向不一致的技术问题,提高用户操作体验。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供了一种折叠屏电子设备,电子设备的图形用户界面GUI显示轮盘,所述轮盘上的触控报点用于指示轮盘方向,该方法为:
若当前时刻折叠屏发生形态切换,获取当前帧轮盘方向的方向向量和当前帧触控点的方向向量,当前帧触控点的方向向量的起点为从当前帧的上一帧触控点,终点为当前帧触控点,当前帧轮盘方向的方向向量的起点为轮盘的轮盘中心点,终点为当前帧触控点对应的当前帧触控报点,形态切换包括由折叠态切换为展开态,或由展开态切换为折叠态。校准当前帧轮盘方向的方向向量,使校准后的当前帧轮盘方向与当前帧触控方向一致,并根据校准后的当前帧轮盘方向的方向向量修正当前帧触控报点的位置,以在GUI显示修正后的当前帧触控报点。如此,在GUI上呈现的当前帧触控点的触控方向与当前帧触控报点表示的方向一致,提高了用户操作体验。
在一种可能的实现方式中,确定当前帧轮盘方向的方向向量和当前帧触控点的方向向量之间的第一目标方向夹角,当第一目标方向夹角大于预设夹角阈值时,校准当前帧轮盘方向的方向向量,当第一目标方向夹角不大于预设夹角阈值,且当前帧触控点的方向向量和当前帧轮盘方向的方向向量沿目标方向对称时,校准当前帧轮盘方向的方向向量,目标方向为平行于屏幕坐标系任一坐标轴方向。如此,避免了对每个图像帧都进行校验导致GUI屏幕刷新时CPU运行速度慢,导致丢帧而出现卡顿。
在一种可能的实现方式中,根据游戏应用程序产生的渲染指令和渲染参数,从待显示GUI中分离出带有触控报点的轮盘UI,根据分离出的轮盘UI,获取当前帧轮盘方向的方向向量。
可选地,当关闭深度检测,且开启混合检测后,根据渲染指令和渲染参数,绘制待显示GUI,使带有触控报点的轮盘位于待显示GUI的最上层且为半透明,根据加载的轮盘和轮盘方向的纹理texture,从待显示GUI中分离出轮盘方向UI。如此,可以更方便、更加准确的获取当前帧轮盘方向。
在一种可选地方式中,可以根据上下电状态模式power mode,确定当前时刻折叠屏是否发生形态切换,power mode记录折叠屏中每个分屏的上下电状态。如此,场景识别模块不需要获取折叠屏两个分屏的夹角,能够更加快速的确定当前时刻折叠屏是否发生形态切换。
在又一种可选地实现方式中,如果当折叠屏包括内屏和外屏,当power mode为内屏由上电状态切换为下电状态,外屏由下电状态切换为上电状态,确定当前时刻折叠屏发生形态切换。当power mode为内屏由下电状态切换为上电状态,外屏由上电状态切换为下电状态,确定当前时刻折叠屏发生形态切换。
在另一种可选地实现方式中,获取当前帧的下一帧触控方向和下一帧轮盘方向,当下一帧触控方向与下一帧轮盘方向不一致时,停止校准,当下一帧触控方向与下一帧轮盘方向一致时,在GUI显示修正后的当前帧触控报点。如此可以避免无用校准,提供用户视觉体验。
可选地,若当前时刻折叠屏未发生形态切换,从折叠屏已发生形态切换的时刻筛选出目标切换时刻,目标切换时刻为距离当前时刻最近的发生形态切换时刻。获取目标切换时刻的轮盘校准信息,轮盘校准信息包括预设刷新时间内多个图像帧的图像帧触控方向与图像帧轮盘方向的一致性情况;
当存在图像帧触控方向与图像帧轮盘方向不一致时,获取当前帧轮盘方向的方向向量和触控点的方向向量,并校准当前帧轮盘方向的方向向量,使校准后的当前帧轮盘方向与当前帧触控方向一致,并根据校准后的当前帧轮盘方向的方向向量修正当前帧触控报点的位置。如此,避免出现其他容易出现触控方向与轮盘方向不一致的场景。
可选地,响应于用户在折叠屏上执行触控操作,获取触控信号;过滤触控信号,并根据过滤后的触控信号,得到当前帧触控点坐标;根据当前帧触控点坐标和当前帧的上一帧触控点坐标,获取当前帧触控点的方向向量。
在一种可选地实现方式中,将当前帧触控报点绕轮盘中心依照预设初步旋转方向旋转初步校准值,得到初步校准轮盘方向的方向向量和初步校准触控报点;当当前帧触控方向与初步校准轮盘方向的方向向量的第二目标方向夹角大于第一目标方向夹角时,确定第一校准值,并将初步校准触控报点绕轮盘中心依照与初步旋转方向的相反方向旋转第一校准值,校准当前帧轮盘方向的方向向量,第一校准值为第一目标方向夹角与初步校准值的和值;
当当前帧触控方向与初步校准轮盘方向的方向向量的第二目标方向夹角小于第一目标方向夹角时,确定第二校准值,并将初步校准触控报点绕轮盘中心依照初步旋转方向旋转第二校准值,校准当前帧轮盘方向的方向向量,第二校准值为第一目标方向夹角与初步校准值的差值。
如此,校准可以很好的保证校准后的触控方向与轮盘方向一致。
可选地,校准后的当前帧轮盘方向与当前帧触控方向一致为:使校准后的当前帧轮盘方向的方向向量与当前帧触控点的方向向量的第三目标方向夹角不大于预设夹角阈值,且校准后的当前帧触控点的方向向量和当前帧轮盘方向的方向向量不沿目标方向对称,目标方向为平行于屏幕坐标系任一坐标轴方向。
第二方面,本申请提供了一种电子设备,电子设备的GUI显示轮盘,所述轮盘上的触控报点用于指示轮盘方向。该电子设备包括存储器和处理器,存储器与处理器耦合;存储器存储有程序,当程序由处理器执行时,使得电子设备执行第一方面任一项的方法。
附图说明
图1为一种具有纵向折叠屏完全展开态时的形态示意图;
图2为本申请实施例提供一种内屏竖屏态时的游戏场景示意图;
图3为本申请实施例提供的一种外屏横屏态时的游戏场景示意图;
图4为本申请实施例提供的一种外屏横屏态切换为内屏竖屏态的示意图;
图5为本申请实施例提供的一种外屏横屏态切换为内屏横屏态的示意图;
图6为本申请实施例提供的一种内屏横屏态切换为外屏横屏态的示意图;
图7为本申请实施例提供的一种内屏竖屏态切换为外屏横屏态的示意图;
图8为相关方案中折叠屏设备100的软件结构框图;
图9为本申请实施例提供的一种不一致原理示意图;
图10为本申请实施例提供的另一种切换状态不一致原理示意图;
图11为本申请实施例的折叠屏设备的软件结构框图;
图12为本申请实施例提供的一种轮盘方向的显示方法交互图;
图13为本申请实施例提供的一种折叠屏上显示出的分离出的带有触控报点的轮盘UI示意图;
图14为本申请实施例提供一种折叠屏发生形态切换时的游戏场景示意图;
图15为本申请实施例提供的一种折叠屏设备100的结构示意图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了使本领域技术人员更好的理解本申请,首先给出相关应用场景的简要介绍。
折叠屏设备:折叠屏设备是一种通过可弯曲部件比如铰链、柔性屏等实现屏幕显示形态可折叠的设备。由于折叠屏设备能够增大游戏场景的场景显示尺寸,且能够提高游戏操作的便利性,越来越多的用户选择基于折叠屏设备进行游戏操作。
本申请应用的折叠屏设备100包括内屏和外屏。内屏的屏幕尺寸与外屏的屏幕尺寸不同,在实际使用过程中,内屏的屏幕尺寸大于外屏屏幕尺寸,内屏为折叠屏,即内屏可折形成2个屏。例如,折叠屏可沿折叠边或者折叠轴折叠形成第一分屏和第二分屏。折叠屏处于展开态时可以构成一个完整的显示屏。
折叠屏可以朝外翻折的折叠屏,简称外折折叠屏,和朝内翻折的折叠屏,简称内折折叠屏,以折叠屏可以形成第一分屏和第二分屏为例。外折折叠屏被折叠后,第一分屏和第二分屏相背对。内折折叠屏被折叠后,第一分屏和第二分屏相对。
在一种可实现的方式中,参见图1,为一种具有纵向折叠屏完全展开态时的形态示意图。该纵向折叠屏为内屏可沿折叠边,按照图1中的(a)所示的方向11a和11b翻折,形成图1中的(b)所示的半折叠态的第一分屏A屏和第二分屏B屏。此时折叠屏设备100可以在第一分屏A屏和第二分屏B屏共同展示游戏场景内容。该纵向折叠屏可沿折叠边,按照图1中的(b)所示的方向12a和12b继续翻折,形成图1中的(c)所示的完全折叠态的第一分屏A屏和第二分屏B屏。第一分屏A屏和第二分屏B屏相对,对用户不可见。此时,折叠屏设备100的外屏C展示游戏场景内容,对用户可见。
对于图1所示的折叠屏设备,折叠屏发生形态切换,比如,折叠态切换为展开态,GUI的显示位置为从外屏切换为内屏,展开态切换为折叠态,GUI的显示位置从内屏切换为外屏。
在本申请实施例中,折叠屏设备的第一分屏A屏和第二分屏B屏的夹角α的取值范围为[0°,180°]。如果折叠屏处于完全折叠态时,此时α∈[0°,P1],折叠屏处于半折叠态,此时α∈[P1,P2],折叠屏处于展开态时,α∈[P2,180°]。0°<P1<P2<180°。P1和P2是预设阈值,用户根据需要可以自行设定。
在实际使用中,折叠屏的屏幕包括两种状态两种横屏态和竖屏态两种。横屏态是指屏幕具有横向折叠边,纵屏态是指屏幕具有纵向折叠边。横向折叠边是指平行于屏幕坐标系中横轴的方向的折叠边,纵向折叠边是指平行于屏幕坐标系中纵轴方向的折叠边。
示例性说明:对于图1中(a)所示的折叠屏的屏幕为内屏的竖屏态,即折叠屏为展开态,且为竖屏态。(c)所示的折叠屏的屏幕为内屏的竖屏态,即屏幕为竖屏,且处于折叠态。
本申请实施例提供的折叠屏设备100仅为示意性表示,本申请实例还可以为其他折叠屏设备,比如电子设备的内屏折叠屏可以折叠形成三个分屏等。
本申请实施例主要应用在游戏场景中,即通过折叠屏设备100显示游戏的GUI,用户触控折叠屏设备100的GUI,操控轮盘进行游戏操作。
参见图2,为本申请实施例提供一种内屏竖屏态时的游戏场景示意图。此时在电子设备的内屏(外屏不可见)为显示游戏场景的GUI,且内屏为竖屏态。
该游戏场景包括轮盘21和用户在GUI中对应的虚拟角色22。用户通过操作轮盘21,选定运动方向,使虚拟角色22按照选定的运动方向移动。
在一种可实现的方式中,当前时刻,用户的触控位置为触控点23,得到的触控方向25(GUI中的游戏场景中并未实际显示)为右下方。触控方向25为用户的操作方向,为从当前帧上一帧触控点指向当前帧触控点。
触控方向25也可以用触控点的方向向量表示。例如,图像帧的触控方向可以表示为图像帧触控点的方向向量,当前帧的触控方向表示为当前帧触控点的方向向量。当前帧触控点的方向向量起点为当前帧上一帧触控点,终点为当前帧触控点。
示例性说明,在屏幕坐标系XOY,X轴为横轴,Y轴为纵轴,当前帧上一帧触控点的坐标为(x2,y2),当前帧触控点的坐标为(x3,y3),则当前帧触控点的方向向量可以表示为(x3-x2,y3-y2)。
如图2所示,轮盘21位于GUI的左下方区域。轮盘21上的不同位置具有不同的方向。当用户的触控位置在当前帧触控点23时,在轮盘21上显示触控报点24,当前位置的触控报点24所代表的方向为屏幕的左下方。
触控报点24用于指示当前时刻的触控点23下的轮盘方向,即,指示虚拟角色在图像UI上的运动方向。也即,触控报点24所代表的方向为轮盘方向。图2所示的轮盘方向与触控点的触控方向相同。
轮盘方向可以用轮盘方向的方向向量表示。例如,图像帧的轮盘方向可以表示为图像帧轮盘方向的方向向量,当前帧的轮盘方向表示为当前帧轮盘方向的方向向量。
轮盘方向的方向向量起点为轮盘21的轮盘中心点,终点为触控报点。示例性说明:在屏幕坐标系中,轮盘中心点的坐标为(x0,y0),触控报点24的坐标为(x1,y1),则轮盘方向的方向向量为(x1-x0,y1-y0)。
值得注意的是,轮盘中心点为动点,随着轮盘的位置不同,轮盘中心点也随之改变。
可以理解的是,触控报点的位置与触控点的触控方向一一对应。不同触控方向,获取的触控报点位置不同。例如触控方向为从A到B,获取的触控报点的位置M,与触控方向为从B到A,获取的触控报点的位置N不相同。
在实际使用过程中,为了保证用户操作体验,GUI上呈现的触控报点所表示的当前帧轮盘方向应与当前帧的触控方向保持一致。
然而在GUI界面上进行触控操作时,当折叠屏发生形态切换,比如由折叠态切换为展开态,或者由展开态切换为折叠态,GUI中当前帧轮盘方向与当前帧触控方向可能出现方向不一致,导致用户操作体验差。
示例性说明,将图2所示的折叠屏切换为折叠态,得到图3所示的外屏横屏态时的游戏场景示意图。此时,内屏对用户不可见,外屏C屏展示游戏场景,且为横屏态。当前时刻,相对于图2所示的展开态时的游戏场景,图3的触控方向25与轮盘方向不一致,用户操作体验感差。
在游戏场景具体应用过程中,折叠屏发生形态切换具体包括:图4所示的外屏横屏态切换为内屏竖屏态,图5所示的外屏横屏态切换为内屏横屏态,图6所示的内屏横屏态切换为外屏横屏态以及图7所示的内屏竖屏态切换为外屏横屏态。
图4和图7,GUI呈现的触控点均在轮盘的右上方,且切换前轮盘方向与触控点的触控方向一致,均为右上方。对于图4和图7所示的切换状态,当用户仍然执行图示的触控点对应的触控方向时,切换后轮盘方向与触控点的触控方向不一致。对于图5和图6所示的切换状态,切换后轮盘方向不变,当用户切换前执行的触控点与切换后执行的触控点不同时,切换前轮盘方向与触控方向相同,切换后轮盘方向与触控点的触控方向不相同。
下面对折叠屏不同形态切换时,触控方向和轮盘方向不一致产生原因进行分析。
首先介绍现有折叠屏设备100的软件结构示意图。
参见图8,为相关方案中折叠屏设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和***库,以及内核层。
应用程序层可以包括一系列应用程序包。如图8所示,包括游戏应用程序等。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图8所示,应用程序框架层可以包括显示管理服务(DisplayMangerService,DMS)输入管理服务(InputManagerService,IMS)、窗口管理器(WindowManagerService,WMS)、以及内容管理器等。
WMS用于布局管理,管理窗口大小和位置,以及在屏幕上的显示顺序,还用于管理窗口状态,比如窗口是否可见等。还用于与IMS一起进行输入事件处理,处理来自设备的输入事件,如触摸事件等。
当用户在屏幕上进行触摸操作时,IMS可以获取触控点在屏幕坐标系的坐标,并将其上报至WMS,由WMS处理来自设备的输入事件,比如执行在GUI界面上显示与触摸方向对应的虚拟角色的运动方向,在GUI显示触摸位置对应的触控点,以及当前触控点下的触控报点等。
WMS还用于渲染窗口,通过调用图层合成器SurfaceFlinger,与硬件绘图引擎,比如图像处理器(graphics processing unit,GPU)绘图、硬件合成器(HWCcomposer,HWC)交互,在屏幕上渲染窗口。
DMS用于用来管理显示的生命周期,它决定如何根据当前连接的物理显示设备控制其逻辑显示,并且在状态更改时,向***和应用程序发送通知。DMS还用于多个显示屏的上下电状态powermode。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓***的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:***服务模块SurfaceFlinger、三维图形处理库等。
SurfaceFlinger用于合成带显示图层,并将合成的结果最终显示在GUI上。SurfaceFlinger包括GPU合层和HWC合成。GPU合成是指SurfaceFlinger调用GPU对待显示图层进行GPU渲染和GPU合成。HWC合成指SurfaceFlinger调用HWC进行HWC硬件合成和送显。
三维图形处理库用于实现三维图形绘图,完全图像渲染,合成,和图层处理等。三维图形处理库包括加载模块libEGL和libEGL搜寻模块LibEGL-FuncTable。游戏应用App在LibEGL-FuncTable获取渲染指令和渲染参数对应的目标功能,从函数指针列表中获取目标功能接口,最终从从libEGL找到对应的功能实现画面渲染。
内核层是硬件和软件之间的层。内核层至少包含GPU驱动、HWC驱动、显示驱动以及TP IC驱动。
以图2所示的游戏场景为例说明:
当游戏在启动或应用过程中,游戏应用程序不断下发渲染指令和渲染参数,WMS根据下发的渲染指令和渲染参数进行布局管理和管理窗口状态,并根据libEGL—FuncTable,以及函数指针列表,从libEGL找到对应的SurfaceFlinger,执行图层合成,以及将合成结果最终显示在GUI上。
此外,用户在GUI上的触摸位置为触控点23所示位置时,IMS获取触控点23的坐标,并将坐标上报至WMS,WMS根据触控点23的坐标,渲染指令和渲染参数等,进行GUI显示,并将触控点23以及触控点23对应的触控报点在UI界面上显示,得到图2所示的游戏场景示意图。
对于图8所示的折叠屏设备,当其有内屏切换为外屏时,响应速度比较慢,在一定时长内,切换后的轮盘所在屏幕坐标系,与切换前轮盘的屏幕坐标系相同,也即切换前后GUI界面显示的轮盘方向相同。由此,当用户执行图5和图6所示的折叠屏形态切换时,触控方向与轮盘方向不一致。
针对图4所示的折叠屏的形态切换,实际发生过程存在两种可能性,参见图9所示,为不一致原理示意图。其中,图9中的(a)所示的外屏横屏态,旋转90°,形成外屏竖屏态,如图9中的(c)所示,此时轮盘方向和轮盘以及触控点都旋转90°,轮盘方向与触控方向一致。图9中的(c)所示的屏幕再展开,即形态发生切换,得到图9中的(b)所示的内屏竖屏态,此时在GUI中,轮盘方向与图中的(c)所示的轮盘方向相同。当用户仍然在图示位置执行触控操作,此时触控方向与轮盘方向不相同。
另一种是图9中的(a)所示的外屏横屏态,展开形成内屏横屏态,如图9中的(d)所示,此时轮盘方向与图9中的(a)所示的轮盘方向相同。将图9中的(d)所示的内屏横屏态再旋转90°,此时轮盘方向旋转90°,当用户仍然在图示位置执行触控操作,此时触控方向与轮盘方向不相同,如图9中的(b)所示的GUI。
针对图7所示的折叠屏的形态切换,实际发生过程也存在两种可能性。参见图10所示,为另一种切换状态不一致原理示意图。
其中,图10中的(a)所示的内屏竖屏态,旋转90°,形成内屏横屏态,如图10中的(c)所示,此时轮盘方向和轮盘以及触控点都旋转90°,轮盘方向与触控方向一致。图10中的(c)所示的屏幕折叠,即形态发生切换,得到图10中的(b)所示的内屏竖屏态,此时在GUI中,轮盘方向与图10中的(c)所示的轮盘方向相同。当用户仍然在图示位置执行触控操作,此时触控方向与轮盘方向不相同。
另一种是图10中的(a)所示的内屏竖屏态,折叠形成外屏竖屏态,如图10中的(d)所示,此时轮盘方向与图10的(a)的轮盘方向相同,再旋转90°,轮盘方向旋转90°,得到图10中的(b)所示的方向的轮盘方向。当用户仍然在图示位置执行触控操作,此时触控方向与轮盘方向不相同。
鉴于上述技术问题,本申请提供了一种轮盘方向的显示方法,若当前时刻折叠屏发生形态切换,比如由内屏竖屏态切换为外屏横屏态,或由外屏横屏态切换为内屏竖屏态时,获取当前帧轮盘方向的方向向量和当前帧触控点的方向向量。校准当前帧轮盘方向的方向向量,使校准后的当前帧轮盘方向与当前帧触控方向一致,并根据校准后的所述当前帧轮盘方向的方向向量修正所述当前帧触控报点的位置,以在所述GUI显示修正后的所述当前帧触控报点。如此,在GUI上呈现的当前帧触控点的触控方向与当前帧触控报点表示的方向一致,提高了用户操作体验。
值得注意的是,上述轮盘的位置、大小等仅为示意性表示,本领域技术人员根据需要可以自行调整。上述应用场景、折叠屏设备以及形态切换方式仅为示意性表示,对于其他应用场景、折叠屏设备以及形态切换方式,本申请提供的轮盘方向的显示方法同样适用,且应用原理与图2~图3所示应用场景及折叠屏相同。下面仅以图2~图3所示的游戏场景为例进行说明。
下面对本申请提供的一种轮盘方向的显示方法,结合图11~图13进行介绍。
首先介绍一下本申请实施例提供的折叠屏设备100的软件结构。
参见图11为本申请实施例的折叠屏设备的软件结构框图。
相对于图8所示的折叠屏设备的软件结构框图,本申请的折叠屏的软件设备在应用程序框架层增加了场景识别模块,以及在***库增加了渲染指令拦截模块和方向校准模块
渲染指令拦截模块处于libEGL-FuncTable与LibEGL之间,用于替代函数指针列表,首先找到渲染指令和渲染参数对应的接口,并根据接口调用LibEGL完成画面渲染,渲染完成后的待显示图层发送至SurfaceFlinger进行图层合层和送显,以在GUI上显示渲染指令和渲染参数对应的图像帧。
当场景识别模块识别到折叠屏设备发生形态切换时,触发渲染指令拦截模块找到方向校准模块,执行当前帧轮盘方向校准,以使校准后的当前帧轮盘方向与当前帧触控方向相同。
方向校准模块根据渲染指令拦截模块发送的渲染指令和渲染参数,获取当前帧轮盘方向以及当前帧轮盘方向的方向向量,并从IMS获取当前帧触控方向以及触控点的方向向量,还用于获取校准后的轮盘方向的方向向量对应的当前帧触控报点的位置,并将当前帧触控报点的位置发送至IMS,由IMS上报至WMS,WMS根据获取的渲染指令、渲染参数、触控点和修正后触控报点位置,重新调用LibEGL-FuncTable,将渲染指令、渲染参数、触控点和修正后触控报点位置发送至渲染指令模块,渲染指令拦截模块调用LibEGL,触发SurafaceFlinger重新合成获取图像帧进行显示。
在一种可实现的方式中,方向校准模块还包括UI分离子模块,方向校验子模块和方向校准子模块,分别执行获取当前帧轮盘方向,校验以及校准功能。
参见图12,为本申请实施例提供的一种轮盘方向的显示方法交互图。该方法具体包括:
S1:渲染指令拦截模块获取当前帧渲染指令和渲染参数。
游戏在启动或运行过程中,显示游戏的GUI为动态GUI。游戏应用程序需要不断下发渲染指令和渲染参数,以进行界面图像帧的绘制、渲染、和合成等。下发渲染指令和渲染参数的下发频率与屏幕刷新率有关。
屏幕刷新率是指显示屏每秒画面被刷新的次数,单位是赫兹hz。屏幕刷新率越高,其支持的帧率越高,也即每秒传输帧数越多,GUI显示更加流畅。相对应的下发频率也较高。
在本申请实施例中,渲染指令包括渲染轮盘指令。渲染轮盘指令包括渲染轮盘图像指令,以及渲染过程中进行轮盘配置的渲染信息配置指令。此外,渲染指令还可以包括渲染图像指令、渲染物体纹理指令、渲染物体着色指令以及渲染过程中进行其他物体配置渲染信息配置指令。
渲染参数为包括轮盘图像的颜色、花纹和图案,还可以包括其他物体的颜色、花纹和图案等。
在本申请实施例中,游戏应用程序产生的渲染指令和渲染参数,发送给渲染指令拦截模块,渲染指令拦截模块将渲染指令和渲染参数发送给libEGL进行画面渲染。
S2:场景识别模块确定折叠屏是否发生形态切换。若是,执行S3,若否,执行S4。
切换内容用于指示当前折叠屏发生是否发生形态切换,包括形态切换和形态未切换。
形态切换用于指示从折叠态切换为展开态,或从展开态切换为折叠态。其中,折叠态包括完全折叠态和半折叠态两种,展开态是指本申请实施例定义的完全展开态。
场景识别模块可以通过多种方式获取折叠屏的当前切换形态。
示例地,场景识别模块获取折叠屏的第一分屏A和第二分屏B的夹角α。若当前时刻α的值发生改变,由α∈[0°,P1]变为α∈[P2,180°],或者由α∈[P1,P2]变为α∈[P2,180°],当前时刻折叠屏发生形态切换,切换内容为由折叠态切换为展开态。
若当前时刻α的值由α∈[P2,180°]变为α∈[0°,P1],或α∈[P1,P2],此时当前时刻折叠屏发生形态切换,切换内容为由展开态切换为折叠态。
示例地,场景识别模块可以从DMS下发的power mode判断当前时刻折叠屏是否发生形态切换。例如,针对图3所示的折叠屏设备,若由外屏上电变为外屏下电,由内屏下电变为内屏上电,当前时刻的折叠屏发生形态切换,切换内容为由展开态切换为折叠态。若由由外屏下电变为外屏上电,由内屏上电变为内屏下电,当前时刻的折叠屏发生形态切换,切换内容为由展开态切换为折叠态。
此外,切换时刻为当前时刻折叠屏设备的显示时刻。例如,当前时刻折叠屏设备显示2023年7月5日19;49;00,此时切换时刻为2023年7月5日19;49;00,示例性的可以表示为20230705194900。
本申请还可以通过其他方式获取当前切换内容和切换时刻,本申请不具体限定。
当确定折叠屏发生形态切换时,此时折叠屏设备GUI呈现的轮盘方向与触控方向不一致,需要进行校准。
S3:场景识别模块将获取的折叠屏的当前切换内容和切换时刻发送给渲染指令拦截模块。
场景识别模块将切换内容以及切换时刻发送给渲染指令拦截模块,内容管理器保存切换时刻、切换内容下轮盘校准信息。轮盘校准信息包括预设刷新时间内多个图像帧的触控方向和轮盘方向的一致情况。
S4:场景识别模块发送一次筛选指令至渲染指令拦截模块。
在本申请实施例中,当前帧刷新时刻,场景识别模块若未发生切换,向渲染指令拦截模块发送一次筛选指令。
S5:渲染指令拦截模块从折叠屏已发生形态切换的时刻筛选出目标切换时刻,并确定是否存在图像帧触控方向与图像帧轮盘方向不一致。若存在,执行S6,否则停止校准。
渲染指令拦截模块接收到筛选指令后,筛选目标切换时刻。目标切换时刻是距离当前时刻最近的折叠屏发生形态切换的时刻。
示例性说明:已知折叠屏已发生形态切换的时刻分别为A1时刻、A2时刻、A3时刻和A4时刻。当前时刻为A0时刻。将已发生形态切换时刻由距离A0时刻的时长由大到小(或小到大)排列,得到A3,A1,A4,A2,则目标切换时刻为A2时刻。
场景识别模块从内容管理器中获取目标切换时刻,以及目标切换时刻对应的移动轮校准信息。确定是否存在图像帧触控方向和图像帧轮盘方向不一致。
可以理解的是,若目标切换时刻存在图像帧触控方向和图像帧轮盘方向不一致,当前时刻不继续校准,所获取当前帧触控方向和当前帧轮盘方向也存在不一致的可能性。为了保证用户操作体验,需要进一步校准当前帧轮盘方向。
渲染指令拦截模块停止校准,并将当前渲染指令和渲染参数仅发送给LibEGL进行画面渲染。
S6:渲染指令拦截模块将当前帧渲染指令和渲染参数发送给方向校准模块。
渲染指令拦截模块将当前帧渲染指令和渲染参数发送给方向校准模块,以进行轮盘方向校准。
S7:方向校准模块获取当前帧轮盘方向的方向向量。
方向校准模块根据当前帧渲染指令和渲染参数,获取当前帧轮盘方向的方向向量。
在一种可选地实现方式中,方向校准模块从当前帧渲染指令和渲染参数中分离出轮盘渲染指令和轮盘渲染参数,调用libEGL和SurfaceFlinger绘制带有触控报点的轮盘UI,确定当前帧轮盘方向的方向向量。
在一种可选地实现方式中,可以通过以下方式获取当前帧轮盘方向的方向向量。
方向校准模块中的UI分离子模块获取当前帧轮盘方向的方向向量,具体为:
步骤1:根据渲染指令和渲染参数绘制待显示GUI。
其中,待显示GUI用于表示将要在折叠屏进行显示的游戏图形界面。
可选地,在绘制待显示GUI前,需要关闭深度检测和开启混合检测,以保证带有触控报点的轮盘UI位于待显示GUI的最上层且为半透明。
可选地,在绘制待显示图形界面时,会在预设的缓存区间中保存加载的待显示GUI中各物体的纹理texture,比如游戏场景中虚拟角色的texture,轮盘和轮盘方向的texture。
步骤2:根据加载的轮盘和轮盘方向的texture,从待显示GUI中分离出带有触控报点的轮盘UI。
在本申请实施例中,从预设的缓存区间获取加载的轮盘和轮盘方向的texture,分离出轮盘渲染指令。根据分离出的轮盘渲染指令可以得到带有触控报点的轮盘UI。
更进一步的,根据加载的帧缓存对应的位置,以及结合分离出的轮盘渲染指令,可以更准确的获取带有触控报点的轮盘UI。
步骤3:根据分离出的带有触控报点的轮盘UI,获取当前帧轮盘方向的方向向量。
分离出带有触控报点的轮盘UI后,UI分离模块向折叠屏持续发送UI指令,以在折叠屏上显示分离出带有触控报点的轮盘UI。利用带有触控报点的轮盘UI,可以获取当前帧轮盘方向的方向向量。
示例性说明:参见图13,为折叠屏上显示出的分离出的带有触控报点的轮盘UI示意图。针对图3所示的折叠屏设备,折叠屏由展开态切换为折叠态时分离出的带有触控报点的轮盘UI示意图。在带有触控报点的轮盘UI获取屏幕坐标系下的轮盘中心点91坐标(x0’,y0’),和当前帧触控报点92坐标(x1’,y1’),则当前帧轮盘方向的方向向量为(x1’-x0’,y1’-y0’)。
需要注意的是,UI指令在多通道渲染renderpass结束,或者在当前帧送显前结束。
本申请还可以通过其他方式获取当前帧轮盘方向的方向向量,本申请不具体限定获取方式。
S8:响应于用户执行触控操作,IMS获取当前帧触控点坐标。
可选地,当用户执行触控操作时,由TP IC产生触控信号,比如容值变化信号。TPIC将产生的触控信号发送给滤波模块滤波,并将滤波后的触控信号发送给坐标处理模块处理,生成当前触控点坐标(x3,y3)。
S9:IMS将获取的当前帧触控点坐标发送给方向校准模块。
S10:方向校准模块确定当前帧触控点的方向向量。
当用户在折叠屏上执行触控操作时,方向校准模块从IMS获取当前帧的触控点坐标,并根据获取的当前帧触控点坐标和上一帧的触控点坐标,获取当前帧触控点的方向向量。
可选地,方向校准模块中的方向校验子模块方向校验模块从IMS获取当前帧的触控点坐标(x3,y3),并从缓存的上一帧触控点坐标的缓存区获取上一帧触控点坐标(x2,y2),则当前帧的触控点的方向向量为(x3-x2,y3-y2)。
值得注意的是,S8-S10与步骤S7可以同时进行,也可以先进行S7,再进行S8-S10,还可以先执行S8-S10,再执行S7。
S11:方向校准模块校准当前帧轮盘方向的方向向量,获取修正后的当前帧触控报点的位置。
在本申请实施例中,方向校准模块校准当前帧轮盘方向的方向向量,使校准后的当前帧轮盘方向与当前帧触控方向一致。
校准后的当前帧轮盘方向和当前帧触控方向一致,可以从校准后的当前帧触控点的方向向量(x3-x2,y3-y2)和当前帧轮盘方向的方向向量(x1’-x0’,y1’-y0’)进行判断。
示例性地:若(x1’-x0’)/(x3-x2)=(y1’-y0’)/(y3-y2)=k,k为不等于0的任意数,确定校准后的当前帧轮盘方向和当前帧触控方向一致。
示例性地,校准后的当前帧触控点的方向向量和当前帧轮盘方向的方向向量的第三目标方向夹角不大于预设夹角阈值,且校准后的当前帧触控点的方向向量和当前帧轮盘方向的方向向量不沿目标方向对称,目标方向为平行于屏幕坐标系任一坐标轴方向,确定校准后的当前帧轮盘方向和当前帧触控方向一致。
首先介绍一下校准时机,可选地,任何一帧都进行校准,以保证当前帧轮盘方向和当前帧触控方向一致。然而,这种每帧都检测的方式,占用了大量CPU内存,运行速度慢,会导致丢帧现象。
进一步,为提高运行速度,避免丢帧,方向校验子模块校验当前帧轮盘方向和当前帧触控方向是否满足预设不一致性条件。若满足,执行校准。若不满足,结束校准。
预设不一致条件用于表示当前帧轮盘方向和当前帧触控方向不相同,具体的预设不一致条件为当前帧轮盘方向的方向向量和当前帧触控点的方向向量的第一目标方向夹角大于预设夹角阈值,或第一目标方向夹角不大于预设夹角阈值,但当前帧轮盘方向的方向向量与当前帧触控点的方向向量关于目标方向对称。目标方向为平行于屏幕坐标系任一坐标轴方向。
示例地说明:假设屏幕坐标系为XOY,横轴为X轴,纵轴为Y轴。当前帧轮盘方向的方向向量(x,y),当前帧触控点的方向向量(xc,yc)。若x=xc,y=-yc,此时当前帧轮盘方向的方向向量与当前帧触控点的方向向量关于X轴对称。若x=-xc,y=yc,此时当前帧轮盘方向的方向向量与当前帧触控点的方向向量关于Y轴对称。即当前帧轮盘方向的方向向量与当前帧触控点的方向向量关于目标方向镜像。此时当前帧轮盘方向和当前帧触控方向不一致。
因此,在一种可选地实现方式中,可以通过以下方式进行判断:
步骤1:确定当前帧轮盘方向的方向向量和当前帧触控点的方向向量的第一目标方向夹角。
示例地说明:假设当前帧轮盘方向的方向向量(x,y),当前帧触控点的方向向量(xc,yc),则可以获取第一目标方向夹角为β。
步骤2:判断第一目标方向夹角是否大于预设夹角阈值,若大于,确定当前帧轮盘方向和当前帧触控方向一致。若小于,执行步骤3。
示例地说明:假设当前帧轮盘方向的方向向量(x,y),当前帧触控点的方向向量(xc,yc),则第一目标方向夹角为β。假设预设夹角阈值为15°,若β>15°,此时当前帧轮盘方向和当前帧触控方向不一致。
步骤3:判断当前帧轮盘方向的方向向量与当前帧触控点的方向向量是否关于目标方向对称。若对称,则当前帧轮盘方向和当前帧触控方向不一致。否则一致。
示例性说明:针对步骤2的实施例,若β<15°,且当前帧轮盘方向的方向向量与当前帧触控点的方向向量关于目标方向不对称,此时当前帧轮盘方向和当前帧触控方向一致。
可选地,本申请实施例还可以通过其他方式判断当前帧轮盘方向和当前帧触控方向是否一致。
示例地,针对当前帧轮盘方向的方向向量(x,y),当前帧触控点的方向向量(xc,yc),若x/xc=y/yc,则当前帧触控方向与当前帧轮盘方向一致。
本申请实施例可以通过以下方式进行校准。
可选地,方向校准子模块可以根据第一目标方向夹角校准,校准当前帧轮盘方向。
在一种可实现的方式中,将当前帧触控报点绕轮盘中心依照预设初步旋转方向旋转初步校准值,得到初步校准轮盘方向的方向向量和初步校准触控报点。若当前帧触控方向与初步校准轮盘方向的方向向量的第二目标方向夹角大于第一目标方向夹角,确定第一校准值。第一校准值为第一目标方向夹角与初步校准值的和值。将初步校准触控报点绕轮盘中心依照与初步旋转方向的相反方向旋转第一校准值,校准当前帧轮盘方向的方向向量。
若当前帧触控方向与初步校准轮盘方向的方向向量的第二目标方向夹角小于第一目标方向夹角,确定第二校准值。第二校准值为第一目标方向夹角与初步校准值的差值。并将初步校准触控报点绕轮盘中心依照初步旋转方向旋转第二校准值,校准当前帧轮盘方向的方向向量。
在一种可实现的方式中,若当前帧触控点的方向向量与当前帧轮盘方向的方向向量关于目标方向对称时,直接调整当前帧轮盘方向的方向向量,使当前帧轮盘方向的方向向量与当前帧触控点的方向向量平行。比如,若当前帧轮盘方向的方向向量(x,y),当前帧触控点的方向向量(-x,y),直接另x取反既可以。
本申请还可以通过其他方式校准当前帧轮盘方向的方向向量,本申请不具体限定。
利用校准后的当前帧轮盘方向的方向向量修正当前帧触控报点在GUI中的显示位置。
示例地,若校准后的当前帧轮盘方向为(-x,y),轮盘中心点坐标为(x0’,y0’),此时修正后的当前触控报点坐标为(-x+x0’,y+y0’)。
S12:方向校准模块将修正后的当前帧触控报点的显示位置上报给IMS。
S13:IMS将修正后的当前帧触控报点的显示位置上报至WMS,以进行显示。
WMS根据修正后的当前帧触控报点的显示位置、当前帧触控点的位置、渲染指令和渲染参数等,重新调用LibEGL-FuncTable,将渲染指令、渲染参数、触控点和修正后触控报点位置发送至渲染指令模块,渲染指令拦截模块调用LibEGL,触发SurafaceFlinger重新合成获取图像帧进行显示。
此外,可选地,当方向校准模块中检测到当前帧触控点的触控方向与当前帧轮盘方向一致时,停止校验,直接将当前帧触控报点的显示位置发送给IMS,执行S13操作。
此外,可选地,触控方向在检测到折叠屏发生形态切换后的预设时长后未发生形态切换,此时场景识别模块停止向渲染指令发送指令,或切换内容和切换时刻,不再执行校准操作。
参见图14,为本申请实施例提供一种折叠屏发生形态切换时的游戏场景示意图。图13中的(a)为切换前的GUI,GUI为外屏横屏态,此时GUI呈现的轮盘方向13a和触控方向13b一致。图13中的(b)为切换后的GUI,此时GUI为内屏横屏态,此时,GUI呈现的轮盘方向13a和触控方向13b一致。图13中的(c)为切换后的另一种GUI,此时GUI为内屏竖屏态,此时GUI呈现的轮盘方向13a和触控方向13b一致。
由此可知,本申请实施例提供了一种轮盘方向的显示方法,若当前时刻折叠屏发生形态切换,比如由折叠态切换为展开态,或由展开态切换为折叠态时,获取当前帧轮盘方向的方向向量和当前帧触控点的方向向量。校准当前帧轮盘方向的方向向量,使校准后的当前帧轮盘方向与当前帧触控方向一致,并根据校准后的所述当前帧轮盘方向的方向向量修正所述当前帧触控报点的位置,以在所述GUI显示修正后的所述当前帧触控报点。如此,在GUI上呈现的当前帧触控点的触控方向与当前帧触控报点表示的方向一致,提高了用户操作体验。
更进一步的,为保证轮盘的轮盘方向校准成功,可以利用当前帧的下一帧进行验证。具体的,获取当前帧的下一帧触控方向和下一帧轮盘方向。若下一帧触控方向和下一帧轮盘方向不一致,停止校准。若下一帧触控方向和下一帧轮盘方向一致,继续显示修正后的当前帧触控点。
本申请实施例提供的轮盘方向的显示方法可以应用于具有折叠屏的手机、笔记本电脑、可穿戴电子设备(例如智能手表)、平板电脑、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备以及车载设备等。
图15示意出了折叠屏设备100的结构示意图。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对折叠屏设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,和/或硬件合成器(HWCcomposer,HWC)等。不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,HWC可以集成在***芯片上。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。可选地,在本申请实施例中,控制器可以为触摸屏集成电路(Touch PanelIntegrated Circuit,TP IC)用于产生触控信号。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在本申请实施例中,处理器可以识别当前时刻折叠屏是否发生形态切换,若当前时刻折叠屏发生形态切换,获取当前帧轮盘方向的方向向量和当前帧触控点的方向向量。校准当前帧轮盘方向的方向向量,使校准后的当前帧轮盘方向的方向向量与当前帧触控点的方向向量平行,并根据校准后的当前帧轮盘方向的方向向量修正当前帧触控报点,以在图形用户界面显示修正后的当前帧触控报点。
折叠屏设备100通过GPU,HWC,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。
GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。GPU是一种通用的图像处理设备,可用于图层的合成,和完成其他图形处理任务。
HWC是一种专用图像处理设备,用于进行图层合成和显示。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以柔性发光二极管(flex light-emitting diode,FLED)等。在一些实施例中,折叠屏设备100可以包括1个或N个显示屏194,N为大于1的正整数。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于折叠屏设备100的表面,与显示屏194所处的位置不同。
本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种轮盘方向的显示方法,其特征在于,电子设备的图形用户界面GUI显示轮盘,所述轮盘上的触控报点用于指示轮盘方向,所述方法包括:
若当前时刻折叠屏发生形态切换,获取当前帧轮盘方向的方向向量和当前帧触控点的方向向量,所述当前帧触控点的方向向量的起点为从当前帧的上一帧的触控点,终点为当前帧的触控点,所述当前帧轮盘方向的方向向量的起点为所述轮盘的轮盘中心点,终点为当前帧的触控报点,所述形态切换包括由折叠态切换为展开态,或由展开态切换为折叠态,所述触控点用于指示用户的触控位置;
校准所述当前帧轮盘方向的方向向量,使校准后的当前帧轮盘方向与当前帧触控方向一致,并根据校准后的所述当前帧轮盘方向的方向向量修正所述当前帧的触控报点的显示位置,以在所述GUI显示修正后的轮盘方向。
2.根据权利要求1所述方法,其特征在于,所述校准所述当前帧轮盘方向的方向向量,包括:
确定所述当前帧轮盘方向的方向向量和所述当前帧触控点的方向向量之间的第一目标方向夹角;
当所述第一目标方向夹角大于预设夹角阈值时,校准所述当前帧轮盘方向的方向向量;
当所述第一目标方向夹角不大于预设夹角阈值,且所述当前帧触控点的方向向量和所述当前帧轮盘方向的方向向量沿目标方向对称时,校准所述当前帧轮盘方向的方向向量,所述目标方向为平行于屏幕坐标系任一坐标轴方向。
3.根据权利要求2所述方法,其特征在于,所述获取当前帧轮盘方向的方向向量,包括:
根据游戏应用程序产生的渲染指令和渲染参数,从待显示GUI中分离出带有触控报点的轮盘UI;
根据分离出的所述轮盘UI,获取所述当前帧轮盘方向的方向向量。
4.根据权利要求3所述方法,其特征在于,所述根据游戏应用程序产生的渲染指令和渲染参数,从待显示GUI中分离出带有触控报点的轮盘UI,包括:
当关闭深度检测,且开启混合检测后,根据所述渲染指令和所述渲染参数,绘制所述待显示GUI,使带有所述触控报点的所述轮盘位于所述待显示GUI的最上层且为半透明;
根据加载的轮盘和轮盘方向的纹理texture,从所述待显示GUI中分离出所述轮盘方向UI。
5.根据权利要求1-4任一项所述方法,其特征在于,所述方法还包括:
根据上下电状态模式power mode,确定当前时刻所述折叠屏是否发生形态切换,所述power mode记录所述折叠屏中每个分屏的上下电状态。
6.根据权利要求5所述方法,其特征在于,当所述折叠屏包括内屏和外屏时,所述根据上下电状态模式power mode,确定当前时刻所述折叠屏是否发生形态切换,包括:
当所述power mode为内屏由上电状态切换为下电状态,外屏由下电状态切换为上电状态,确定当前时刻所述折叠屏发生形态切换;
当所述power mode为内屏由下电状态切换为上电状态,外屏由上电状态切换为下电状态,确定当前时刻所述折叠屏发生形态切换。
7.根据权利要求1-6任一项所述方法,其特征在于,所述方法还包括:
获取所述当前帧的下一帧触控方向和下一帧轮盘方向;
当所述下一帧触控方向与所述下一帧轮盘方向不一致时,停止校准;
当所述下一帧触控方向与所述下一帧轮盘方向一致时,在所述GUI显示修正后的所述当前帧触控报点。
8.根据权利要求1-7任一项所述方法,其特征在于,所述方法还包括:
若当前时刻所述折叠屏未发生形态切换,从所述折叠屏已发生形态切换的时刻筛选出目标切换时刻,所述目标切换时刻为距离当前时刻最近的发生形态切换时刻;
获取所述目标切换时刻的轮盘校准信息,所述轮盘校准信息包括预设刷新时间内多个图像帧的图像帧触控方向与图像帧轮盘方向的一致性情况;
当存在图像帧触控方向与图像帧轮盘方向不一致时,获取所述当前帧轮盘方向的方向向量和触控点的方向向量,并校准所述当前帧轮盘方向的方向向量,使校准后的所述当前帧轮盘方向与所述当前帧触控方向一致,并根据校准后的所述当前帧轮盘方向的方向向量修正所述当前帧触控报点的位置。
9.根据权利要求1-8任一项所述方法,其特征在于,获取所述当前帧触控点的方向向量,包括:
响应于用户在所述折叠屏上执行触控操作,获取触控信号;
过滤触控信号,并根据过滤后的所述触控信号,得到所述当前帧触控点坐标;
根据所述当前帧触控点坐标和当前帧的上一帧触控点坐标,获取所述当前帧触控点的方向向量。
10.根据权利要求1-9任一项所述方法,其特征在于,所述校准所述当前帧轮盘方向的方向向量,包括:
将所述当前帧触控报点绕轮盘中心依照预设初步旋转方向旋转初步校准值,得到初步校准轮盘方向的方向向量和初步校准触控报点;
当所述当前帧触控方向与所述初步校准轮盘方向的方向向量的第二目标方向夹角大于第一目标方向夹角时,确定第一校准值,并将所述初步校准触控报点绕所述轮盘中心依照与所述初步旋转方向的相反方向旋转所述第一校准值,校准所述当前帧轮盘方向的方向向量,所述第一校准值为所述第一目标方向夹角与所述初步校准值的和值;
当所述当前帧触控方向与所述初步校准轮盘方向的方向向量的第二目标方向夹角小于所述第一目标方向夹角时,确定第二校准值,并将所述初步校准触控报点绕所述轮盘中心依照所述初步旋转方向旋转所述第二校准值,校准所述当前帧轮盘方向的方向向量,所述第二校准值为所述第一目标方向夹角与所述初步校准值的差值。
11.根据权利要求1-10任一项所述方法,其特征在于,所述校准后的当前帧轮盘方向与当前帧触控方向一致为:使校准后的所述当前帧轮盘方向的方向向量与所述当前帧触控点的方向向量的第三目标方向夹角不大于预设夹角阈值,且校准后的所述当前帧触控点的方向向量和所述当前帧轮盘方向的方向向量不沿目标方向对称,所述目标方向为平行于屏幕坐标系任一坐标轴方向。
12.一种电子设备,其特征在于,所述电子设备的GUI显示轮盘,所述轮盘上的触控报点用于指示轮盘方向,所述电子设备包括存储器和处理器,所述存储器与所述处理器耦合;
所述存储器存储有程序,当所述程序由所述处理器执行时,使得所述电子设备执行权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310851554.1A CN117707352A (zh) | 2023-07-11 | 2023-07-11 | 一种轮盘方向的显示方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310851554.1A CN117707352A (zh) | 2023-07-11 | 2023-07-11 | 一种轮盘方向的显示方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117707352A true CN117707352A (zh) | 2024-03-15 |
Family
ID=90163006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310851554.1A Pending CN117707352A (zh) | 2023-07-11 | 2023-07-11 | 一种轮盘方向的显示方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707352A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834428A (zh) * | 2014-02-12 | 2015-08-12 | 元太科技工业股份有限公司 | 触控点修正方法及应用其的电磁式触控面板 |
CN113641260A (zh) * | 2020-05-11 | 2021-11-12 | 华为技术有限公司 | 触控轨迹预测方法、相关装置、设备及计算机存储介质 |
CN113867562A (zh) * | 2021-08-18 | 2021-12-31 | 荣耀终端有限公司 | 触摸屏报点的校正方法、装置和电子设备 |
US20220261093A1 (en) * | 2019-07-17 | 2022-08-18 | Huawei Technologies Co., Ltd. | Foldable Screen-Based Interaction Method and Device |
US20220360654A1 (en) * | 2019-06-24 | 2022-11-10 | Huawei Technologies Co., Ltd. | Touchscreen Display Method and Electronic Device |
-
2023
- 2023-07-11 CN CN202310851554.1A patent/CN117707352A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834428A (zh) * | 2014-02-12 | 2015-08-12 | 元太科技工业股份有限公司 | 触控点修正方法及应用其的电磁式触控面板 |
US20220360654A1 (en) * | 2019-06-24 | 2022-11-10 | Huawei Technologies Co., Ltd. | Touchscreen Display Method and Electronic Device |
US20220261093A1 (en) * | 2019-07-17 | 2022-08-18 | Huawei Technologies Co., Ltd. | Foldable Screen-Based Interaction Method and Device |
CN113641260A (zh) * | 2020-05-11 | 2021-11-12 | 华为技术有限公司 | 触控轨迹预测方法、相关装置、设备及计算机存储介质 |
CN113867562A (zh) * | 2021-08-18 | 2021-12-31 | 荣耀终端有限公司 | 触摸屏报点的校正方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8966379B2 (en) | Dynamic cross-environment application configuration/orientation in an active user environment | |
US20160077682A1 (en) | Dynamic cross-environment application configuration/orientation | |
US20200008142A1 (en) | Method for Controlling Terminal, and Terminal | |
CN114648951B (zh) | 控制屏幕刷新率动态变化的方法及电子设备 | |
CN111176504A (zh) | 一种界面元素的显示方法及电子设备 | |
CN113127130B (zh) | 页面跳转方法、装置及存储介质 | |
US20220382566A1 (en) | Generating User Interface Containers | |
CN118057276A (zh) | 应用界面显示方法、电子设备和存储介质 | |
WO2022089407A1 (zh) | 一种显示方法及电子设备 | |
CN114138215B (zh) | 一种显示方法及相关设备 | |
CN114780012B (zh) | 电子设备的锁屏壁纸的显示方法和相关装置 | |
CN115495003A (zh) | 键盘显示方法、折叠屏设备和计算机可读存储介质 | |
CN117707352A (zh) | 一种轮盘方向的显示方法及电子设备 | |
EP4195040A1 (en) | Screen window redrawing method, electronic device, and computer-readable storage medium | |
CN116841658A (zh) | 界面显示方法及电子设备 | |
CN116075804A (zh) | 一种图像数据处理的装置和方法 | |
CN112231029A (zh) | 应用于主题的帧动画处理方法 | |
CN116688494B (zh) | 生成游戏预测帧的方法和电子设备 | |
CN116672707B (zh) | 生成游戏预测帧的方法和电子设备 | |
CN116664734B (zh) | 环形图的显示方法、电子设备及可读存储介质 | |
CN116700655B (zh) | 一种界面显示方法及电子设备 | |
CN117129085B (zh) | 环境光的检测方法、电子设备及可读存储介质 | |
CN114995701B (zh) | 悬浮窗控制方法及相关装置 | |
WO2022179431A1 (zh) | 显示模式切换方法、装置、电子设备和介质 | |
CN117873348A (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 |