Processing digital ink input subject to monitoring and intervention by an application program
AssigneeMicrosoft Technology Licensing, LLC
InventorsYibo Sun, Krishnan Menon, Connor Weins, Xiao Tu, Olumuyiwa Durojaiye
Life of this patent
Estimating the term…
Abstract
A facility for processing ink input is described. In one example facility, the facility receives ink input from an input device. The facility generates and renders ink stroke data structures in response to received ink input in accordance with an ink input processing pipeline. The facility provides to an executing application access to information traversing the ink input processing pipeline at a selected point in the ink input processing pipeline.
Claims18
A computing system for processing ink input, comprising:
- at least one processor configured to execute an application configured to consume ink stroke data structures;
- an input device interface configured to receive ink input;
- an ink input processing subsystem configured to generate and render ink stroke data structures based at least on ink input received by the input device using an ink input processing pipeline, the ink input processing pipeline managing a process of subjecting received ink input first to ink stroke generation, then to ink stroke display;
- and
- an ink input processing pipeline access subsystem configured to provide to the application configured to consume ink stroke data structures executed by the at least one processor access to information traversing the ink input processing pipeline at a selected point in the ink input processing pipeline before ink stroke display,
- wherein the selected point in the ink input processing pipeline is a point in the ink input processing pipeline before generation of ink stroke data structures,
- wherein the application executed by the at least one processor comprises an event handler,
- wherein the ink input processing pipeline access subsystem is further configured to provide access via the event handler,
- and wherein the event handler is executed by the at least one processor in a high-priority thread,
- further comprising:
- a regulation subsystem configured to limit the amount of the event handler's use of processing resources in the high-priority thread.
A method in a computing system for processing ink input in connection with an application program, the method comprising:
- permitting the application program to register an event handler for input events;
- permitting the application program to register an event handler for stroke events;
- receiving input events from an input device;
- based at least on the application registering an event handler for input events, providing access to the received input events to the registered event handler for input events;
- processing at least a portion of the input events to generate a plurality of ink strokes;
- based at least on the application registering the event handler for stroke events, providing access to the generated strokes to the registered event handler for stroke events;
- and
- based at least on the application registering the event handler for input events, limiting the amount of consumption of processing resources by the registered event handler for input events.
A computer-readable medium having contents configured to cause a computing system to, in order to handle inking input:
- in an operating system:
- invoke an application;
- receive a stream of inking input events;
- for each inking input event received by the operating system, before generating ink based on the inking input event, provide to code specified as part of the invoked application access to the inking input event;
- for each of at least a first portion of the inking input events received by the operating system, after providing to code specified as part of the invoked application access to the inking input event, generate ink based on the inking input event;
- and
- based at least on the application registering an event handler for input events, limiting the amount of consumption of processing resources by the registered event handler for input events.
A computing system for processing ink input, comprising:
- at least one processor configured to execute an application configured to consume ink stroke data structures;
- an input device interface configured to receive ink input;
- an ink input processing subsystem configured to generate and render ink stroke data structures based at least on ink input received by the input device using an ink input processing pipeline, the ink input processing pipeline managing a process of subjecting received ink input first to ink stroke generation, then to ink stroke display;
- an ink input processing pipeline access subsystem configured to provide to the application configured to consume ink stroke data structures executed by the at least one processor access to information traversing the ink input processing pipeline at a selected point in the ink input processing pipeline before ink stroke display;
- and
- a regulator configured to, based at least on the application registering an event handler for input events, limit the amount of consumption of processing resources by the registered event handler for input events.
A computing system for processing ink input, comprising:
- at least one processor configured to execute an application configured to consume ink stroke data structures;
- an input device interface configured to receive ink input;
- an ink input processing subsystem configured to generate and render ink stroke data structures based at least on ink input received by the input device using an ink input processing pipeline, the ink input processing pipeline managing a process of subjecting received ink input first to ink stroke generation, then to ink stroke display;
- an ink input processing pipeline access subsystem configured to provide to the application configured to consume ink stroke data structures executed by the at least one processor access to information traversing the ink input processing pipeline at a selected point in the ink input processing pipeline before ink stroke display;
- a receiver configured to receive from the application program a direction to cancel a selected generated ink stroke;
- and
- a cancelling subsystem to, based at least on receiving the direction, cancel the selected ink stroke.
Dependencies are inferred from the claim text.