Multi-touch manipulation of application objects
First Claim
1. A computer-implemented method associated with generating a manipulation event, the computer-implemented method comprising:
- receiving, from an application executing on a computing device having a touch-sensitive input surface, via a manipulation application programming interface, a plurality of touch inputs, the plurality of touch inputs corresponding to a plurality of touches previously directed to the application;
interpreting, after being received via the manipulation application programming interface, the received plurality of touch inputs into at least one corresponding manipulation event, the at least one corresponding manipulation event representing at least one manipulation based on relative movements of the plurality of touches on the touch-sensitive input surface; and
providing, via the manipulation application programming interface, the at least one corresponding manipulation event to the application.
1 Assignment
0 Petitions
Accused Products
Abstract
The manipulation system described herein provides a common platform and application-programming interface (API) for applications to communicate with various multi-touch hardware devices, and facilitates the interpretation of multi-touch input as one or more manipulations. Manipulations map more directly to user intentions than do individual touch inputs and add support for basic transformation of objects using multiple touch contacts. An application can use manipulations to support rotating, resizing, and translating multiple objects at the same time. The manipulation system outputs two-dimensional (2D) affine transforms that contain rotation, scale, and translation information. Thus, using the manipulation system the application author can focus more on building touch-capable applications and let the manipulation system handle the underlying transformations and communication with the multi-touch hardware.
116 Citations
56 Claims
-
1. A computer-implemented method associated with generating a manipulation event, the computer-implemented method comprising:
-
receiving, from an application executing on a computing device having a touch-sensitive input surface, via a manipulation application programming interface, a plurality of touch inputs, the plurality of touch inputs corresponding to a plurality of touches previously directed to the application; interpreting, after being received via the manipulation application programming interface, the received plurality of touch inputs into at least one corresponding manipulation event, the at least one corresponding manipulation event representing at least one manipulation based on relative movements of the plurality of touches on the touch-sensitive input surface; and providing, via the manipulation application programming interface, the at least one corresponding manipulation event to the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computing device comprising:
-
a touch-sensitive input display; a processor and storage, that, when the computing device is operating, execute an application and implement a manipulation application programming interface, the processor receiving, from the application, via the manipulation application programming interface, a plurality of touch inputs, the plurality of touch inputs corresponding to a plurality of touches of the touch-sensitive input display directed to the application; the processor, after receiving the plurality of touch inputs via the manipulation application programming interface, interpreting the plurality of touch inputs into at least one corresponding manipulation event, the at least one corresponding manipulation event representing at least one manipulation based on relative movements of the plurality of touches on the touch-sensitive input surface; and the application receiving, via the manipulation application programming interface, the at least one corresponding manipulation event. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A computing device comprising:
-
a contact-sensitive input device; processing hardware and storage storing information to enable the processing hardware, when the computing device is operating, to execute an operating system to execute arbitrary applications and to provide an application programming interface to the arbitrary applications; an application executed by the processing hardware when the computing device is operating; an object executed by the processing hardware when the computing device is operating, the object instantiated via the application programming interface by an application executing on the computing device, the object comprising interpretation logic, wherein the application passes touch inputs to the object, the touch inputs corresponding to touches of the contact-sensitive input device; the object, when the computing device is operating, applies the interpretation logic to interpret the touch inputs to identify a manipulation operation indicated by the touch inputs; and the application, when the computing device is operating, receiving an indication of the manipulation operation, the indication having been triggered by the object having identified the manipulation operation. - View Dependent Claims (33, 34, 35, 36, 37)
-
-
38. A computer-implemented method associated with generating a manipulation event, the computer-implemented method comprising:
-
receiving, through an application executing on a computing device having a touch-sensitive input surface, via an application programming interface, touch events, the touch events corresponding to points of contact with the touch-sensitive input surface; receiving the touch events from the application via the application programming interface, and in response interpreting the touch events into a corresponding transformation event, the transformation event representing at least one geometric transformation that corresponds to relative movements of the points of contact with the touch-sensitive input surface; and receiving, through the application programming interface, by the application, the at least one transformation event. - View Dependent Claims (39, 40)
-
-
41. One or more computer-readable storage hardware storing information that, when executed by a computing device, cause the computing device to perform a process associated with generating a manipulation event, the process comprising:
-
receiving, from an application executing on a computing device having a touch-sensitive input surface, via a manipulation application programming interface, a plurality of touch inputs, the plurality of touch inputs corresponding to a plurality of touches previously directed to the application; interpreting, after being received via the manipulation application programming interface, the received plurality of touch inputs into at least one corresponding manipulation event, the at least one corresponding manipulation event representing at least one manipulation based on relative movements of the plurality of touches on the touch-sensitive input surface; and providing, via the manipulation application programming interface, the at least one corresponding manipulation event to the application. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
-
Specification