Many types of modern computing devices employ touchscreens. Users, for example, can choose among smartphones, tablet computing devices, as well as laptop and desktop computers that have touchscreens. A touchscreen is a hardware display that includes a mechanism by which where the user touches the screen is detectable. Users can thus effectively manipulate graphical images and perform other actions by touching the screen.
An example method includes detecting, by a computing device, movement of two contact positions on a touchscreen of the computing device as a pinch-to-zoom gesture. The method includes, while detecting the movement of the two contact positions on the touchscreen, detecting, by the computing device, a third stationary contact position on the touchscreen of the computing device, as a centering gesture related to the pinch-to-zoom gesture. The method includes performing, by the computing device, a zooming operation corresponding to the pinch-to-zoom gesture in relation to an image displayed on the touchscreen so that the image remains centered at the third stationary contact position corresponding to the centering gesture while the zooming operation is performed.
An example non-transitory computer-readable data storage medium stores computer-executable code executable by a processor of a computing device including a touchscreen to perform a method. The method includes detecting movement of two contact positions on the touchscreen as a pinch-to-zoom gesture. The method includes, while detecting the movement of the two contact positions on the touchscreen, detecting a third stationary contact position on the touchscreen, as a centering gesture related to the pinch-to-zoom gesture. The method includes performing a zooming operation corresponding to the pinch-to-zoom gesture in relation to an image displayed on the touchscreen so that the image remains centered at the third stationary contact position corresponding to the centering gesture while the zooming operation is performed.
An example computing device includes a touchscreen, a processor, and a non-transitory computer-readable data storage medium storing computer-executable code. The processor executes the code to detect movement of two contact positions on the touchscreen as a pinch-to-zoom gesture. The processor executes the code to, while detecting the movement of the two contact positions on the touchscreen, detect a third stationary contact position on the touchscreen, as a centering gesture related to the pinch-to-zoom gesture. The processor executes the code to perform a zooming operation corresponding to the pinch-to-zoom gesture in relation to an image displayed on the touchscreen so that the image remains centered at the third stationary contact position corresponding to the centering gesture while the zooming operation is performed.
The drawings referenced herein form a part of the specification. Features shown in the drawing are meant as illustrative of only some embodiments of the invention, and not of all embodiments of the invention, unless otherwise explicitly indicated, and implications to the contrary are otherwise not to be made.
In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific exemplary embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may be utilized, and logical, mechanical, and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the embodiment of the invention is defined only by the appended claims.
As noted in the background section, many computing devices include touchscreens. As touchscreens have increased in popularity, gestures to manipulate images and perform other actions by a user touching a touchscreen have become commonplace. One such gesture is a pinch-to-zoom gesture.
In a pinch-to-zoom gesture, a user touches a touchscreen at two different positions using two digits of his or her hand. The user then moves the digits towards one another to zoom out the image being displayed on the touchscreen, so that more of the image is shown on the screen. The user can instead move the digits away from one another to zoom in the image being displayed on the touchscreen, so that less of the image is shown on the screen, but so that, for instance, more detail of the portion that is shown on the screen is displayed.
A disadvantage with the pinch-to-zoom gesture is that the image being zoomed in or zoomed out often does not stay centered on the touchscreen while the zooming operation occurs as the user engages in the pinch-to-zoom gesture. Alternatively, even if the image does stay centered on the touchscreen during the zooming operation, the user may have desired a different portion of the image being centered on the touchscreen. In either situation, the user therefore has to perform another gesture after completing the pinch-to-zoom gesture, such as a panning gesture in which the user presses and holds a digit against the touchscreen and moves the digit to cause corresponding movement of the image displayed on the screen.
Techniques disclosed herein provide an enhanced pinch-to-zoom gesture on a touchscreen via a centering gesture. The user touches a touchscreen at two different positions using two digits of his or her hand, such as a middle finger and a thumb, and performs movement of the digits towards or away from one another in a linear motion to effect the pinch-to-zoom gesture. At the same time, the user touches a touchscreen at a third position using a third digit of his or her hand, such as an index finger. The touching of the touchscreen at the third position using the third digit is a centering gesture related to the pinch-to-zoom gesture. A zooming operation is performed in relation to the image in correspondence with the pinch-to-zoom gesture in such a way that the image remains centered at the third position corresponding to the centering gesture.
In one implementation, the user may maintain the third digit on the touchscreen continually while performing the pinch-to-zoom gesture. In another implementation, the user may temporarily place the third digit on the touchscreen while performing the pinch-to-zoom gesture, such as by tapping the touchscreen. The techniques disclosed herein therefore provide users with an innovative manner by which to specify the location at which an image should be or remain centered while zooming in or out of the image, without having to perform a separate gesture after the user has completed the pinch-to-zoom gesture.
While still maintaining contact with the touchscreen 102 at least at the positions 104 and 106, the user moves the digits contacting the positions 104 and 106 away from one another in a linear motion, as indicated by the arrows 108 and 110. As such, the user is performing a pinch-to-zoom gesture via two digits of the user's hand making contact at the contact positions 104 and 106, specifically a zooming-in pinch-to-zoom gesture. While performing this gesture, the user makes contact with the touchscreen 102 at the contact position 112, either temporarily via a tap of the touchscreen 102, or continually while performing the pinch-to-zoom gesture. The user making contact at the contact position 112 with a third digit of his or her hand is a centering gesture related to the pinch-to-zoom gesture.
The contact position 112 denotes the part of the image 103 that is to remain centered while the image 103 is zoomed in. The contact position 112 in the example of
While still maintaining contact with the touchscreen at least at the positions 204 and 206, the user moves the digits contacting the positions 204 and 206 towards one another in a linear motion, as indicated by the arrows 208 and 210. As such, the user is performing a pinch-to-zoom gesture via two digits of the user's hand making contact at the contact positions 204 and 206, specifically a zooming-out pinch-to-zoom gesture. While performing this gesture, the user makes contact with the touchscreen 102 at the contact position 212, either temporarily via a tap of the touchscreen 102, or continually while performing the pinch-to-zoom gesture. The user making contact at the contact position 212 with a third digit of his or her hand is a centering gesture related to the pinch-to-zoom gesture.
The contact position 212 denotes the part of the image 103 that is to remain centered while the image 103 is zoomed out. The contact position 212 in the example of
While detecting movement of the two contact positions, the computing device further detects a third, stationary contact position on the touchscreen (304), as a centering gesture related to the pinch-to-zoom gesture. The third contact position is a third position at which contact has been made on the touchscreen, via another (third) digit of the user's hand (e.g., an index finger). In one implementation, the third contact position may be detected continually while the movement of the two contact positions is occurring. In another implementation, the third contact position may be detected as a temporary tap that occurs while the movement of the two contact positions is occurring. The third contact position is stationary in that it does not and is not moved on the touchscreen, as opposed to the other two contact positions that are in movement on the touchscreen.
The computing device performs a zooming operation corresponding to the pinch-to-zoom gesture in relation to an image displayed on the touchscreen, so that and such that the image remains or is centered at the third contact position corresponding to the zooming gesture, while the zooming operation is performed (306). For instance, if the pinch-to-zoom gesture is a zooming out gesture, the zooming operation that is performed is a zooming out operation in relation to the image displayed on the touchscreen, where the image is centered at the third contact position. As another example, if the pinch-to-zoom gesture is a zooming in gesture, the zooming operation that is performed is a zooming in operation in relation to the image displayed on the touchscreen, where the image is again centered at the third contact position.
The computer-readable medium 406 may be volatile random-access memory or a non-volatile medium, such as non-volatile semiconductor memory or a hard disk drive. The medium 406 stores computer-execute code 408 and an application program 410 that the processor 404 executes or runs. The processor 404 executes the code 408 to perform the method 300 that has been described. The application program 410, when running on the computing device 400, displays an image that is the subject of the zooming operation that is performed as a result of the pinch-to-zoom gesture enhanced with a centering gesture being detected on the touchscreen 402. The application program 410, for instance, can be a mapping application program that displays a map image, an imaging application program like a picture-editing or viewing program that displays an image, and so on.
The techniques that have been disclosed herein thus permit users to more precisely perform zooming operations via a pinch-to-zoom gesture. Specifically, the pinch-to-zoom gesture is enhanced with a centering gesture. Via the centering gesture, users can specify where an image is to remain centered while performing the pinch-to-zoom gesture. Users can therefore zoom and center an image as desired at one time, instead of having to first zoom the image via one gesture and after completing that gesture then centering the image via another gesture.
It is finally noted that, although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is thus intended to cover any adaptations or variations of embodiments of the present invention. Examples of non-transitory computer-readable media include both volatile such media, like volatile semiconductor memories, as well as non-volatile such media, like non-volatile semiconductor memories and magnetic storage devices. It is manifestly intended that this invention be limited only by the claims and equivalents thereof.