Multi-touch manipulation of application objects
First Claim
1. A method comprising:
- receiving one or more touch inputs that corresponds to an interaction with the touch-sensitive input surface, the one or more touch inputs comprising one or more locations of contacts with the touch-sensitive input surface, wherein the input is received by an application;
sending the one or more touch inputs to a manipulation system, the manipulation system interpreting the one or more touch inputs into corresponding manipulation events, wherein the manipulation system is invokable by the application, the one or more touch inputs sent by the application invoking the manipulation system;
receiving, at the application, the manipulation events, the manipulation events comprising geometric transforms produced by the manipulation system according to the one or more inputs; and
handling, by the applications, the received manipulation events.
2 Assignments
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.
156 Citations
20 Claims
-
1. A method comprising:
-
receiving one or more touch inputs that corresponds to an interaction with the touch-sensitive input surface, the one or more touch inputs comprising one or more locations of contacts with the touch-sensitive input surface, wherein the input is received by an application; sending the one or more touch inputs to a manipulation system, the manipulation system interpreting the one or more touch inputs into corresponding manipulation events, wherein the manipulation system is invokable by the application, the one or more touch inputs sent by the application invoking the manipulation system; receiving, at the application, the manipulation events, the manipulation events comprising geometric transforms produced by the manipulation system according to the one or more inputs; and handling, by the applications, the received manipulation events. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
receiving, at a manipulation system from an application executing on a computing device having a touch-sensitive input surface, a plurality of touch inputs, the plurality of touch inputs corresponding to a plurality of touches previously directed to the application; 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 providing the at least one corresponding manipulation event to the application. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A system comprising:
-
at least one processor; and memory encoding computer executable instructions that, when executed by at least one processor, perform a method comprising; receiving one or more touch inputs that corresponds to an interaction with the touch-sensitive input surface, the one or more touch inputs comprising one or more locations of contacts with the touch-sensitive input surface, wherein the input is received by an application; sending the one or more touch inputs to a manipulation system, the manipulation system interpreting the one or more touch inputs into corresponding manipulation events, wherein the manipulation system is invokable by the application, the one or more touch inputs sent by the application invoking the manipulation system; receiving, at the application, the manipulation events, the manipulation events comprising geometric transforms produced by the manipulation system according to the one or more inputs; and handling, by the applications, the received manipulation events. - View Dependent Claims (19, 20)
-
Specification