CA2511395A1 - Real-time inking - Google Patents
Real-time inking Download PDFInfo
- Publication number
- CA2511395A1 CA2511395A1 CA002511395A CA2511395A CA2511395A1 CA 2511395 A1 CA2511395 A1 CA 2511395A1 CA 002511395 A CA002511395 A CA 002511395A CA 2511395 A CA2511395 A CA 2511395A CA 2511395 A1 CA2511395 A1 CA 2511395A1
- Authority
- CA
- Canada
- Prior art keywords
- plug
- component
- information
- renderer
- ink
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1206—Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/126—Job scheduling, e.g. queuing, determine appropriate device
- G06F3/1263—Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
Abstract
A system and process for ensuring the smooth flow of electronic ink is described. Dynamic rendering is give priority over other event handlers.
Priority may be the use of one or more queues to order when events occur and may be performing dynamic rendering prior to other steps.
Priority may be the use of one or more queues to order when events occur and may be performing dynamic rendering prior to other steps.
Claims (101)
1. A renderer object for rendering ink comprising:
an interface for plugging in said object to a component that coordinates how ink is processed by objects.
an interface for plugging in said object to a component that coordinates how ink is processed by objects.
2. The renderer object according to claim 1, wherein said component includes synchronous and asynchronous interfaces.
3. The renderer object according to claim 2, wherein said renderer object is connected to said synchronous interface of said component.
4. The renderer object according to claim 1, wherein said component is one of two components, wherein said renderer object is on a synchronous interface of said first of said two components, and said second component has at least one additional object associated with it.
5. The renderer object according to claim 1, further comprising:
a cache for temporarily storing data that has been rendered.
a cache for temporarily storing data that has been rendered.
6. The renderer object according to claim 1, wherein said component includes input and output queues.
7. The renderer object according to claim 6, wherein said component has been additional queue associated with a synchronous interface.
8. The renderer object according to claim 1, wherein said renderer object is part of a synchronous plug-in collection.
9. The renderer object according to claim 1, wherein said renderer object is part of a synchronous plug-in chain.
10. The renderer object according to claim 1, wherein said data originated with a tablet.
11. The renderer object according to claim 1, said renderer object including an interface that allows said renderer object to be chained with other objects.
12. A computing system comprising:
a storage;
a processor transferring data with said storage, said processor hosting a renderer object for rendering ink, said renderer object comprising:
an interface for plugging in said object to a component that coordinates how ink is processed by objects.
a storage;
a processor transferring data with said storage, said processor hosting a renderer object for rendering ink, said renderer object comprising:
an interface for plugging in said object to a component that coordinates how ink is processed by objects.
13. A method for dynamically rendering ink using a rendering object, said rendering object having an interface, said method comprising the steps of:
receiving ink from a component that orders how data is handled, said ink being received over said interface which is attached to a synchronous interface on the component; and rendering said ink.
receiving ink from a component that orders how data is handled, said ink being received over said interface which is attached to a synchronous interface on the component; and rendering said ink.
14. The method of according to claim 13, further comprising the steps of:
temporarily caching said rendered ink.
temporarily caching said rendered ink.
15. The method of according to claim 14, further comprising the steps of:
receiving a notification; and clearing said cash of said rendered ink in response to said notification.
receiving a notification; and clearing said cash of said rendered ink in response to said notification.
16. The method of according to claim 13, wherein said rendering step provides a user with the appearance of uninterrupted ink flowing from a stylus.
17. The method of according to claim 13, wherein said rendering object is part of 80 synchronous plug-in collection attached to said component.
18. The method of according to claim 13, further comprising the step of:
passing data to another object connected to said rendering object.
passing data to another object connected to said rendering object.
19. A computer-readable medium having a program stored thereon, said program for dynamically rendering ink using a rendering object, said rendering object having an interface, said program comprising the steps of:
receiving ink from a component that orders how data is handled, said ink being received over said interface which is attached to a synchronous interface on the component; and rendering said ink.
receiving ink from a component that orders how data is handled, said ink being received over said interface which is attached to a synchronous interface on the component; and rendering said ink.
20. The computer-readable medium of according to claim 19, said program further comprising the steps of:
temporarily caching said rendered ink.
temporarily caching said rendered ink.
21. The computer-readable medium of according to claim 20, said program further comprising the steps of:
receiving a notification; and clearing said cash of said rendered role in response to said notification.
receiving a notification; and clearing said cash of said rendered role in response to said notification.
22. The computer-readable medium of according to claim 19, wherein said rendering step provides a user with the appearance of uninterrupted ink flowing from a stylus.
23. The computer-readable medium of according to claim 19, wherein said rendering object is part ofa synchronous plug-in collection attached to said component.
24. The computer-readable medium of according to claim 19, said program further comprising the step of:
passing data to another object connected to said rendering object.
passing data to another object connected to said rendering object.
25. A computer-readable medium having a program relating to a renderer object, said renderer object comprising:
functional code for rendering received data;
an interface for connecting said renderer object to a component that organizes the processing of said data;
wherein said renderer object is selected from two or more renderer objects and attached to said component at a synchronous interface.
functional code for rendering received data;
an interface for connecting said renderer object to a component that organizes the processing of said data;
wherein said renderer object is selected from two or more renderer objects and attached to said component at a synchronous interface.
26. The computer-readable medium according to claim 25, wherein said renderer object renders ink such that said ink appears as translucent, water-based paint.
27. The computer-readable medium according to claim 25, wherein said renderer object renders ink such that said ink appears as created by a charcoal stylus.
28. The computer-readable medium according to claim 25, wherein said renderer object renders ink such that said ink appears as moving ink.
29. A method of attaching a custom renderer to a component, said component having at least two interfaces for attaching plug-in objects, said method comprising the steps of:
providing a custom renderer;
attaching said custom renderer to a synchronous interface of said component, said component ordering the processing of data related to ink.
providing a custom renderer;
attaching said custom renderer to a synchronous interface of said component, said component ordering the processing of data related to ink.
30. The method according to claim 29, further comprising the step of:
attaching another object to said component in a collection including said custom renderer.
attaching another object to said component in a collection including said custom renderer.
31. The method according to claim 29, further comprising the step of:
chaining another object to said custom renderer so that data handled by said custom renderer is next passed to said another object.
chaining another object to said custom renderer so that data handled by said custom renderer is next passed to said another object.
32. The method according to claim 29, said component including an attachment to a system-provided dynamic renderer, said method further comprising the step of:
unattaching said a system-provided dynamic renderer from said component.
unattaching said a system-provided dynamic renderer from said component.
33. The method according to claim 29, said component including an attachment to a system-provided dynamic renderer, said method further comprising the step of:
attaching said a system-provided dynamic renderer to said synchronous interface of said component.
attaching said a system-provided dynamic renderer to said synchronous interface of said component.
34. A method for attaching objects to a component, said component having a synchronous interface and an asynchronous interface, said method comprising the steps of:
determining whether a plug-in object needs to be handled synchronously with received input or whether said plug-in object can be processed at a later time;
attaching said plug-in to one of a synchronous interface or an asynchronous interface based on the determination step.
determining whether a plug-in object needs to be handled synchronously with received input or whether said plug-in object can be processed at a later time;
attaching said plug-in to one of a synchronous interface or an asynchronous interface based on the determination step.
35. The method according to claim 34, further comprising the step of:
determining a processing speed of a computer running said component, wherein said attaching step is also based on said determining a processing speed step.
determining a processing speed of a computer running said component, wherein said attaching step is also based on said determining a processing speed step.
36. The method according to claim 34, wherein at least one rendering plug-in object is attached to said synchronous interface.
37. The method according to claim 34, wherein time-critical plug-in objects are attached to said synchronous interface and non-time-critical plug-in objects are attached to said asynchronous interface.
38. A system for attaching objects to a component, said component having a synchronous interface and an asynchronous interface, said system comprising:
means for determining whether a plug-in object needs to be handled synchronously with received input or whether said plug-in object can be processed at a later time;
means for attaching said plug-in to one of a synchronous interface or an asynchronous interface based on the determination step.
means for determining whether a plug-in object needs to be handled synchronously with received input or whether said plug-in object can be processed at a later time;
means for attaching said plug-in to one of a synchronous interface or an asynchronous interface based on the determination step.
39. The system according to claim 38, further comprising:
determining a processing speed of a computer running said component, wherein said attaching step is also based on said determining a processing speed step.
determining a processing speed of a computer running said component, wherein said attaching step is also based on said determining a processing speed step.
40. The method according to claim 38, wherein at least one rendering plug-in object is attached to said synchronous interface.
41. The method according to claim 38, wherein time-critical plug-in objects are attached to said synchronous interface and non-time-critical plug-in objects are attached to said asynchronous interface.
42. A system for rendering information comprising:
a processor hosting a component that receives ink information, a dynamic renderer that renders said it received ink information, said dynamic renderer including a temporary storage, and a static renderer that renders said received ink information, said a static renderer notifying said dynamic renderer to release said temporary storage relating to said received ink information.
a processor hosting a component that receives ink information, a dynamic renderer that renders said it received ink information, said dynamic renderer including a temporary storage, and a static renderer that renders said received ink information, said a static renderer notifying said dynamic renderer to release said temporary storage relating to said received ink information.
43. The system according to claim 42, wherein said role information is generated by a stylus.
44. A method for rendering information comprising the steps of:
receiving ink information;
rendering said received ink information in a dynamic renderer object;
storing said received ink information in a temporary storage associated with said dynamic renderer object;
rendering said received ink information in a static renderer object;
notifying said dynamic renderer object to erase said received ink information in said temporary storage.
receiving ink information;
rendering said received ink information in a dynamic renderer object;
storing said received ink information in a temporary storage associated with said dynamic renderer object;
rendering said received ink information in a static renderer object;
notifying said dynamic renderer object to erase said received ink information in said temporary storage.
45. A system for processing information comprising:
a storage;
a processor exchanging information with said a storage, said processor hosting a component, said component comprising:
a synchronous interface to which a first plug-in object is attached, said first plug-in object processing information received by said component synchronously with the receipt of said information by said component; and an asynchronous interface to which a second plug-in object is attached, said second plug-in object processing information received by said component asynchronously with the receipt of said information by said component.
a storage;
a processor exchanging information with said a storage, said processor hosting a component, said component comprising:
a synchronous interface to which a first plug-in object is attached, said first plug-in object processing information received by said component synchronously with the receipt of said information by said component; and an asynchronous interface to which a second plug-in object is attached, said second plug-in object processing information received by said component asynchronously with the receipt of said information by said component.
46. The system according to claim 45, wherein said information processed by said second plug-in object is the same information processed by said first plug-in object.
47. The system according to claim 45, wherein said information processed by said second plug-in object is different from the information processed by said first plug-in object, where said first plug-in object modified the information to be later processed by said second plug-in object.
48. The system according to claim 45, said component further including an output queue, said output queue receiving information having been processed by said first plug-in object.
49. The system according to claim 45, said component further including an input queue, said input queue receiving information generated by said first plug-in object to be processed by said first plug-in object.
50. The system according to claim 45, wherein at least one of said first plug-in object and said second plug-in object form part of a list attached to said component.
51. The system according to claim 45, wherein at least one of said first plug-in object and said second plug-in object form part of a chain attached to said component.
52. The system according to claim 45, wherein at least one of said first plug-in object and said second plug-in object is a gesture recognizer object.
53. The system according to claim 45, wherein said second plug-in object is an ink collector object that collects and renders ink.
54. The system according to claim 45, further comprising:
a dynamic renderer as said first plug-in object, said dynamic renderer including a storage for temporarily storing ink strokes received by said component.
a dynamic renderer as said first plug-in object, said dynamic renderer including a storage for temporarily storing ink strokes received by said component.
55. The system according to claim 54, wherein said ink in temporary storage is deleted after receiving an instruction from said second plug-in object.
56. The system according to claim 54, wherein said ink in temporary storage is deleted after receiving an instruction from said second plug-in object and said second plug-in object having rendered said ink.
57. A system for processing information comprising:
a storage;
a processor exchanging information with said a storage, said processor hosting a component, said component comprising:
a first interface to which a first plug-in object is attached, said first plug-in object processing information received by said component synchronously with the receipt of said information by said component;
a second interface to which a second plug-in object is attached, said second plug-in object processing information having been processed by said first plug-in object; and a third interface to which a third plug-in object is attached, said third plug-in object processing information having been processed by said second plug-in object.
a storage;
a processor exchanging information with said a storage, said processor hosting a component, said component comprising:
a first interface to which a first plug-in object is attached, said first plug-in object processing information received by said component synchronously with the receipt of said information by said component;
a second interface to which a second plug-in object is attached, said second plug-in object processing information having been processed by said first plug-in object; and a third interface to which a third plug-in object is attached, said third plug-in object processing information having been processed by said second plug-in object.
58. The system according to claim 57, wherein said second plug-in object and said third plug-in object process information asynchronously with regards to information received by said component.
59. The system according to claim 57, wherein at least one of said first plug-in object and said second plug-in object form part of a list attached to said component.
60. The system according to claim 57, wherein at least one of said first plug-in object and said second plug-in object form part of a chain attached to said component.
61. A system for processing information comprising:
a storage;
a processor exchanging information with said a storage, said processor hosting a first component and a second component, said first component comprising:
a synchronous interface to which a first plug-in object is attached, said first plug-in object processing information received by said first component synchronously with the receipt of said information by said first component;
an asynchronous interface to which said second component is attached, said second component including a synchronous interface to which a second plug-in object is attached and an asynchronous interface to which a third plug-in object is attached.
a storage;
a processor exchanging information with said a storage, said processor hosting a first component and a second component, said first component comprising:
a synchronous interface to which a first plug-in object is attached, said first plug-in object processing information received by said first component synchronously with the receipt of said information by said first component;
an asynchronous interface to which said second component is attached, said second component including a synchronous interface to which a second plug-in object is attached and an asynchronous interface to which a third plug-in object is attached.
62. The system according to claim 61, wherein said first plug-in object is a dynamic renderer object.
63. The system according to claim 61, wherein said third plug-in object is an ink collection object.
64. The system according to claim 61, wherein at least one of said first plug-in object and said second plug-in object form part of a list attached to said component.
65. The system according to claim 61, wherein at least one of said first plug-in object and said second plug-in object form part of a chain attached to said component.
66. A method of communicating between a component and plug-in objects comprising the steps of:
receiving a data packet at said component;
placing said data packet at a location;
notifying a list of plug-in objects to the existence of said data packet;
processing said data packet through said list of plug-in objects. and
receiving a data packet at said component;
placing said data packet at a location;
notifying a list of plug-in objects to the existence of said data packet;
processing said data packet through said list of plug-in objects. and
67. A method of relating plug-in objects to a component comprising the steps of:
forming a list that may contain a reference to plug-in objects;
attaching said list to an interface of said component;
populating said list with references to at least one plug-in object, wherein data may be processed by said plug-in objects according to the order of said plug-in objects in said list.
forming a list that may contain a reference to plug-in objects;
attaching said list to an interface of said component;
populating said list with references to at least one plug-in object, wherein data may be processed by said plug-in objects according to the order of said plug-in objects in said list.
68. A method of relating plug-in objects to a component comprising the steps of:
attaching a first plug-in object to an interface on said component; and attaching a second plug-in object to an interface on said first plug-in object to form a chain linking said component, said first plug-in object, and said second plug-in object, wherein data may be processed by said plug-in objects according to the order of said plug-in objects in said chain.
attaching a first plug-in object to an interface on said component; and attaching a second plug-in object to an interface on said first plug-in object to form a chain linking said component, said first plug-in object, and said second plug-in object, wherein data may be processed by said plug-in objects according to the order of said plug-in objects in said chain.
69. A system for rendering information comprising:
a storage;
a processor exchanging information with said storage, said processor hosting a component, said component comprising:
a rendering system that renders said information; and a first queue receiving and temporarily storing information rendered by said component, said first queue being accessed by another component to retrieve said temporarily stored information, wherein said temporarily stored information may be later processed by said another component.
a storage;
a processor exchanging information with said storage, said processor hosting a component, said component comprising:
a rendering system that renders said information; and a first queue receiving and temporarily storing information rendered by said component, said first queue being accessed by another component to retrieve said temporarily stored information, wherein said temporarily stored information may be later processed by said another component.
70. The system according to claim 69, wherein said information includes electronic ink.
71. The system according to claim 69, wherein said information includes modifications to electronic ink.
72. The system according to claim 69, wherein said rendering system is a plug-in object, capable of being removably attached to said component.
73. The system according to claim 69, wherein said information includes a first packet received at a first time and a second packet received at a later time and wherein said processor places said first packet in said queue ahead of said second packet to maintain a proper synchronization of the processing of said first packet and said second packet.
74. The system according to claim 69, wherein said information includes a first packet received at a first time and a second packet received at a later time and wherein said processor places said first packet in said queue behind said second packet to maintain a proper synchronization of the processing of said first packet and said second packet.
75. A method for rendering information comprising the steps of:
rendering received information;
temporarily storing said rendered information in a first queue;
accessing said first queue to retrieve said temporarily stored information;
and processing said temporarily stored information.
rendering received information;
temporarily storing said rendered information in a first queue;
accessing said first queue to retrieve said temporarily stored information;
and processing said temporarily stored information.
76. The method of according to claim 75, wherein said rendering step is performed by a first component.
77. The method of according to claim 75, wherein said processing step is performed by a second component.
78. The method of according to claim 75, wherein said received information includes a first packet received at a first time and a second packet received at a later time, said temporarily storing step further comprising the step of:
placing said first packet in said first queue ahead of said second packet to maintain a proper synchronization of the processing of said first packet and said second packet.
placing said first packet in said first queue ahead of said second packet to maintain a proper synchronization of the processing of said first packet and said second packet.
79. The method of according to claim 75, wherein said received information includes a first packet received at a first time and a second packet received at a later time, said temporarily storing step further comprising the step of:
placing said first packet in said first queue behind said second packet to maintain a proper synchronization of the processing of said first packet and said second packet.
placing said first packet in said first queue behind said second packet to maintain a proper synchronization of the processing of said first packet and said second packet.
80. A method for modifying display attributes for displayable information, said displayable information being rendered by a first renderer object and by a second renderer object, said method comprising the steps of:
receiving display attributes modification information at a component;
processing said display attributes modification information;
applying said display attributes modification information.
receiving display attributes modification information at a component;
processing said display attributes modification information;
applying said display attributes modification information.
81. The method according to claim 80, wherein said display attributes modification information is received after said displayable information is rendered by said first renderer object and before said displayable information is rendered by said second renderer object and wherein said applying step applies a display attribute modification related to said display attributes modification information to said displayable information.
82. The method according to claim 80, wherein said display attributes modification information is received after said displayable information is rendered by said first renderer object and before said displayable information is rendered by said second renderer object and wherein said applying step delays the application of a display attribute modification related to said display attributes modification information until after said displayable information has been rendered by said second renderer object.
83. The method according to claim 80, further comprising the step of:
delaying said applying step until a new pen or cursor down event is received at said component.
delaying said applying step until a new pen or cursor down event is received at said component.
84. A computing system for modifying display attributes for displayable information, said system comprising:
a processor hosting a component, a first renderer object and a second renderer object, wherein said processor receives display attributes modification information, processes said display attributes modification information, and applies said display attributes modification information to said displayable information rendered by said second renderer object.
a processor hosting a component, a first renderer object and a second renderer object, wherein said processor receives display attributes modification information, processes said display attributes modification information, and applies said display attributes modification information to said displayable information rendered by said second renderer object.
85. The computing system according to claim 84, wherein said display attributes modification information is received after said displayable information is rendered by said first renderer object and before said displayable information is rendered by said second renderer object and wherein said applying step applies a display attribute modification related to said display attributes modification information to said displayable information.
86. The computing system according to claim 84, wherein said display attributes modification information is received after said displayable information is rendered by said first renderer object and before said displayable information is rendered by said second renderer object and wherein said applying step delays the application of a display attribute modification related to said display attributes modification information until after said displayable information has been rendered by said second renderer object.
87. The computing system according to claim 84, wherein said processor delays applying said display attributes modification information until a new pen or cursor down event is received at said component.
88. A system for processing information comprising:
a storage;
a processor exchanging information with said a storage, said processor hosting a first component and a second component, said first component comprising:
a synchronous interface to which a first plug-in object is attached, said first plug-in object processing information received by said first component synchronously with the receipt of said information by said first component;
an output queue receiving information from said first component; and an asynchronous interface to which said second component is attached, said second component accessing information in said output queue; and said second component including a synchronous interface to which a second plug-in object is attached and an asynchronous interface to which a third plug-in object is attached.
a storage;
a processor exchanging information with said a storage, said processor hosting a first component and a second component, said first component comprising:
a synchronous interface to which a first plug-in object is attached, said first plug-in object processing information received by said first component synchronously with the receipt of said information by said first component;
an output queue receiving information from said first component; and an asynchronous interface to which said second component is attached, said second component accessing information in said output queue; and said second component including a synchronous interface to which a second plug-in object is attached and an asynchronous interface to which a third plug-in object is attached.
89. The system according to claim 88, wherein said first plug-in object is a dynamic renderer object.
90. The system according to claim 88, wherein said third plug-in object is an ink collection object.
91. The system according to claim 88, wherein at least one of said first plug-in object and said second plug-in object form part of a list attached to said component.
92. The system according to claim 88, wherein at least one of said first plug-in object and said second plug-in object form part of a chain attached to said component.
93. The system according to claim 88, wherein said synchronous interface of second component allows said second plug-in object to access information in said output queue.
94. The system according to claim 88, said second component further comprising:
an input queue that temporarily stores information received over said asynchronous interface from said first component, said input queue being accessed by said synchronous interface of said second component.
an input queue that temporarily stores information received over said asynchronous interface from said first component, said input queue being accessed by said synchronous interface of said second component.
95. A computing system that orders events from a keyboard, mouse, and stylus comprising:
a storage;
a processor exchanging information with said storage, said processor hosting a pen services component, said pen services receiving information from said mouse and said stylus, ordering said information, and forwarding information related to electronic ink to a pen input manager.
a storage;
a processor exchanging information with said storage, said processor hosting a pen services component, said pen services receiving information from said mouse and said stylus, ordering said information, and forwarding information related to electronic ink to a pen input manager.
96. The computing system according to claim 95, wherein said pen input manager includes an unmanaged portion and a managed portion.
97. A system for managing the memory capable of handling electronic ink comprising:
a storage;
a processor exchanging information with said storage, said processor including a component for handling electronic ink, said component having an unmanaged section and a managed code section with said unmanaged section and said managed section sharing a common memory.
a storage;
a processor exchanging information with said storage, said processor including a component for handling electronic ink, said component having an unmanaged section and a managed code section with said unmanaged section and said managed section sharing a common memory.
98. A system for managing the memory capable of handling electronic ink comprising:
a storage;
a processor exchanging information with said storage, said processor hosting plug-in objects, said plug-in objects having both managed and unmanaged code and sharing a common memory between said managed code and said unmanaged code.
a storage;
a processor exchanging information with said storage, said processor hosting plug-in objects, said plug-in objects having both managed and unmanaged code and sharing a common memory between said managed code and said unmanaged code.
99. A system for handing error notifications comprising:
a storage;
a processor exchanging information with said storage, said processor hosting a component with plug-in objects, wherein, when an exception in the processing of information by said plug-in objects occurs, said plug-in objects create a data packet that is forwarded to other plug-in objects to alert them to the exception.
a storage;
a processor exchanging information with said storage, said processor hosting a component with plug-in objects, wherein, when an exception in the processing of information by said plug-in objects occurs, said plug-in objects create a data packet that is forwarded to other plug-in objects to alert them to the exception.
100. The system according to claim 99, wherein said data packet is forwarded to an input queue which is then accessed by said plug-in objects on at least one of a synchronous thread and an asynchronous thread.
101. The system according to claim 99, wherein said data packet is forwarded to an output queue which is then accessed by said plug-in objects on an asynchronous thread.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US51359103P | 2003-10-24 | 2003-10-24 | |
US60/513,591 | 2003-10-24 | ||
US10/879,527 US7436535B2 (en) | 2003-10-24 | 2004-06-30 | Real-time inking |
US10/879,527 | 2004-06-30 | ||
PCT/US2004/024194 WO2005045574A2 (en) | 2003-10-24 | 2004-07-28 | Real-time inking |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2511395A1 true CA2511395A1 (en) | 2005-05-19 |
CA2511395C CA2511395C (en) | 2012-04-24 |
Family
ID=34526880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2511395A Expired - Fee Related CA2511395C (en) | 2003-10-24 | 2004-07-28 | Real-time inking |
Country Status (13)
Country | Link |
---|---|
US (17) | US7436535B2 (en) |
EP (1) | EP1676185A4 (en) |
JP (1) | JP4698599B2 (en) |
KR (1) | KR101085730B1 (en) |
CN (1) | CN1795453B (en) |
AU (1) | AU2004287136B2 (en) |
BR (1) | BRPI0406514A (en) |
CA (1) | CA2511395C (en) |
MX (1) | MXPA05007085A (en) |
MY (1) | MY139593A (en) |
RU (1) | RU2392655C2 (en) |
TW (1) | TWI374368B (en) |
WO (1) | WO2005045574A2 (en) |
Families Citing this family (118)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
US7262785B2 (en) * | 2003-08-21 | 2007-08-28 | Microsoft Corporation | Ink editing architecture |
WO2005031594A1 (en) * | 2003-08-21 | 2005-04-07 | Microsoft Corporation | Ink collection and rendering |
US7436535B2 (en) * | 2003-10-24 | 2008-10-14 | Microsoft Corporation | Real-time inking |
US7427984B2 (en) * | 2003-10-26 | 2008-09-23 | Microsoft Corporation | Point erasing |
US7978716B2 (en) | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US8060743B2 (en) * | 2003-11-14 | 2011-11-15 | Certicom Corp. | Cryptographic method and apparatus |
US8739274B2 (en) | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
US7757074B2 (en) | 2004-06-30 | 2010-07-13 | Citrix Application Networking, Llc | System and method for establishing a virtual private network |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
EP1771998B1 (en) | 2004-07-23 | 2015-04-15 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
EP1771979B1 (en) | 2004-07-23 | 2011-11-23 | Citrix Systems, Inc. | A method and systems for securing remote access to private networks |
US7761814B2 (en) * | 2004-09-13 | 2010-07-20 | Microsoft Corporation | Flick gesture |
US8954595B2 (en) | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
US8700695B2 (en) | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US8549149B2 (en) * | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
US7810089B2 (en) | 2004-12-30 | 2010-10-05 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
US8706877B2 (en) | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
US7598942B2 (en) | 2005-02-08 | 2009-10-06 | Oblong Industries, Inc. | System and method for gesture based control system |
US8656268B2 (en) | 2005-07-01 | 2014-02-18 | Microsoft Corporation | Queueing events in an interactive media environment |
US8799757B2 (en) * | 2005-07-01 | 2014-08-05 | Microsoft Corporation | Synchronization aspects of interactive multimedia presentation management |
US8305398B2 (en) | 2005-07-01 | 2012-11-06 | Microsoft Corporation | Rendering and compositing multiple applications in an interactive media environment |
US20070006062A1 (en) * | 2005-07-01 | 2007-01-04 | Microsoft Corporation | Synchronization aspects of interactive multimedia presentation management |
US8108787B2 (en) * | 2005-07-01 | 2012-01-31 | Microsoft Corporation | Distributing input events to multiple applications in an interactive media environment |
US8020084B2 (en) | 2005-07-01 | 2011-09-13 | Microsoft Corporation | Synchronization aspects of interactive multimedia presentation management |
US7941522B2 (en) * | 2005-07-01 | 2011-05-10 | Microsoft Corporation | Application security in an interactive media environment |
US7721308B2 (en) | 2005-07-01 | 2010-05-18 | Microsoft Corproation | Synchronization aspects of interactive multimedia presentation management |
CA2632235A1 (en) * | 2005-12-02 | 2007-06-07 | Citrix Systems, Inc. | Method and apparatus for providing authentication credentials from a proxy server to a virtualized computing environment to access a remote resource |
US8301839B2 (en) | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US7921184B2 (en) | 2005-12-30 | 2011-04-05 | Citrix Systems, Inc. | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
US7378966B2 (en) * | 2006-01-04 | 2008-05-27 | Microsoft Corporation | RFID device groups |
US7486282B2 (en) * | 2006-01-27 | 2009-02-03 | Microsoft Corporation | Size variant pressure eraser |
US9910497B2 (en) | 2006-02-08 | 2018-03-06 | Oblong Industries, Inc. | Gestural control of autonomous and semi-autonomous systems |
US8531396B2 (en) | 2006-02-08 | 2013-09-10 | Oblong Industries, Inc. | Control system for navigating a principal dimension of a data space |
US8370383B2 (en) | 2006-02-08 | 2013-02-05 | Oblong Industries, Inc. | Multi-process interactive systems and methods |
US9823747B2 (en) | 2006-02-08 | 2017-11-21 | Oblong Industries, Inc. | Spatial, multi-modal control device for use with spatial operating system |
US8537111B2 (en) | 2006-02-08 | 2013-09-17 | Oblong Industries, Inc. | Control system for navigating a principal dimension of a data space |
US8207822B2 (en) * | 2006-06-15 | 2012-06-26 | Microsoft Corporation | Support for batching of events, and shredding of batched events in the RFID infrastructure platform |
US7956724B2 (en) * | 2006-06-15 | 2011-06-07 | Microsoft Corporation | Support for reliable end to end messaging of tags in an RFID infrastructure |
US20080001711A1 (en) * | 2006-06-15 | 2008-01-03 | Microsoft Corporation | Reliability of execution for device provider implementations |
US7903094B2 (en) * | 2006-06-23 | 2011-03-08 | Wacom Co., Ltd | Information processing apparatus, operation input method, and sensing device |
US20080174404A1 (en) * | 2007-01-23 | 2008-07-24 | Microsoft Corporation | Dynamic updates in rfid manager |
US8245219B2 (en) * | 2007-01-25 | 2012-08-14 | Microsoft Corporation | Standardized mechanism for firmware upgrades of RFID devices |
JP4866262B2 (en) * | 2007-02-16 | 2012-02-01 | ソフトバンクモバイル株式会社 | Operation input processing method and portable information processing apparatus |
EP2150893A4 (en) | 2007-04-24 | 2012-08-22 | Oblong Ind Inc | Proteins, pools, and slawx in processing environments |
US20080271007A1 (en) * | 2007-04-30 | 2008-10-30 | Bea Systems, Inc. | System and method for managed tuxedo wrapper for .net applications |
US20080313607A1 (en) * | 2007-06-15 | 2008-12-18 | Microsoft Corporation | Unified input stack |
US20090027398A1 (en) * | 2007-07-26 | 2009-01-29 | Tufts University | Method for recognizing a shape from a path of a digitizing device |
US8291393B2 (en) * | 2007-08-20 | 2012-10-16 | International Business Machines Corporation | Just-in-time compiler support for interruptible code |
US20090144752A1 (en) * | 2007-11-30 | 2009-06-04 | Microsoft Corporation | Unmanaged-to-managed aggregation |
US20090157848A1 (en) * | 2007-12-18 | 2009-06-18 | Western Digital Technologies, Inc. | Application server processing tcp/ip requests from a client by invoking an asynchronous function |
US8245145B1 (en) * | 2007-12-18 | 2012-08-14 | Eakin Douglas M | Tool and method for developing a web page |
EP2293192B1 (en) | 2008-01-27 | 2021-03-31 | Citrix Systems, Inc. | Methods and systems for remoting three dimensional graphics |
US8390579B2 (en) * | 2008-03-14 | 2013-03-05 | France Telecom | System for classifying gestures |
US9684380B2 (en) | 2009-04-02 | 2017-06-20 | Oblong Industries, Inc. | Operating environment with gestural control and multiple client devices, displays, and users |
US9740293B2 (en) | 2009-04-02 | 2017-08-22 | Oblong Industries, Inc. | Operating environment with gestural control and multiple client devices, displays, and users |
US9952673B2 (en) | 2009-04-02 | 2018-04-24 | Oblong Industries, Inc. | Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control |
US8723795B2 (en) | 2008-04-24 | 2014-05-13 | Oblong Industries, Inc. | Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes |
US9740922B2 (en) | 2008-04-24 | 2017-08-22 | Oblong Industries, Inc. | Adaptive tracking system for spatial input devices |
US9495013B2 (en) | 2008-04-24 | 2016-11-15 | Oblong Industries, Inc. | Multi-modal gestural interface |
US10642364B2 (en) | 2009-04-02 | 2020-05-05 | Oblong Industries, Inc. | Processing tracking and recognition data in gestural recognition systems |
EP2164026A1 (en) * | 2008-09-15 | 2010-03-17 | Alcatel, Lucent | Gesture service platform |
WO2010045394A1 (en) * | 2008-10-14 | 2010-04-22 | Oblong Industries, Inc. | Multi-process interactive systems and methods |
US8149431B2 (en) * | 2008-11-07 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for managing printer settings in a networked computing environment |
US20100131556A1 (en) * | 2008-11-25 | 2010-05-27 | Microsoft Corporation | Unified event programming and queries |
US20100131921A1 (en) * | 2008-11-25 | 2010-05-27 | Microsoft Corporation | Exposing asynchronous mechanisms as first-class events |
US20100131745A1 (en) * | 2008-11-25 | 2010-05-27 | Microsoft Corporation | Exceptional events |
US20100131743A1 (en) * | 2008-11-25 | 2010-05-27 | Microsoft Corporation | Lazy and stateless events |
US10019081B2 (en) * | 2009-01-15 | 2018-07-10 | International Business Machines Corporation | Functionality switching in pointer input devices |
US9317128B2 (en) | 2009-04-02 | 2016-04-19 | Oblong Industries, Inc. | Remote devices used in a markerless installation of a spatial operating environment incorporating gestural control |
US10824238B2 (en) | 2009-04-02 | 2020-11-03 | Oblong Industries, Inc. | Operating environment with gestural control and multiple client devices, displays, and users |
US20110029904A1 (en) * | 2009-07-30 | 2011-02-03 | Adam Miles Smith | Behavior and Appearance of Touch-Optimized User Interface Elements for Controlling Computer Function |
US8751844B2 (en) * | 2009-09-24 | 2014-06-10 | Citrix Systems, Inc. | Systems and methods for attributing an amount of power consumption to a workload |
US9933852B2 (en) | 2009-10-14 | 2018-04-03 | Oblong Industries, Inc. | Multi-process interactive systems and methods |
US9971807B2 (en) | 2009-10-14 | 2018-05-15 | Oblong Industries, Inc. | Multi-process interactive systems and methods |
US8847961B2 (en) * | 2010-06-14 | 2014-09-30 | Microsoft Corporation | Geometry, speed, pressure, and anti-aliasing for ink rendering |
US9189147B2 (en) * | 2010-06-22 | 2015-11-17 | Microsoft Technology Licensing, Llc | Ink lag compensation techniques |
US8970870B2 (en) * | 2010-06-30 | 2015-03-03 | Canon Kabushiki Kaisha | Delivery of scan services over a device service port |
CN108681424B (en) * | 2010-10-01 | 2021-08-31 | Z124 | Dragging gestures on a user interface |
US9069459B2 (en) | 2011-05-03 | 2015-06-30 | Microsoft Technology Licensing, Llc | Multi-threaded conditional processing of user interactions for gesture processing using rendering thread or gesture processing thread based on threshold latency |
DE102011053214A1 (en) * | 2011-09-02 | 2013-03-07 | Claas Selbstfahrende Erntemaschinen Gmbh | Agricultural harvester |
US8952926B2 (en) | 2011-10-17 | 2015-02-10 | Topaz Systems, Inc. | Digitizer |
US8994686B2 (en) | 2011-10-17 | 2015-03-31 | Topaz Systems, Inc. | Digitizer |
US9052796B2 (en) | 2012-01-08 | 2015-06-09 | Microsoft Technology Licensing Llc | Asynchronous handling of an input stream dedicated to multiple targets |
US9537899B2 (en) | 2012-02-29 | 2017-01-03 | Microsoft Technology Licensing, Llc | Dynamic selection of security protocol |
TWI498778B (en) * | 2012-03-19 | 2015-09-01 | Wistron Corp | Method for syncing different touching systems |
WO2013151587A1 (en) * | 2012-04-06 | 2013-10-10 | Topaz Systems, Inc. | Digitizer |
US9180262B2 (en) | 2012-05-15 | 2015-11-10 | JettStream, Inc. | Delivery of nebulized medicines |
US9389717B2 (en) * | 2012-12-14 | 2016-07-12 | Microsoft Technology Licensing, Llc | Reducing latency in ink rendering |
WO2014097303A1 (en) * | 2012-12-23 | 2014-06-26 | N-Trig Ltd. | Touchscreen computing device and method |
US20140253462A1 (en) * | 2013-03-11 | 2014-09-11 | Barnesandnoble.Com Llc | Sync system for storing/restoring stylus customizations |
US20140372903A1 (en) * | 2013-06-14 | 2014-12-18 | Microsoft Corporation | Independent Hit Testing for Touchpad Manipulations and Double-Tap Zooming |
US9535646B2 (en) * | 2013-06-18 | 2017-01-03 | Microsoft Technology Licensing, Llc | Methods and systems for electronic ink projection |
US9433736B2 (en) | 2013-07-03 | 2016-09-06 | JettStream, Inc. | Positionable elongated members with multi-axis joints |
US9360956B2 (en) * | 2013-10-28 | 2016-06-07 | Microsoft Technology Licensing, Llc | Wet ink texture engine for reduced lag digital inking |
JP5997414B1 (en) * | 2013-11-19 | 2016-09-28 | 株式会社ワコム | Method and system for ink data generation, ink data rendering, ink data manipulation, and ink data transmission |
WO2015141260A1 (en) * | 2014-03-17 | 2015-09-24 | 株式会社河合楽器製作所 | Handwritten music notation recognition device and program |
US9990046B2 (en) | 2014-03-17 | 2018-06-05 | Oblong Industries, Inc. | Visual collaboration interface |
US9633466B2 (en) * | 2014-09-29 | 2017-04-25 | Microsoft Technology Licensing, Llc | Low latency ink rendering pipeline |
US20160210038A1 (en) * | 2015-01-21 | 2016-07-21 | Microsoft Technology Licensing, Llc | Electronic inking |
CN114554386A (en) | 2015-02-06 | 2022-05-27 | 杜比实验室特许公司 | Hybrid priority-based rendering system and method for adaptive audio |
US10089291B2 (en) | 2015-02-27 | 2018-10-02 | Microsoft Technology Licensing, Llc | Ink stroke editing and manipulation |
US9950542B2 (en) * | 2015-03-12 | 2018-04-24 | Microsoft Technology Licensing, Llc | Processing digital ink input subject to monitoring and intervention by an application program |
US9898841B2 (en) | 2015-06-29 | 2018-02-20 | Microsoft Technology Licensing, Llc | Synchronizing digital ink stroke rendering |
JP6589469B2 (en) | 2015-09-04 | 2019-10-16 | カシオ計算機株式会社 | Drawing apparatus and drawing method of drawing apparatus |
US20170236318A1 (en) * | 2016-02-15 | 2017-08-17 | Microsoft Technology Licensing, Llc | Animated Digital Ink |
JP6701853B2 (en) * | 2016-03-18 | 2020-05-27 | カシオ計算機株式会社 | Drawing device and drawing method of drawing device |
US9996511B2 (en) * | 2016-03-23 | 2018-06-12 | International Business Machines Corporation | Free form website structure design |
US10146759B2 (en) * | 2016-03-24 | 2018-12-04 | Microsoft Technology Licensing, Llc | Controlling digital input |
US11029836B2 (en) * | 2016-03-25 | 2021-06-08 | Microsoft Technology Licensing, Llc | Cross-platform interactivity architecture |
US10529302B2 (en) | 2016-07-07 | 2020-01-07 | Oblong Industries, Inc. | Spatially mediated augmentations of and interactions among distinct devices and applications via extended pixel manifold |
EP3679468A4 (en) | 2017-12-11 | 2021-04-07 | Hewlett-Packard Development Company, L.P. | Controller event queues |
CN111625303B (en) * | 2019-02-27 | 2023-06-09 | 阿里巴巴集团控股有限公司 | Event processing method, device, equipment and readable storage medium |
US20220391084A1 (en) * | 2019-09-25 | 2022-12-08 | Zhangyue Technology Co., Ltd | Information display method, reader, computer storage medium, ink screen reading device and screen projection display system |
CN112802133B (en) * | 2021-04-13 | 2021-07-06 | 武汉精测电子集团股份有限公司 | Mini Led display screen unit plate ink color detection and sorting method based on machine vision |
US20240094896A1 (en) * | 2022-09-19 | 2024-03-21 | Microsoft Technology Licensing, Llc | Locally generating preliminary inking imagery |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2669575B2 (en) * | 1991-04-19 | 1997-10-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Data input method and device |
DE69333096T2 (en) | 1992-04-15 | 2004-02-12 | Xerox Corp. | Devices and methods for graphic drawing and output |
US5710831A (en) * | 1993-07-30 | 1998-01-20 | Apple Computer, Inc. | Method for correcting handwriting on a pen-based computer |
US5500937A (en) * | 1993-09-08 | 1996-03-19 | Apple Computer, Inc. | Method and apparatus for editing an inked object while simultaneously displaying its recognized object |
US5534893A (en) * | 1993-12-15 | 1996-07-09 | Apple Computer, Inc. | Method and apparatus for using stylus-tablet input in a computer system |
US5768607A (en) | 1994-09-30 | 1998-06-16 | Intel Corporation | Method and apparatus for freehand annotation and drawings incorporating sound and for compressing and synchronizing sound |
US5802388A (en) * | 1995-05-04 | 1998-09-01 | Ibm Corporation | System and method for correction and confirmation dialog for hand printed character input to a data processing system |
US6268859B1 (en) * | 1995-06-06 | 2001-07-31 | Apple Computer, Inc. | Method and system for rendering overlapping opaque graphical objects in graphic imaging systems |
US5920688A (en) * | 1995-11-13 | 1999-07-06 | International Business Machines Corporation | Method and operating system for manipulating the orientation of an output image of a data processing system |
US5782539A (en) * | 1995-11-16 | 1998-07-21 | Peterson; Randall D. | Wall-to-wall surface mining process |
US5872966A (en) * | 1996-05-10 | 1999-02-16 | Apple Computer, Inc. | System and method for logging and enabling further manipulation of system state information |
US5949998A (en) * | 1996-07-03 | 1999-09-07 | Sun Microsystems, Inc. | Filtering an object interface definition to determine services needed and provided |
US6128007A (en) * | 1996-07-29 | 2000-10-03 | Motorola, Inc. | Method and apparatus for multi-mode handwritten input and hand directed control of a computing device |
US5919249A (en) | 1996-08-07 | 1999-07-06 | Adobe Systems Incorporated | Multiplexed output movie rendering |
US5896126A (en) * | 1996-08-29 | 1999-04-20 | International Business Machines Corporation | Selection device for touchscreen systems |
US5953523A (en) * | 1996-10-28 | 1999-09-14 | International Business Machines Corporation | Method and apparatus for creating "smart forms " |
US6049832A (en) | 1996-11-15 | 2000-04-11 | Wall Data Incorporated | Method for accessing information on a host computer from a client computer through an intelligent virtual host component |
GB2340360B (en) * | 1998-07-31 | 2002-11-06 | Sony Uk Ltd | Animation of video special effects |
GB2340362B (en) * | 1998-07-31 | 2002-11-06 | Sony Uk Ltd | Digital video processing |
GB2340265B (en) * | 1998-07-31 | 2003-04-23 | Sony Uk Ltd | Data processing |
US6269378B1 (en) * | 1998-12-23 | 2001-07-31 | Nortel Networks Limited | Method and apparatus for providing a name service with an apparently synchronous interface |
US6249810B1 (en) * | 1999-02-19 | 2001-06-19 | Chaincast, Inc. | Method and system for implementing an internet radio device for receiving and/or transmitting media information |
US6498610B1 (en) * | 2000-05-05 | 2002-12-24 | Xerox Corporation | Concurrent utilization of multiple color profile databases for image rending |
US7397949B2 (en) * | 2000-06-21 | 2008-07-08 | Microsoft Corporation | Serial storage of ink and its properties |
US6355889B1 (en) * | 2000-06-28 | 2002-03-12 | International Business Machines Corporation | Method and apparatus for linking electronic ink to electronic personal information systems |
US6608697B1 (en) * | 2000-07-26 | 2003-08-19 | Extensis, Inc. | Preflight system that provides a universal resource locator address associated with a detected print file error |
US6754386B1 (en) * | 2000-08-22 | 2004-06-22 | Microsft Corporation | Method and system of matching ink processor and recognizer word breaks |
US6707473B2 (en) * | 2001-08-01 | 2004-03-16 | Microsoft Corporation | Dynamic rendering of ink strokes with transparency |
US20020118706A1 (en) * | 2001-02-26 | 2002-08-29 | Maple Optical Systems, Inc. | Data packet transmission scheduling based on anticipated finish times |
US6943787B2 (en) * | 2001-02-27 | 2005-09-13 | Medtronics, Inc. | System and method for displaying implantable medical device data |
US7057615B2 (en) * | 2001-06-28 | 2006-06-06 | Microsoft Corporation | Method and system for representing and displaying digital ink |
US6885374B2 (en) * | 2001-06-29 | 2005-04-26 | Intel Corporation | Apparatus, method and system with a graphics-rendering engine having a time allocator |
US7039234B2 (en) * | 2001-07-19 | 2006-05-02 | Microsoft Corporation | Electronic ink as a software object |
US6909430B2 (en) * | 2001-08-01 | 2005-06-21 | Microsoft Corporation | Rendering ink strokes of variable width and angle |
US7287277B2 (en) * | 2001-12-21 | 2007-10-23 | Hewlett-Packard Development Company, L.P. | Method and apparatus for controlling execution of a computer operation |
JP2003216324A (en) * | 2002-01-17 | 2003-07-31 | Hitachi Information Technology Co Ltd | Input system |
US7139004B2 (en) * | 2002-01-25 | 2006-11-21 | Xerox Corporation | Method and apparatus to convert bitmapped images for use in a structured text/graphics editor |
US7136082B2 (en) * | 2002-01-25 | 2006-11-14 | Xerox Corporation | Method and apparatus to convert digital ink images for use in a structured text/graphics editor |
DE10215615A1 (en) * | 2002-04-09 | 2003-10-30 | Roland Man Druckmasch | Inking unit for printing units of rotary printing machines |
US20040070616A1 (en) * | 2002-06-02 | 2004-04-15 | Hildebrandt Peter W. | Electronic whiteboard |
US7046213B2 (en) * | 2002-06-05 | 2006-05-16 | Ibm | Apparatus and method for direct manipulation of electronic information |
US7028229B2 (en) * | 2002-09-30 | 2006-04-11 | Sun Microsystems, Inc. | Kernel event subscription and publication system and method |
US7430623B2 (en) * | 2003-02-08 | 2008-09-30 | Hewlett-Packard Development Company, L.P. | System and method for buffering data received from a network |
JP4039274B2 (en) * | 2003-02-28 | 2008-01-30 | 富士ゼロックス株式会社 | Service processing system and program |
US7562289B2 (en) * | 2003-06-18 | 2009-07-14 | Layton Geo-Science, Inc. | Methods and systems for encoding geographic coordinates and features in a portable document format file |
WO2005029391A1 (en) * | 2003-08-21 | 2005-03-31 | Microsoft Corporation | Electronic ink processing |
US7436535B2 (en) * | 2003-10-24 | 2008-10-14 | Microsoft Corporation | Real-time inking |
US6925892B2 (en) * | 2003-12-17 | 2005-08-09 | Sauer-Danfoss, Inc. | Method and means for monitoring torque in a hydraulic power unit |
US7499058B2 (en) * | 2005-04-22 | 2009-03-03 | Microsoft Corporation | Programmatical access to handwritten electronic ink in a tree-based rendering environment |
-
2004
- 2004-06-30 US US10/879,527 patent/US7436535B2/en not_active Expired - Fee Related
- 2004-07-28 MY MYPI20043020A patent/MY139593A/en unknown
- 2004-07-28 JP JP2006536576A patent/JP4698599B2/en not_active Expired - Fee Related
- 2004-07-28 AU AU2004287136A patent/AU2004287136B2/en not_active Ceased
- 2004-07-28 RU RU2005120672/09A patent/RU2392655C2/en not_active IP Right Cessation
- 2004-07-28 WO PCT/US2004/024194 patent/WO2005045574A2/en active Application Filing
- 2004-07-28 CN CN2004800032609A patent/CN1795453B/en not_active Expired - Fee Related
- 2004-07-28 KR KR1020057012369A patent/KR101085730B1/en active IP Right Grant
- 2004-07-28 BR BR0406514-0A patent/BRPI0406514A/en not_active IP Right Cessation
- 2004-07-28 TW TW093122595A patent/TWI374368B/en not_active IP Right Cessation
- 2004-07-28 EP EP04779299A patent/EP1676185A4/en not_active Withdrawn
- 2004-07-28 MX MXPA05007085A patent/MXPA05007085A/en active IP Right Grant
- 2004-07-28 CA CA2511395A patent/CA2511395C/en not_active Expired - Fee Related
- 2004-11-12 US US10/985,923 patent/US7239401B2/en not_active Expired - Fee Related
- 2004-11-12 US US10/985,920 patent/US7450261B2/en not_active Expired - Fee Related
- 2004-11-12 US US10/985,912 patent/US7016055B2/en active Active
- 2004-11-15 US US10/986,803 patent/US7443531B2/en not_active Expired - Fee Related
- 2004-11-15 US US10/986,882 patent/US7463371B2/en not_active Expired - Fee Related
- 2004-11-15 US US10/986,841 patent/US7511836B2/en not_active Expired - Fee Related
- 2004-11-15 US US10/986,801 patent/US7515139B2/en not_active Expired - Fee Related
- 2004-11-15 US US10/986,892 patent/US7453585B2/en not_active Expired - Fee Related
- 2004-11-15 US US10/986,826 patent/US7212296B2/en not_active Expired - Fee Related
- 2004-11-15 US US10/986,779 patent/US7199885B2/en active Active
-
2005
- 2005-08-05 US US11/197,551 patent/US7446894B2/en not_active Expired - Fee Related
-
2007
- 2007-01-24 US US11/626,613 patent/US7428736B2/en not_active Expired - Fee Related
- 2007-03-02 US US11/681,535 patent/US7973957B2/en not_active Expired - Fee Related
-
2009
- 2009-01-21 US US12/356,974 patent/US8199131B2/en not_active Expired - Fee Related
-
2011
- 2011-05-20 US US13/112,806 patent/US8213027B2/en not_active Expired - Fee Related
-
2012
- 2012-06-04 US US13/487,587 patent/US8400665B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2511395A1 (en) | Real-time inking | |
US9086914B2 (en) | System and method for reducing startup cost of a software application | |
US20200258133A1 (en) | Installable web applications | |
KR101647071B1 (en) | Architectural pattern for persistent web application design | |
US9535842B2 (en) | System and method for performing message driven prefetching at the network interface | |
US8732576B2 (en) | Operating system providing multi-touch support for applications in a mobile device | |
WO2018119602A1 (en) | Rendering method and device | |
JP2005513597A5 (en) | ||
CN106156148B (en) | Page rendering method and device and terminal equipment | |
US8909761B2 (en) | Methods and computer program products for monitoring and reporting performance of network applications executing in operating-system-level virtualization containers | |
US8281321B2 (en) | Method, system and storage medium for implementing a message board cache system | |
CN109388317A (en) | A kind of picture loading method, terminal device and storage medium | |
US8666954B2 (en) | Reduced bandwidth cache coherency via checksum exchange | |
CN115878935B (en) | Method, system, device, equipment and medium for partial refreshing of chart | |
CN110362776A (en) | Browser front-end data storage method, device, equipment and readable storage medium storing program for executing | |
US20180337988A1 (en) | Methods for working collaboratively and systems using the same | |
CN110619102B (en) | Method and device for monitoring page elements | |
US20030167299A1 (en) | Automatically selecting application services for communicating data | |
US20050192935A1 (en) | Method and apparatus for efficient runtime memory access in a database | |
EP1686763B1 (en) | Method for preserving correlation between messages of the same session | |
US20240064202A1 (en) | Methods and apparatus to synchronize touch events | |
US11645107B2 (en) | Processing multi-frame tasks in a multi-threaded digital design system | |
CN117609367A (en) | Data synchronization method, device, equipment and storage medium | |
CN115869622A (en) | Application method and system of BIM and GIS model in WebGL game engine and readable storage medium | |
Lee | A virtual server queueing network method for component based performance modelling of metacomputing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |
Effective date: 20140729 |