CN116954452A - 操作响应方法、装置、设备及计算机可读存储介质 - Google Patents
操作响应方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116954452A CN116954452A CN202311000561.7A CN202311000561A CN116954452A CN 116954452 A CN116954452 A CN 116954452A CN 202311000561 A CN202311000561 A CN 202311000561A CN 116954452 A CN116954452 A CN 116954452A
- Authority
- CN
- China
- Prior art keywords
- gui
- pressing
- reference object
- operations
- sliding
- 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 108
- 230000004044 response Effects 0.000 title claims abstract description 37
- 238000003825 pressing Methods 0.000 claims abstract description 261
- 230000008569 process Effects 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims description 86
- 238000013519 translation Methods 0.000 claims description 46
- 238000004590 computer program Methods 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 21
- 230000009467 reduction Effects 0.000 description 20
- 230000003321 amplification Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000003199 nucleic acid amplification method Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种操作响应方法、装置、设备及计算机可读存储介质,涉及计算机技术领域。该方法包括:获取多个第一按压操作在GUI中的第一参考对象上的第一位置;获取多个第一滑动操作在GUI上的第二位置,第一滑动操作的第二位置是以第一滑动操作对应的第一按压操作的第一位置为起点滑动第一滑动操作对应的第一参考距离后的位置;基于多个第一位置和多个第二位置,生成第一参考指令;执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,GUI基于LVGL构建。该方法使得基于LVGL构建的GUI所在的终端能够在第一参考对象处于多点按压状态下,对用户执行的操作进行响应。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种操作响应方法、装置、设备及计算机可读存储介质。
背景技术
用户界面是用户与设备进行交互的桥梁,其中,图形化用户界面(graphic userinterface,GUI)由于操作简单、界面直观得到了较为广泛的应用。轻量级和通用图形库(light and versatile graphics library,LVGL)由于具有较为丰富的图像元素,例如按键、文本框、键盘框等,能够用于较为便捷地构建GUI。因此,需要一种操作响应方法,使得在用户对基于LVGL构建的GUI进行操作的情况下,GUI所在的设备能够对用户的操作进行响应。
发明内容
本申请提供了一种操作响应方法、装置、设备及计算机可读存储介质,用于响应对由LVGL构建的GUI上的对象的多点按压且滑动的操作。技术方案如下:
一方面,本申请提供了一种操作响应方法,该方法包括:获取多个第一按压操作在GUI上的第一位置,一个第一按压操作用于按压GUI的第一参考对象的一个位置;获取多个第一滑动操作在GUI上的第二位置,一个第一滑动操作对应一个第一按压操作和一个第一参考距离,第一滑动操作的第二位置是以第一滑动操作对应的第一按压操作的第一位置为起点滑动第一滑动操作对应的第一参考距离后的位置;基于多个第一位置和多个第二位置,生成第一参考指令,第一参考指令用于对第一参考对象进行处理;执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,GUI基于LVGL构建。
在一种可能的实现方式中,获取多个第一滑动操作在GUI上的第二位置,包括:获取按压状态信息,按压状态信息用于指示GUI处于多点按压状态或者未处于多点按压状态;基于按压状态信息指示GUI处于多点按压状态,获取多个第一滑动操作在GUI上的第二位置。
在一种可能的实现方式中,该方法还包括:基于按压状态信息指示GUI未处于多点按压状态,获取第二按压操作在GUI上的第三位置,第二按压操作用于按压GUI的第二参考对象的一个位置;获取第二滑动操作在GUI上的第四位置,第二滑动操作与第二按压操作相对应,第四位置是以第三位置为起点滑动第二参考距离后的位置;基于第三位置和第四位置,生成第二参考指令,第二参考指令用于对第二参考对象进行移动;执行第二参考指令以对第二参考对象进行移动,得到移动后的第二参考对象,通过GUI显示移动后的第二参考对象。
在一种可能的实现方式中,获取多个第一按压操作在图形化用户界面GUI上的第一位置之前,该方法还包括:将多个第一按压操作在GUI上的第一位置存储在硬件寄存器中;从硬件寄存器读取多个第一按压操作在GUI上的第一位置,将多个第一按压操作在GUI上的第一位置存储在缓冲区中;获取多个第一按压操作在GUI上的第一位置,包括:通过LVGL输入任务从缓冲区读取多个第一按压操作在GUI上的第一位置。
在一种可能的实现方式中,缓冲区还用于存储多个第二位置、第一位置对应的输入设备类型和第二位置对应的输入设备类型,第一位置对应的输入设备类型和第二位置对应的输入设备类型相同;获取多个第一滑动操作在GUI上的第二位置,包括:通过LVGL输入任务从缓冲区读取多个第一位置对应的输入设备类型;通过LVGL输入任务从缓冲区读取输入设备类型与多个第一位置的输入设备类型相同的多个第二位置。
在一种可能的实现方式中,基于多个第一位置和多个第二位置,生成第一参考指令,包括:基于多个第一位置和多个第二位置,获取处理信息,处理信息包括缩放信息、旋转信息或平移信息中的至少一种;根据处理信息,生成第一参考指令。
在一种可能的实现方式中,缩放信息包括缩放中心和缩放比例,旋转信息包括旋转中心、旋转方向和旋转角度,平移信息包括平移方向和平移距离。
另一方面,提供了一种操作响应装置,该装置包括:
第一获取模块,用于获取多个第一按压操作在GUI上的第一位置,一个第一按压操作用于按压GUI的第一参考对象的一个位置;
第二获取模块,用于获取多个第一滑动操作在GUI上的第二位置,一个第一滑动操作对应一个第一按压操作和一个第一参考距离,第一滑动操作的第二位置是以第一滑动操作对应的第一按压操作的第一位置为起点滑动第一滑动操作对应的第一参考距离后的位置;
生成模块,用于基于多个第一位置和多个第二位置,生成第一参考指令,第一参考指令用于对第一参考对象进行处理;
响应模块,用于执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,GUI基于LVGL构建。
在一种可能的实现方式中,第二获取模块,用于获取按压状态信息,按压状态信息用于指示GUI处于多点按压状态或者未处于多点按压状态;基于按压状态信息指示GUI处于多点按压状态,获取多个第一滑动操作在GUI上的第二位置。
在一种可能的实现方式中,第一获取模块,还用于基于按压状态信息指示GUI未处于多点按压状态,获取第二按压操作在GUI上的第三位置,第二按压操作用于按压GUI的第二参考对象的一个位置;第二获取模块,还用于获取第二滑动操作在GUI上的第四位置,第二滑动操作与第二按压操作相对应,第四位置是以第三位置为起点滑动第二参考距离后的位置;生成模块,还用于基于第三位置和第四位置,生成第二参考指令,第二参考指令用于对第二参考对象进行移动;响应模块,还用于执行第二参考指令以对第二参考对象进行移动,得到移动后的第二参考对象,通过GUI显示移动后的第二参考对象。
在一种可能的实现方式中,第一获取模块,还用于将多个第一按压操作在GUI上的第一位置存储在硬件寄存器中;从硬件寄存器读取多个第一按压操作在GUI上的第一位置,将多个第一按压操作在GUI上的第一位置存储在缓冲区中;第一获取模块,用于通过LVGL输入任务从缓冲区读取多个第一按压操作在GUI上的第一位置。
在一种可能的实现方式中,缓冲区还用于存储多个第二位置、第一位置对应的输入设备类型和第二位置对应的输入设备类型,第一位置对应的输入设备类型和第二位置对应的输入设备类型相同;第二获取模块,用于通过LVGL输入任务从缓冲区读取多个第一位置对应的输入设备类型;通过LVGL输入任务从缓冲区读取输入设备类型与多个第一位置的输入设备类型相同的多个第二位置。
在一种可能的实现方式中,生成模块,用于基于多个第一位置和多个第二位置,获取处理信息,处理信息包括缩放信息、旋转信息或平移信息中的至少一种;根据处理信息,生成第一参考指令。
在一种可能的实现方式中,缩放信息包括缩放中心和缩放比例,旋转信息包括旋转中心、旋转方向和旋转角度,平移信息包括平移方向和平移距离。
另一方面,提供了一种电子设备,电子设备包括处理器和存储器,存储器中存储有至少一条计算机程序,至少一条计算机程序由处理器加载并执行,以使电子设备实现上述任一的操作响应方法。
另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条计算机程序,至少一条计算机程序由电子设备的处理器加载并执行,以使电子设备实现上述任一的操作响应方法。
另一方面,还提供了一种计算机程序产品或计算机程序,计算机程序产品或计算机程序包括计算机指令,计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取计算机指令,处理器执行计算机指令,使得电子设备执行上述任一的操作响应方法。
本申请提供的技术方案至少带来如下有益效果:
本申请提供的方案中,通过感知在LVGL构建的GUI上执行的对第一参考对象的第一按压操作的数量,能够确定第一参考对象处于多点按压状态。在此基础上,通过获取多个第一按压操作的第一位置以及各个第一按压操作对应的第一滑动操作的第二位置,能够根据多个第一位置和多个第二位置生成第一参考指令。从而通过执行第一参考指令对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象。该方法使得基于LVGL构建的GUI所在的终端能够在第一参考对象处于多点按压状态下,对用户在GUI上执行的操作进行响应。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种操作响应方法的流程图;
图3是本申请实施例提供的一种数据处理的过程示意图;
图4是本申请实施例提供的一种执行按压处理的过程示意图;
图5是本申请实施例提供的一种对图像对象进行处理的过程示意图;
图6是本申请实施例提供的一种对图像对象进行放大的过程示意图;
图7是本申请实施例提供的一种对图像对象进行缩小的过程示意图;
图8是本申请实施例提供的一种操作响应装置的结构示意图;
图9是本申请实施例提供的一种终端的结构示意图;
图10是本申请实施例提供的另一种终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着计算机技术的发展,智能手表、智能家居等智能设备逐渐在日常生活中得到广泛应用,用户与智能设备的过程称为人机交互(human-computer interaction,HCI)过程。由于GUI操作简单且界面直观,GUI逐渐在智能设备上得到广泛应用,用户能够通过GUI进行人机交互。例如,用户通过手指或者鼠标、键盘等输入设备触发GUI上显示的图形化元素,GUI所在的设备响应于用户触发图形化元素时的操作生成与操作对应指令,在设备执行指令得到结果后,通过GUI上的图形化显示容器显示结果。GUI上显示的图形化元素和图形化显示容器统称为GUI显示的对象。
LVGL是一个免费且开源的轻量级通用图形库,具有较为丰富的用于构建GUI的图形化元素,例如按键、文本框、键盘框等。LVGL还能够支持触摸屏、键盘、鼠标或外部按键等多种输入设备类型。LVGL内部通过输入任务读取基于用户的操作生成的数据,对数据进行处理实现对用户的操作进行响应。在本申请中,用户的操作称为输入事件,LVGL的输入任务也称为LVGL输入任务。
LVGL能够支持按键对象(button object,btn_obj)、滑动对象(slider object,slider_obj)、图像对象(image object,img_obj)等多种对象类型。在本申请实施例中,图像对象包括显示在GUI上的图形化元素。再有,基于LVGL构建的GUI占用的内存较低、功耗较低、能够支持多显示器和多输入设备、扩展性较高、并且图形化元素可定制。从而基于上述特点,基于LVGL构建的GUI在微型的嵌入式设备中使用较为广泛。在GUI基于LVGL构建的情况下,需要一种操作响应方法,使得该GUI所在的终端能够对用户的操作进行响应,实现通过基于LVGL构建的GUI进行人机交互。
相关技术中,在用户对某一个对象进行多点按压并且在多点按压的过程中进行滑动时,相关技术中的LVGL输入任务会将多点按压且滑动的操作视为多个单点按压且滑动的操作,分别执行多次单点按压且滑动的操作对应的处理,导致LVGL输入任务无法对用户执行的多点按压且滑动的操作进行响应。多点按压指的是外部设备对GUI上同一个对象或区域同时进行的按压操作,多点按压也称为多点触控(multi-touch)。多点按压且滑动指的是在保持多点按压的状态下对GUI执行的滑动操作,例如,用户使用多根手指按压GUI上的同一个对象且在保持多根手指按压GUI的情况下使用这些手指执行滑动操作。
本申请实施例提供了一种操作响应方法,该方法可应用于图1示出的实施环境。如图1所示,该实施环境包括终端11,该方法由终端11执行。终端11可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如,手机、个人数字助手(personal digital assistant,PDA)、可穿戴设备、掌上电脑(pocket personal computer,PPC)、平板电脑、智能车机、智能电视、智能音箱、智能语音交互设备、智能家电、车载终端、飞行器、智能手表等。本领域技术人员应能理解上述终端11仅为举例,其他现有的或今后可能出现的终端如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
本申请实施例提供的操作响应方法可如图2所示,接下来,结合图1示出的实施环境对该方法进行说明,该方法应用于图1示出的终端11。如图2所示,该方法包括但不限于步骤201至步骤204。
步骤201,获取多个第一按压操作在GUI上的第一位置,一个第一按压操作用于按压GUI的第一参考对象的一个位置。
在本申请实施例中,GUI是基于LVGL构建的,GUI包括多个对象,第一参考对象可以为GUI中的图像对象。一个第一按压操作用于按压第一参考对象的一个位置,从而多个第一按压操作用于按压第一参考对象的多个位置。例如,用户使用多根手指对终端的GUI显示的一个图像对象进行按压,每根手指对该图像对象执行一个第一按压操作。
示例性地,各个第一按压操作在GUI上的第一位置通过坐标表示。例如,基于终端的GUI的某一个角建立平面坐标系,则对于多个第一按压操作中的任一个第一按压操作,该任一个第一按压操作在GUI上的第一位置即为该任一个第一按压操作的位置在该平面坐标系中的坐标。
在一种可能的实现方式中,获取多个第一按压操作在GUI上的第一位置之前,该方法还包括:将多个第一按压操作在GUI上的第一位置存储在硬件寄存器中;从硬件寄存器读取多个第一按压操作在GUI上的第一位置,将多个第一按压操作在GUI上的第一位置存储在缓冲区中;获取多个第一按压操作在GUI上的第一位置,包括:通过LVGL输入任务从缓冲区读取多个第一按压操作在GUI上的第一位置。
例如,对于用户在基于LVGL构建的GUI上执行的任一个操作,均会得到一个与该任一个操作对应的数据。在用户对基于LVGL构建的GUI中的第一参考对象执行多个第一按压操作的情况下,对于多个第一按压操作中的每一个按压操作,基于该任一个第一按压操作得到的该任一个第一按压操作对应的数据包括该任一个第一按压操作在GUI上的第一位置的坐标。第一位置的坐标可以存储在硬件寄存器中,通过从硬件寄存器中读取多个第一按压操作的第一位置的坐标,将读取到的多个第一按压操作的第一位置的坐标存储在缓冲区中,能够通过LVGL输入任务从该缓冲区中读取多个第一按压操作的第一位置的坐标。由于第一位置的坐标用于表示第一位置,在本申请实施例中,“第一位置”与“第一位置的坐标”可以通用。
示例性地,缓冲区还存储有数据对应的输入设备类型,例如缓冲区还存储有第一位置对应的输入设备类型。在本申请实施例中,第一位置对应的输入设备类型为指针(pointer),从而LVGL输入任务在从缓冲区读取存储的数据之后,可以根据数据对应的输入设备类型,执行输入设备类型对应的数据处理类型,从而提高数据处理效率。例如,在输入设备类型为指针的情况下,指针对应的数据处理类型为指针输入事件处理。在本申请实施例中,在用户通过手指或鼠标对GUI中的对象进行操作的情况下,输入设备类型为指针,从而对于基于手指或鼠标执行的操作生成的数据,数据对应的输入设备类型为指针。
图3是本申请实施例提供的一种数据处理的过程示意图。参见图3,LVGL输入任务可以周期性的从缓冲区中读取基于用户的操作生成的数据以及该数据对应的输入设备类型。在从缓冲区中读取基于用户的操作生成的数据以及该数据对应的输入设备类型之后,对数据的输入设备类型进行判断,根据输入设备类型得到输入设备类型对应的数据处理类型,进而根据数据处理类型对基于用户的操作生成的数据进行处理。
请继续参见图3,在本申请实施例中,终端还可以支持除了指针以外的其他输入设备类型,除了指针输入事件处理以外还支持其他的数据处理类型。例如,终端还支持键盘(keypad)、按钮(button)、编码器(encoder)。在输入设备类型为键盘的情况下,数据处理类型为键盘输入事件处理,在输入设备类型为按钮的情况下,数据处理类型为按钮输入事件处理,在输入设备类型为编码器的情况下,数据处理类型为编码器输入事件处理。在确定数据处理类型之后,执行数据处理类型的数据处理,在完成数据处理后,退出LVGL输入任务。
示例性地,该方法还包括:生成按压状态信息,按压状态信息用于指示GUI处于多点按压状态或者未处于多点按压状态。GUI处于多点按压状态是指按压GUI的操作的数量为多个,例如,在多个第一按压操作按压GUI中的第一参考对象的情况下,GUI处于多点按压状态。同理,GUI未处于多点按压状态是指按压GUI的操作的数量为0或者1个,例如,在仅有一个按压操作按压GUI中的对象或者没有按压操作按压GUI中的对象的情况下,GUI未处于多点按压状态。
关于按压状态信息指示GUI处于多点按压状态或者未处于多点按压状态的方式,本申请实施例对此不加以限定。例如,在按压状态信息为1的情况下,按压状态信息用于指示GUI处于多点按压状态;在按压状态信息为0的情况下,按压状态信息用于指示GUI未处于多点按压状态。上述1和0仅用于对按压状态信息进行举例说明,其他值也可以用于作为按压状态信息的取值,以指示GUI处于多点按压状态或者未处于多点按压状态,本申请实施例对此不加以限定。通过获取按压状态信息,GUI是否处于多点按压状态能够较为快速的确定。
在本申请实施例中,生成按压状态信息的操作可以在步骤201之前执行,也可以在步骤201之后执行。在生成按压状态信息的操作在步骤201之前执行的情况下,如果GUI没有被多个按压操作按压,生成的按压状态信息用于指示GUI未处于多点按压状态。在生成按压状态信息的操作在步骤201之后执行的情况下,由于GUI已被多个第一按压操作按压,生成的按压状态信息用于指示GUI处于多点按压状态。
在执行本申请实施例提供的方法的过程中,按压状态信息可以根据按压GUI的操作的数量进行更新。仍以按压状态信息为1用于指示GUI处于多点按压状态、按压状态信息为0用于指示GUI未处于多点按压状态为例进行说明。在存在多个第一按压操作按压GUI的情况下,按压状态信息为1;如果多个第一按压操作中的一个或多个第一按压操作停止,导致仅有一个第一按压操作按压GUI或者没有第一按压操作按压GUI,则按压状态信息由1更新为0。
步骤202,获取多个第一滑动操作在GUI上的第二位置,一个第一滑动操作对应一个第一按压操作和一个第一参考距离,第一滑动操作的第二位置是以该第一滑动操作对应的第一按压操作的第一位置为起点滑动该第一滑动操作对应的第一参考距离后的位置。
例如,用户使用多根手指对基于LVGL构建的GUI上的第一参考对象进行多个第一按压操作,其中,一根手指用于执行一个第一按压操作。然后,在保持按压GUI的同时移动这些手指,以执行多个第一滑动操作。对于任一个第一滑动操作,该任一个第一滑动操作在GUI上的第二位置即为以该任一个第一滑动操作对应的第一按压操作的第一位置为起点,滑动该第一滑动操作对应的第一参考距离后的位置。也即,对于先执行多个第一按压操作后执行多个第一滑动操作的这些手指中的任一根手指,该任一根手指在执行第一滑动操作之前在GUI上的按压位置为第一位置,该任一根手指在执行第一滑动操作之后在GUI上的按压位置为第二位置。多个第一滑动操作对应的第一参考距离可以相同或不同,本申请实施例对此不加以限定。
各个第一滑动操作在GUI上的第二位置也可以通过坐标表示。在第一位置和第二位置均通过坐标表示的情况下,第一位置的坐标和第二位置的坐标可以为同一个坐标系中的坐标。例如,基于终端的GUI的某一个角建立平面坐标系,各个第一按压操作在GUI上的第一位置为各个第一按压操作在该平面坐标系中的坐标,各个第一滑动操作在GUI上的第二位置为各个第一滑动操作在该平面坐标系中的坐标。由于第二位置的坐标用于表示第二位置,在本申请实施例中,“第二位置”与“第二位置的坐标”可以通用。
与多个第一按压操作在GUI上的第一位置的获取方式类似,多个第一滑动操作在GUI上的第二位置也可以通过LVGL输入任务从缓冲区中读取得到。例如,获取多个第一滑动操作在GUI上的第二位置之前,该方法还包括:将多个第一滑动操作在GUI上的第二位置存储在硬件寄存器中;从硬件寄存器读取多个第一滑动操作在GUI上的第二位置,将多个第一滑动操作在GUI上的第二位置存储在缓冲区中;获取多个第一滑动操作在GUI上的第二位置,包括:通过LVGL输入任务从缓冲区读取多个第一滑动操作在GUI上的第二位置。
在一种可能的实现方式中,第二位置对应的输入设备类型也存储在缓冲区中,也就是说,缓冲区中存储有第一位置、第二位置、第一位置对应的输入设备类型和第二位置对应的输入设备类型。由于第一按压操作和第一滑动操作都是由用户通过手指在GUI上执行的,第一位置对应的输入设备类型与第二位置对应的输入设备类型相同。例如,第一位置对应的输入设备类型和第二位置对应的输入类型设备均为指针。
在此情况下,获取多个第一滑动操作在GUI上的第二位置,包括:通过LVGL输入任务从缓冲区读取多个第一位置对应的输入设备类型;通过LVGL输入任务从缓冲区读取输入设备类型与多个第一位置的输入设备类型相同的多个第二位置。从而,通过LVGL输入任务读取与第一位置对应的输入设备类型相同的第二位置,确定需要读取的第二位置的效率较高,使得获取第二位置的效率较高。
由于第一按压操作和第一滑动操作在执行过程中均会按压GUI,在第一位置和第二位置均存储在缓冲区的情况下,如果第一按压操作在执行过程中停止,也即不再按压GUI,可以从缓冲区中删除第一按压操作的第一位置;如果第一滑动操作在执行过程中停止,也即不再按压GUI,可以从缓冲区删除第一滑动操作的第二位置以及该第一滑动操作对应的第一按压操作的第一位置。
在一种可能的实现方式中,在生成按压状态信息的情况下,获取多个第一滑动操作在GUI上的第二位置,包括:获取按压状态信息;基于按压状态信息指示GUI处于多点按压状态,获取多个第一滑动操作在GUI上的第二位置。在按压状态信息指示GUI处于多点按压状态的情况下,说明在由执行多个第一按压操作到执行多个第一滑动操作的过程中始终保持GUI处于多点按压状态,在此情况下,获取多个第一滑动操作在GUI上的第二位置。
示例性地,在按压状态信息指示GUI未处于多点按压的状态的情况下,说明在由执行多个第一按压操作到执行多个第一滑动操作的过程中存在仅有一个第一按压操作或第一滑动操作按压GUI或者没有第一按压操作或第一滑动操作按压GUI的状态,在此情况下,执行其他操作。执行的其他操作请参见后文中步骤205至步骤208的内容,此处暂不展开说明。
步骤203,基于多个第一位置和多个第二位置,生成第一参考指令,第一参考指令用于对第一参考对象进行处理。
示例性地,基于多个第一位置和多个第二位置,生成第一参考指令,包括:基于多个第一位置和多个第二位置,获取处理信息,处理信息包括缩放信息、旋转信息或平移信息中的至少一种;根据处理信息,生成第一参考指令。其中,缩放信息包括但不限于缩放中心和缩放比例,旋转信息包括但不限于旋转中心、旋转方向和旋转角度,平移信息包括但不限于平移方向和平移距离。
接下来,根据第一按压操作和第一滑动操作的数量的情况,对基于多个第一位置和多个第二位置生成第一参考指令的过程进行说明。例如,第一按压操作和第一滑动操作的数量的情况包括如下情况A和情况B。
情况A,第一按压操作和第一滑动操作的数量均为两个。
在此情况下,基于多个第一位置和多个第二位置,获取处理信息,包括但不限于:获取多个第一位置之间的第一连线和多个第二位置之间的第二连线;根据第一连线和第二连线的长度、方向和中心点中的至少一种,生成处理信息。
在第一连线的长度与第二连线的长度不同的情况下,生成的处理信息包括缩放信息,进而根据处理信息生成的第一参考指令可以用于对第一参考对象进行缩放。例如,在第一连线的长度大于第二连线的长度的情况下,生成的缩放信息包括第一缩小中心和第一缩小比例。第一缩小中心可以为第二连线的中心点,第一缩小比例可以为第一连线的长度与第二连线的长度的比值。从而第一参考指令能够用于指示第一缩小中心和第一缩小比例,通过执行第一参考指令能够将第一缩小中心作为执行缩小操作的中心点,按照第一缩小比例对第一参考对象进行缩小。
又例如,在第一连线的长度小于第二连线的长度的情况下,生成的缩放信息包括第一放大中心和第一放大比例。第一放大中心可以为第二连线的中心点,第一放大比例可以为第二连线的长度与第一连线的长度的比值。从而第一参考指令能够用于指示第一放大中心和第一放大比例,通过执行第一参考指令能够将第一放大中心作为执行放大操作的中心点,按照第一放大比例对第一参考对象进行放大。
在第一连线的方向与第二连线的方向不同的情况下,生成的处理信息包括旋转信息,进而根据处理信息生成的第一参考指令可以用于指示对第一参考对象进行旋转。旋转信息包括第一旋转中心、第一旋转方向和第一旋转角度。例如,确定第一连线的中心点为第一旋转中心,获取将第一连线的方向旋转至第二连线的方向所需的第一旋转方向和第一旋转角度。从而第一参考指令能够用于指示第一旋转中心、第一旋转方向和第一旋转角度,通过执行第一参考指令能够将第一旋转中心作为执行旋转操作的中心点,按照第一旋转方向将第一参考对象旋转第一旋转角度。
在第一连线的中心点与第二连线的中心点不同的情况下,生成的处理信息包括平移信息,进而根据处理信息生成的第一参考指令可以用于指示对第一参考对象进行平移。平移信息包括平移方向和平移距离。例如,获取将第一连线的中心点移动至第二连线的中心点所需的第一平移方向和第一平移距离。从而第一参考指令能够用于指示第一平移方向和第一平移距离,通过执行第一参考指令能够按照第一平移方向将第一参考对象平移第一平移距离。
情况B,第一按压操作和第一滑动操作的数量均大于两个,且第一按压操作的数量与第一滑动操作的数量相同。
在本申请实施例中,由于在执行滑动操作之前需要先将手指按压在GUI上,也即需要先执行按压操作才能执行滑动操作,因此第一滑动操作的数量小于等于第一按压操作的数量。在第一滑动操作的数量小于第一按压操作的数量且GUI仍处于多点按压状态的情况下,仅根据第一滑动操作对应的第一按压操作的第一位置和第一滑动操作的第二位置生成第一参考指令,没有对应的第一滑动操作的第一按压操作的第一位置不用于生成第一参考指令。
对于情况B,基于多个第一位置和多个第二位置,获取处理信息,包括但不限于:获取多个第一位置构成的第一区域和多个第二位置构成的第二区域;根据第一区域和第二区域的面积、方向和中心点中的至少一种,生成处理信息。
在第一区域的面积与第二区域的面积不同的情况下,生成的处理信息包括缩放信息,进而根据处理信息生成的第一参考指令可以用于对第一参考对象进行缩放。例如,在第一区域的面积大于第二区域的面积的情况下,生成的缩放信息包括第二缩小中心和第二缩小比例。第二缩小中心可以为第二区域的中心点,第二缩小比例可以为第一区域的面积与第二区域的面积的比值。从而第一参考指令能够用于指示第二缩小中心和第二缩小比例,通过执行第一参考指令能够将第二缩小中心作为执行缩小操作的中心点,按照第二缩小比例对第一参考对象进行缩小。
又例如,在第一区域的面积小于第二区域的面积的情况下,生成的缩放信息包括第二放大中心和第二放大比例。第二放大中心可以为第二区域的中心点,第二放大比例可以为第二区域的面积与第一区域的面积的比值。从而第一参考指令能够用于指示第二放大中心和第二放大比例,通过执行第一参考指令能够将第二放大中心作为执行放大操作的中心点,按照第二放大比例对第一参考对象进行放大。
在第一区域的方向与第二区域的方向不同的情况下,生成的处理信息包括旋转信息,进而根据处理信息生成的第一参考指令可以用于指示对第一参考对象进行旋转。第一区域的方向可以为两个第一位置构成的一条边所在的方向,第二区域的方向可以为两个第二位置构成的一条边所在的方向,并且这两个第二位置是以上述两个第一位置为起点滑动得到的。旋转信息包括第二旋转中心、第二旋转方向和第二旋转角度。例如,确定第一区域的中心点为第二旋转中心,获取将第一区域的方向旋转至第二区域的方向所需的第二旋转方向和第二旋转角度。从而第一参考指令能够用于指示第二旋转中心、第二旋转方向和第二旋转角度,通过执行第一参考指令能够将第二旋转中心作为执行旋转操作的中心点,按照第二旋转方向将第一参考对象旋转第二旋转角度。
在第一区域的中心点与第二区域的中心点不同的情况下,生成的处理信息包括平移信息,进而根据处理信息生成的第一参考指令可以用于指示对第一参考对象进行平移。平移信息包括平移方向和平移距离。例如,获取将第一区域的中心点移动至第二区域的中心点所需的第二平移方向和第二平移距离。从而第一参考指令能够用于指示第二平移方向和第二平移距离,通过执行第一参考指令能够按照第二平移方向将第一参考对象平移第二平移距离。
结合上述情况A和情况B的内容可知,无论第一按压操作和第一滑动操作的数量为两个或三个以上,生成第一参考指令可以用于对第一参考对象进行平移、旋转或者缩放中的至少一种处理。从而通过执行第一参考指令对第一参考对象进行处理时,处理第一参考对象的方式较为灵活多样。
步骤204,执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,GUI基于LVGL构建。
示例性地,在第一参考指令用于指示第一缩小中心和第一缩小比例的情况下,执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,包括:将第一缩小中心作为执行缩小操作的中心点,按照第一缩小比例对第一参考对象进行缩小,得到缩小后的第一参考对象,通过GUI显示缩小后的第一参考对象。
同理,在第一参考指令用于指示第二缩小中心和第二缩小比例的情况下,执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,包括:将第二缩小中心作为执行缩小操作的中心点,按照第二缩小比例对第一参考对象进行缩小,得到缩小后的第一参考对象,通过GUI显示缩小后的第一参考对象。
示例性地,在第一参考指令用于指示第一放大中心和第一放大比例的情况下,执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,包括:将第一放大中心作为执行放大操作的中心点,按照第一放大比例对第一参考对象进行放大,得到放大后的第一参考对象,通过GUI显示放大后的第一参考对象。
同理,在第一参考指令用于指示第二放大中心和第二放大比例的情况下,执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,包括:将第二放大中心作为执行放大操作的中心点,按照第二放大比例对第一参考对象进行放大,得到放大后的第一参考对象,通过GUI显示放大后的第一参考对象。
在本申请实施例中,对第一参考对象进行缩小或者对第一参考对象进行放大的操作可以通过调用调整大小(resize)函数接口完成。
在一种可能的实现方式中,在第一参考指令用于指示第一旋转中心、第一旋转方向和第一旋转角度的情况下,执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,包括:将第一旋转中心作为执行旋转操作的中心点,按照第一旋转方向将第一参考对象旋转第一旋转角度,得到旋转后的第一参考对象,通过GUI显示旋转后的第一参考对象。
同理,在第一参考指令用于指示第二旋转中心、第二旋转方向和第二旋转角度的情况下,执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,包括:将第二旋转中心作为执行旋转操作的中心点,按照第二旋转方向将第一参考对象旋转第二旋转角度,得到旋转后的第一参考对象,通过GUI显示旋转后的第一参考对象。
在一种可能的实现方式中,在第一参考指令用于指示第一平移方向和第一平移距离的情况下,执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,包括:按照第一平移方向将第一参考对象平移第一平移距离,得到平移后的第一参考对象,通过GUI显示平移后的第一参考对象。
同理,在第一参考指令用于指示第二平移方向和第二平移距离的情况下,执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,包括:按照第二平移方向将第一参考对象平移第二平移距离,得到平移后的第一参考对象,通过GUI显示平移后的第一参考对象。
在本申请实施例中,第一参考对象可以为图像对象。从而在第一参考对象为图像对象的情况下,本申请实施例提供的方法能够实现对图像对象的放大、缩小、旋转或者平移中的至少一种操作。
示例性地,结合前文步骤202中的内容,在按压状态信息指示GUI未处于多点按压状态的情况下,该方法还包括步骤205至步骤208。
步骤205,基于按压状态信息指示GUI未处于多点按压状态,获取第二按压操作在GUI上的第三位置,第二按压操作用于按压GUI的第二参考对象的一个位置。
在按压状态信息指示GUI未处于多点按压状态的情况下,说明按压GUI的第一按压操作的数量小于两个或者按压GUI的第一滑动操作的数量小于两个。在此情况下,在存在按压GUI的按压操作的情况下,可以获取第二按压操作在GUI上的第三位置,第二按压操作用于按压GUI的第二参考对象的一个位置。在本申请实施例中,第二按压操作可以为未停止的第一按压操作,第二参考对象可以为第一参考对象。获取第二按压操作在GUI上的第三位置的方式与步骤201中获取多个第一按压操作在GUI上的第一位置的方式原理相同,此处不再赘述。
步骤206,获取第二滑动操作在GUI上的第四位置,第二滑动操作与第二按压操作相对应,第四位置是以第三位置为起点滑动第二参考距离后的位置。
获取第二滑动操作在GUI上的第四位置的方式与步骤202中获取多个第一滑动操作在GUI上的第二位置的方式原理相同,此处不再赘述。本申请实施例不对第二参考距离的取值进行限定。
步骤207,基于第三位置和第四位置,生成第二参考指令,第二参考指令用于对第二参考对象进行移动。
基于第三位置和第四位置生成第二参考指令的方式可参考相关技术中对于单点按压操作生成指令的方式。例如,根据第三位置与第四位置获取移动距离和移动方向,根据移动距离和移动方向生成第二参考指令,第二参考指令用于指示移动距离和移动方向。从而执行第二参考指令后能够按照该移动方向将第二参考对象移动该移动距离。
步骤208,执行第二参考指令以对第二参考对象进行移动,得到移动后的第二参考对象,通过GUI显示移动后的第二参考对象。
执行第二参考指令的方式可参考相关技术中执行基于单点按压操作生成的指令的方式。例如,执行第二参考指令以对第二参考对象进行移动,得到移动后的第二参考对象,通过GUI显示移动后的第二参考对象,包括:按照第二参考指令指示的移动方向将第二参考对象移动第二参考指令指示的移动距离,得到移动后的第二参考对象,通过GUI显示移动后的第二参考对象。
在一种可能的实现方式中,GUI包括多种对象,GUI上的对象关联有父对象,对象关联的父对象可以为GUI上的对象的显示容器,在此情况下,该方法还包括:确定第一参考对象是否为图像对象,在第一参考对象为图像对象且第一参考对象关联的父对象为屏幕的情况下,执行获取多个第一按压操作在GUI上的第一位置的操作。该方法还可以包括:确定第二参考对象是否为图像对象,在第二参考对象为图像对象且第二参考对象关联的父对象为屏幕的情况下,执行获取第二按压操作在GUI上的第三位置的操作。也就是说,本申请实施例提供的方法中,可以针对图像对象被按压的情况进行响应,而不对除图像对象以外的其他对象被按压的情况进行响应。
示例性地,无论第一参考对象还是第二参考对象,如果被按压的参考对象不是图像对象和/或被按压的参考对象关联的父对象不是屏幕,确定用户对被按压的参考对象执行的是单点按压操作。在此情况下,可以生成单点按压操作对应的指令,执行该指令得到结果,通过GUI显示该结果。
接下来,以用户对基于LVGL构建的GUI上的图像对象进行多点按压且滑动的操作为例,也即以多个第一按压操作和多个第一滑动操作为例,对响应过程进行说明。图4是本申请实施例提供的一种执行按压处理的过程示意图。参见图4,GUI所在的终端判断被按压的第一参考对象是否为图像对象且第一参考对象关联的父对象是否为屏幕,如果为否,执行其他处理,例如,如果第一参考对象不是图像对象和/或第一参考对象关联的父对象不是屏幕,确定用户对第一参考对象执行的是单点按压操作,执行的其他处理包括:根据单点按压操作生成指令,执行该指令得到结果,通过GUI显示该结果。
如果第一参考对象是图像对象且第一参考对象关联的父对象是屏幕,确定按压状态信息是否指示GUI处于多点按压状态。如果为是,从缓冲区读取多个第一按压操作在GUI上的第一位置和多个第一滑动操作在GUI上的第二位置,结束按压处理。如果为否,判断缓冲区是否已存储多个第一按压操作在GUI上的第一位置。
如果为否,说明多个第一按压操作中的一个或多个第一按压操作在执行过程中停止,或者多个第一滑动操作中的一个或多个第一滑动操作在执行过程中停止,导致仅有一个第一按压操作或一个第一滑动操作按压GUI或者没有第一按压操作或第一滑动操作按压GUI。在此情况下,执行其他操作,结束按压处理,其中,执行的其他操作包括但不限于上述步骤205至步骤208的操作。如果为是,说明在执行多个第一按压操作之后还未执行多个第一滑动操作,获取多个第一按压操作在GUI上的第一位置,结束按压处理。在本申请实施例中,启动按压处理也称为启动按压函数,结束按压处理也称为退出按压函数。
图5是本申请实施例提供的一种对图像对象进行处理的过程示意图。参见图5,由于图像对象还可以被执行除第一参考指令以外的其他指令对应的处理,该方法中可以先确定对图像对象执行的指令是否为第一参考指令。如果不是第一参考指令,执行该指令以对图像对象执行第一参考指令对应的处理以外的其他处理。如果是第一参考指令,执行第一参考指令以对图像对象执行第一参考指令对应的处理。如图5所示,在本申请实施例中,开始对图像对象进行处理的操作可以称为启动图像对象事件处理函数,结束对图像对象进行处理的操作可以称为退出图像对象事件处理函数。在执行完成对图像对象进行处理之后,退出图像对象事件处理函数。
图6是本申请实施例提供的一种对图像对象进行放大的过程示意图。第一按压操作和第一滑动操作的数量均为两个。如图6所示,一个第一按压操作的第一位置和该第一按压操作对应的第一滑动操作的第二位置分别通过p11和p12表示,另一个第一按压操作的第一位置和该第一按压操作对应的第一滑动操作的第二位置分别通过p21和p22表示。则根据两个第一位置和两个第二位置生成第一参考指令,执行第一参考指令以对第一参考对象进行放大。
图7是本申请实施例提供的一种对图像对象进行缩小的过程示意图。第一按压操作和第一滑动操作的数量为两个。如图7所示,一个第一按压操作的第一位置和该第一按压操作对应的第一滑动操作的第二位置分别通过p31和p32表示,另一个第一按压操作的第一位置和该第一按压操作对应的第一滑动操作的第二位置分别通过p41和p42表示。则根据两个第一位置和两个第二位置生成第一参考指令,执行第一参考指令以对第一参考对象进行缩小。
本申请实施例提供的方法中,通过感知在LVGL构建的GUI上执行的对第一参考对象的第一按压操作的数量,能够确定第一参考对象处于多点按压状态。在此基础上,通过获取多个第一按压操作的第一位置以及各个第一按压操作对应的第一滑动操作的第二位置,能够根据多个第一位置和多个第二位置生成第一参考指令。从而通过执行第一参考指令对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象。该方法使得基于LVGL构建的GUI所在的终端能够在第一参考对象处于多点按压状态下,对用户在GUI上执行的操作进行响应。
在第一参考对象为图像对象的情况下,该方法可以实现对图像对象的平移、旋转或者缩放中的至少一种处理。也就是说,用户能够通过多点按压且滑动的操作实现对GUI中的图像对象进行平移、旋转或者缩放中的至少一种处理。例如,用户希望对图像对象的左上角的区域进行放大,使用多根手指按压图像对象的左上角的区域且按照增加手指之间的距离的方向滑动多根手指即可实现对该区域进行放大,用户体验较好。
再有,由于对图像对象的双击操作仅能够实现朝单一方向进行图像缩放且一次双击操作仅能够缩小一次图像对象或者放大一次图像对象,相较于使用双击操作对图像对象进行缩放的方式,该方法能够通过手指滑动的方向控制图像对象的旋转方向并在旋转过程中实现对图像的放大,对图像对象进行放大的方式较为灵活多样。
参见图8,本申请实施例提供了一种操作响应装置,该装置包括:第一获取模块801、第二获取模块802、生成模块803和响应模块804。
第一获取模块801,用于获取多个第一按压操作在GUI上的第一位置,一个第一按压操作用于按压GUI的第一参考对象的一个位置;第二获取模块802,用于获取多个第一滑动操作在GUI上的第二位置,一个第一滑动操作对应一个第一按压操作和一个第一参考距离,第一滑动操作的第二位置是以第一滑动操作对应的第一按压操作的第一位置为起点滑动第一滑动操作对应的第一参考距离后的位置;生成模块803,用于基于多个第一位置和多个第二位置,生成第一参考指令,第一参考指令用于对第一参考对象进行处理;响应模块804,用于执行第一参考指令以对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象,GUI基于LVGL构建。
在一种可能的实现方式中,第二获取模块802,用于获取按压状态信息,按压状态信息用于指示GUI处于多点按压状态或者未处于多点按压状态;基于按压状态信息指示GUI处于多点按压状态,获取多个第一滑动操作在GUI上的第二位置。
在一种可能的实现方式中,第一获取模块801,还用于基于按压状态信息指示GUI未处于多点按压状态,获取第二按压操作在GUI上的第三位置,第二按压操作用于按压GUI的第二参考对象的一个位置;第二获取模块802,还用于获取第二滑动操作在GUI上的第四位置,第二滑动操作与第二按压操作相对应,第四位置是以第三位置为起点滑动第二参考距离后的位置;生成模块803,还用于基于第三位置和第四位置,生成第二参考指令,第二参考指令用于对第二参考对象进行移动;响应模块804,还用于执行第二参考指令以对第二参考对象进行移动,得到移动后的第二参考对象,通过GUI显示移动后的第二参考对象。
在一种可能的实现方式中,第一获取模块801,还用于将多个第一按压操作在GUI上的第一位置存储在硬件寄存器中;从硬件寄存器读取多个第一按压操作在GUI上的第一位置,将多个第一按压操作在GUI上的第一位置存储在缓冲区中;第一获取模块801,用于通过LVGL输入任务从缓冲区读取多个第一按压操作在GUI上的第一位置。
在一种可能的实现方式中,缓冲区还用于存储多个第二位置、第一位置对应的输入设备类型和第二位置对应的输入设备类型,第一位置对应的输入设备类型和第二位置对应的输入设备类型相同;第二获取模块802,用于通过LVGL输入任务从缓冲区读取多个第一位置对应的输入设备类型;通过LVGL输入任务从缓冲区读取输入设备类型与多个第一位置的输入设备类型相同的多个第二位置。
在一种可能的实现方式中,生成模块803,用于基于多个第一位置和多个第二位置,获取处理信息,处理信息包括缩放信息、旋转信息或平移信息中的至少一种;根据处理信息,生成第一参考指令。
在一种可能的实现方式中,缩放信息包括缩放中心和缩放比例,旋转信息包括旋转中心、旋转方向和旋转角度,平移信息包括平移方向和平移距离。
本申请实施例提供的装置中,通过感知在LVGL构建的GUI上执行的对第一参考对象的第一按压操作的数量,能够确定第一参考对象处于多点按压状态。在此基础上,通过获取多个第一按压操作的第一位置以及各个第一按压操作对应的第一滑动操作的第二位置,能够根据多个第一位置和多个第二位置生成第一参考指令。从而通过执行第一参考指令对第一参考对象进行处理,得到处理后的第一参考对象,通过GUI显示处理后的第一参考对象。该装置使得基于LVGL构建的GUI所在的终端能够在第一参考对象处于多点按压状态下,对用户在GUI上执行的操作进行响应。
在第一参考对象为图像对象的情况下,该装置可以实现对图像对象的平移、旋转或者缩放中的至少一种处理。再有,由于对图像对象的双击操作仅能够实现朝单一方向进行图像缩放且一次双击操作仅能够缩小一次图像对象或者放大一次图像对象,相较于使用双击操作对图像对象进行缩放的方式,该装置能够通过手指滑动的方向控制图像对象的旋转方向并在旋转过程中实现对图像的放大,对图像对象进行放大的方式较为灵活多样。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9是本申请实施例提供的一种终端的结构示意图,终端可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器901和一个或多个存储器902,其中,处理器901可以是中央处理器(central processing unit,CPU),一个或多个存储器902中存储有至少一条计算机程序,至少一条计算机程序由一个或多个处理器901加载并执行,以使终端实现上述各个方法实施例提供的操作响应方法。其中,当然,终端还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,终端还可以包括其他用于实现设备功能的部件,在此不做赘述。
图10是本申请实施例提供的另一种终端的结构示意图,终端可以为车载终端、手机、PDA、可穿戴设备、PPC、平板电脑、智能车机、智能电视、智能音箱、智能语音交互设备、智能家电、飞行器、智能手表等。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。通常,终端包括有:处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,至少一个指令用于被处理器1001所执行,以使终端实现本申请中方法实施例提供的操作响应方法。
在一些实施例中,终端还可选包括有:外围设备接口1003和至少一个外围设备。处理器1001、存储器1002和外围设备接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1003相连。具体地,外围设备包括:射频电路1004、显示屏1005、摄像头组件1006、音频电路1007和电源1008中的至少一种。
外围设备接口1003可被用于将输入/输出(Input/Output,I/O)相关的至少一个外围设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和外围设备接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和外围设备接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1004用于接收和发射射频(Radio Frequency,RF)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1004包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1004可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或无线保真(Wireless Fidelity,WiFi)网络。在一些实施例中,射频电路1004还可以包括近距离无线通信(Near Field Communication,NFC)有关的电路,本申请对此不加以限定。
显示屏1005用于显示用户界面(User Interface,UI)。UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1005可以为一个,设置在终端的前面板;在另一些实施例中,显示屏1005可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在另一些实施例中,显示屏1005可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。显示屏1005可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等材质制备。
摄像头组件1006用于采集图像或视频。可选地,摄像头组件1006包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及虚拟现实(Virtual Reality,VR)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1001进行处理,或者输入至射频电路1004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1001或射频电路1004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1007还可以包括耳机插孔。
电源1008用于为终端中的各个组件进行供电。电源1008可以是交流电、直流电、一次性电池或可充电电池。当电源1008包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端还包括有一个或多个传感器1009。该一个或多个传感器1009包括但不限于:加速度传感器1010、陀螺仪传感器1011、压力传感器1012、光学传感器1013以及接近传感器1014。
加速度传感器1010可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1010可以用于检测重力加速度在三个坐标轴上的分量。处理器1001可以根据加速度传感器1010采集的重力加速度信号,控制显示屏1005以横向视图或纵向视图进行用户界面的显示。加速度传感器1010还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1011可以检测终端的机体方向及转动角度,陀螺仪传感器1011可以与加速度传感器1010协同采集用户对终端的3D动作。处理器1001根据陀螺仪传感器1011采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1012可以设置在终端的侧边框和/或显示屏1005的下层。当压力传感器1012设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器1001根据压力传感器1012采集的握持信号进行左右手识别或快捷操作。当压力传感器1012设置在显示屏1005的下层时,由处理器1001根据用户对显示屏1005的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1013用于采集环境光强度。在一个实施例中,处理器1001可以根据光学传感器1013采集的环境光强度,控制显示屏1005的显示亮度。具体地,当环境光强度较高时,调高显示屏1005的显示亮度;当环境光强度较低时,调低显示屏1005的显示亮度。在另一个实施例中,处理器1001还可以根据光学传感器1013采集的环境光强度,动态调整摄像头组件1006的拍摄参数。
接近传感器1014,也称距离传感器,通常设置在终端的前面板。接近传感器1014用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器1014检测到用户与终端的正面之间的距离逐渐变小时,由处理器1001控制显示屏1005从亮屏状态切换为息屏状态;当接近传感器1014检测到用户与终端的正面之间的距离逐渐变大时,由处理器1001控制显示屏1005从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图10中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种电子设备,电子设备包括处理器和存储器,存储器中存储有至少一条计算机程序。至少一条计算机程序由一个或一个以上处理器加载并执行,以使电子设备实现上述任一种操作响应方法。
在示例性实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条计算机程序,至少一条计算机程序由电子设备的处理器加载并执行,以使电子设备实现上述任一种操作响应方法。
在一种可能实现方式中,上述计算机可读存储介质可以是只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact DiscRead-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,计算机程序产品或计算机程序包括计算机指令,计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行计算机指令,使得电子设备执行上述任一种操作响应方法。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的第一数据等都是在充分授权的情况下获取的。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
以上示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
以上仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种操作响应方法,其特征在于,所述方法包括:
获取多个第一按压操作在图形化用户界面GUI上的第一位置,一个第一按压操作用于按压所述GUI的第一参考对象的一个位置;
获取多个第一滑动操作在所述GUI上的第二位置,一个第一滑动操作对应一个第一按压操作和一个第一参考距离,所述第一滑动操作的第二位置是以所述第一滑动操作对应的第一按压操作的第一位置为起点滑动所述第一滑动操作对应的第一参考距离后的位置;
基于多个第一位置和多个第二位置,生成第一参考指令,所述第一参考指令用于对所述第一参考对象进行处理;
执行所述第一参考指令以对所述第一参考对象进行处理,得到处理后的所述第一参考对象,通过所述GUI显示所述处理后的所述第一参考对象,所述GUI基于轻量级和通用图形库LVGL构建。
2.根据权利要求1所述的方法,其特征在于,所述获取多个第一滑动操作在所述GUI上的第二位置,包括:
获取按压状态信息,所述按压状态信息用于指示所述GUI处于多点按压状态或者未处于多点按压状态;
基于所述按压状态信息指示所述GUI处于多点按压状态,获取所述多个第一滑动操作在所述GUI上的第二位置。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
基于所述按压状态信息指示所述GUI未处于多点按压状态,获取第二按压操作在所述GUI上的第三位置,所述第二按压操作用于按压所述GUI的第二参考对象的一个位置;
获取第二滑动操作在所述GUI上的第四位置,所述第二滑动操作与所述第二按压操作相对应,所述第四位置是以所述第三位置为起点滑动第二参考距离后的位置;
基于所述第三位置和所述第四位置,生成第二参考指令,所述第二参考指令用于对所述第二参考对象进行移动;
执行所述第二参考指令以对所述第二参考对象进行移动,得到移动后的所述第二参考对象,通过所述GUI显示所述移动后的所述第二参考对象。
4.根据权利要求1-3中任一所述的方法,其特征在于,所述获取多个第一按压操作在图形化用户界面GUI上的第一位置之前,还包括:
将所述多个第一按压操作在所述GUI上的第一位置存储在硬件寄存器中;
从所述硬件寄存器读取所述多个第一按压操作在所述GUI上的第一位置,将所述多个第一按压操作在所述GUI上的第一位置存储在缓冲区中;
所述获取多个第一按压操作在图形化用户界面GUI上的第一位置,包括:
通过LVGL输入任务从所述缓冲区读取所述多个第一按压操作在所述GUI上的第一位置。
5.根据权利要求4所述的方法,其特征在于,所述缓冲区还用于存储多个第二位置、所述第一位置对应的输入设备类型和所述第二位置对应的输入设备类型,所述第一位置对应的输入设备类型和所述第二位置对应的输入设备类型相同;所述获取多个第一滑动操作在所述GUI上的第二位置,包括:
通过所述LVGL输入任务从所述缓冲区读取多个第一位置对应的输入设备类型;
通过所述LVGL输入任务从所述缓冲区读取输入设备类型与所述多个第一位置的输入设备类型相同的所述多个第二位置。
6.根据权利要求1-3、5中任一所述的方法,其特征在于,所述基于多个第一位置和多个第二位置,生成第一参考指令,包括:
基于多个第一位置和多个第二位置,获取处理信息,所述处理信息包括缩放信息、旋转信息或平移信息中的至少一种;
根据所述处理信息,生成第一参考指令。
7.根据权利要求6所述的方法,其特征在于,所述缩放信息包括缩放中心和缩放比例,所述旋转信息包括旋转中心、旋转方向和旋转角度,所述平移信息包括平移方向和平移距离。
8.一种操作响应装置,其特征在于,所述装置包括:
第一获取模块,用于获取多个第一按压操作在图形化用户界面GUI上的第一位置,一个第一按压操作用于按压所述GUI的第一参考对象的一个位置;
第二获取模块,用于获取多个第一滑动操作在所述GUI上的第二位置,一个第一滑动操作对应一个第一按压操作和一个第一参考距离,所述第一滑动操作的第二位置是以所述第一滑动操作对应的第一按压操作的第一位置为起点滑动所述第一滑动操作对应的第一参考距离后的位置;
生成模块,用于基于多个第一位置和多个第二位置,生成第一参考指令,所述第一参考指令用于对所述第一参考对象进行处理;
响应模块,用于执行所述第一参考指令以对所述第一参考对象进行处理,得到处理后的所述第一参考对象,通过所述GUI显示所述处理后的所述第一参考对象,所述GUI基于轻量级和通用图形库LVGL构建。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,使所述电子设备实现如权利要求1-7任一所述的操作响应方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由电子设备的处理器加载并执行,以使所述电子设备实现如权利要求1-7中任一所述的操作响应方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311000561.7A CN116954452A (zh) | 2023-08-09 | 2023-08-09 | 操作响应方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311000561.7A CN116954452A (zh) | 2023-08-09 | 2023-08-09 | 操作响应方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116954452A true CN116954452A (zh) | 2023-10-27 |
Family
ID=88449174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311000561.7A Pending CN116954452A (zh) | 2023-08-09 | 2023-08-09 | 操作响应方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116954452A (zh) |
-
2023
- 2023-08-09 CN CN202311000561.7A patent/CN116954452A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101661969B1 (ko) | 휴대 단말기 및 그 동작 제어방법 | |
WO2021032097A1 (zh) | 一种隔空手势的交互方法及电子设备 | |
JP2009545805A (ja) | 3次元タッチパッド入力装置 | |
US11886894B2 (en) | Display control method and terminal device for determining a display layout manner of an application | |
KR20140074141A (ko) | 단말에서 애플리케이션 실행 윈도우 표시 방법 및 이를 위한 단말 | |
CN109948581B (zh) | 图文渲染方法、装置、设备及可读存储介质 | |
WO2014107079A1 (en) | Content zooming method and terminal implementing the same | |
CN110941375B (zh) | 对图像进行局部放大的方法、装置及存储介质 | |
CN110244884B (zh) | 一种桌面图标管理方法及终端设备 | |
US20140327634A1 (en) | Portable terminal and method for protecting a displayed object | |
CN108734662B (zh) | 显示图标的方法和装置 | |
CN111459363A (zh) | 信息展示方法、装置、设备及存储介质 | |
CN112825040B (zh) | 用户界面的显示方法、装置、设备及存储介质 | |
CN112835501A (zh) | 一种显示方法及电子设备 | |
CN116700826A (zh) | 微件启动方法、装置、设备及计算机可读存储介质 | |
CN113467682B (zh) | 控制地图覆盖物移动的方法、装置、终端及存储介质 | |
CN114764295B (zh) | 立体场景切换方法、装置、终端及存储介质 | |
CN116954452A (zh) | 操作响应方法、装置、设备及计算机可读存储介质 | |
CN113495770A (zh) | 展示应用页面的方法、装置、终端及存储介质 | |
CN116954453A (zh) | 操作响应方法、装置、设备及计算机可读存储介质 | |
CN115379274B (zh) | 基于图片的互动方法、装置、电子设备及存储介质 | |
CN113608649B (zh) | 滑动列表的显示方法、装置、设备和可读存储介质 | |
CN111061918A (zh) | 图数据的处理方法、装置及存储介质 | |
CN113535054B (zh) | 显示内容切换方法、装置、存储介质及电子设备 | |
CN113052408B (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 |