Event Registration and Dispatch System and Method for Multi-Point Controls
First Claim
1. A method of handling input streams in a multi-point input device capable of having multiple synchronous input streams, comprising the steps of:
- maintaining a set of one or more user interface elements that respond to contact of the multi-point input device, each of the user interface elements having an associated tangible and at least one associated listener, each listener representing a respective control operation; and
processing, for each given frame of a plurality of frames each representing a single moment in time, one or more input streams representing contacts of the multi-point input device by;
identifying each new stroke in the given frame, a new stroke representing a new contact of the multi-point input device;
registering each identified new stroke to the listener of at least one of the user interface elements in the maintained set based on a relationship between a position of contact of the identified new stroke and the tangible of one or more of the user interface elements;
notifying, for each listener to which a new stroke has been registered in the given frame, the respective listener of the existence of the respective new stroke, each notified listener representing an active listener;
identifying each released stroke in the given frame, a released stroke representing an end of a contact of the multi-point input device;
notifying, for each identified released stroke in the given frame, the respective listener of the discontinuation of the released stroke, each active listener becoming an inactive listener conditioned on being notified of released strokes such that the listener is no longer listening to any strokes; and
dispatching, in the given frame, each of the active listeners to implement the respective control operation based on an updated state or states of one or more non-released strokes of which the respective listener is notified, the updated state of a non-released stroke corresponding to a current position of contact of the multi-point input device.
1 Assignment
0 Petitions
Accused Products
Abstract
Dynamic registration of event handlers in a computer application or operating system recognizes multiple synchronous input streams by identifying each new stroke in a frame representing a single moment in time and mapping in a registration process each identified new stroke to a listening process that is associated with the user interface element to which the new input stream is to be applied. In the same frame, released strokes are unmapped and then each active listening process is called to carry out a respective control operation. When called, the strokes have the correct data for the given frame. The process is repeated for subsequent frames. By carrying out various processes in a sequence of frames, the concept of concurrency is preserved, which is particularly beneficial to multi-touch and multi-user systems.
-
Citations
8 Claims
-
1. A method of handling input streams in a multi-point input device capable of having multiple synchronous input streams, comprising the steps of:
-
maintaining a set of one or more user interface elements that respond to contact of the multi-point input device, each of the user interface elements having an associated tangible and at least one associated listener, each listener representing a respective control operation; and processing, for each given frame of a plurality of frames each representing a single moment in time, one or more input streams representing contacts of the multi-point input device by; identifying each new stroke in the given frame, a new stroke representing a new contact of the multi-point input device; registering each identified new stroke to the listener of at least one of the user interface elements in the maintained set based on a relationship between a position of contact of the identified new stroke and the tangible of one or more of the user interface elements; notifying, for each listener to which a new stroke has been registered in the given frame, the respective listener of the existence of the respective new stroke, each notified listener representing an active listener; identifying each released stroke in the given frame, a released stroke representing an end of a contact of the multi-point input device; notifying, for each identified released stroke in the given frame, the respective listener of the discontinuation of the released stroke, each active listener becoming an inactive listener conditioned on being notified of released strokes such that the listener is no longer listening to any strokes; and dispatching, in the given frame, each of the active listeners to implement the respective control operation based on an updated state or states of one or more non-released strokes of which the respective listener is notified, the updated state of a non-released stroke corresponding to a current position of contact of the multi-point input device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification