Abstract:
A system and method providing a cursor tool framework and tool server with support for multiple cursors on any given system, and supporting the selection of a cursor tool using a cursor. The framework and server facilitate the association of cursor tools to a cursor in a process-independent space such that tools can be used cross-process and cross-document. The framework also provides default functionality for communication among cursor tools and the canvas on which they are used. This high degree of interaction allows any cursor tool and any document to function together such that the cursor tool can be written without the participation of the document developer.
Abstract:
Computer software, process, and object-oriented objects that decouple the details of accessing graphical data from the details of processing and iterating through the graphical data. The invention first receives a filter routine and a funnel routine, and passes an iterator, that enumerates over the graphical data, to the funnel routine. Then the invention repetitively calls both the filter and funnel routines to enumerate over the graphical data. The filter routine selects, orders and returns graphical data. The funnel routine processes the graphical data and also can pre-terminate enumeration. Developers have the capability extend the invention by providing their own versions of the filter and funnel routines and by modifying the enumeration.
Abstract:
A modular compiler is used to compile code for execution by an agent engine and a plurality of application programs. The modular compiler includes a class independent compiler which parses program code which is to be executed by the agent engine. The modular compiler also includes a class dependent parser for each application program. Each class dependent parser parses program code which is to be executed by its respective application program. When an application program is added to the computing system, an associated class dependent parser is added to the modular compiler. When an application program is removed from the computing system, the associated class dependent parser is removed from the modular compiler.
Abstract:
A system and method provide a cursor tool framework and tool server with support for multiple cursors on any given system, and supports the selection of a cursor tool utilizing a cursor. The framework and server facilitate the association of cursor tools to a cursor in a process independent space such that tools can be used cross-process and cross-document. The framework also provides default functionality for communication among cursor tools and the canvas on which they are used. This high degree of interaction allows any cursor tool and any document to function together such that the cursor tool can be written without the knowledge of the document developer.
Abstract:
A computer based system for rendering a plurality of graphical environments includes a plurality of painter maker objects, and a painter maker chain comprising at least one of the painter maker objects. A task, which is coupled to the painter maker chain, passes to the painter maker chain a request to render a particular graphical primitive in a particular graphical environment. In response to the request, the painter maker objects create a painter chain comprising a plurality of painter objects each optimized to perform, in the particular graphical environment, a predetermined graphical operation in order to render the particular graphical primitive. The task uses painter objects to perform rendering operations in the particular graphical environment.
Abstract:
An application program includes an action processor which receives messages containing user syntactic actions. These actions are translated into semantic commands. The semantic commands are sent to a command processor for execution.The preferred embodiment of the computing system additionally includes an agent engine. The agent engine may be used to perform many functions. It may be used to receive semantic commands from an application, and to record the semantic commands for later playback. It may be used to send semantic commands from a task language file to an application program for execution by the command processor. It may be used to intercept semantic commands sent from action processor to the command processor. After the command is intercepted, the agent engine may be used to allow the semantic command to be executed, to prevent the semantic command from being executed.
Abstract:
A computing system includes an application object, a computer based training instruction object ("INSTRUCTION object") and an agent engine. The INSTRUCTION object runs concurrently with the application object. The application objects includes a first action processor and a first command processor. The first action processor receives messages which indicate syntactic actions taken by the user and generates semantic commands based on the syntactic actions. The first command processor receives the semantic commands from the first action processor and executes the semantic commands. The INSTRUCTION object receives input from a user through syntactic actions and displays information on a monitor. The information instructs a user as to operation of the first application. The INSTRUCTION object may include an INSTRUCTION action processor and an INSTRUCTION command processor. The INSTRUCTION action processor receives messages which indicate syntactic actions taken by the user and generates semantic commands based on the syntactic actions. The INSTRUCTION command processor receives the semantic commands from the INSTRUCTION action processor and executes the semantic commands. The agent, running a task language program, sends semantic commands to the INSTRUCTION object which direct the INSTRUCTION object as to what information to display. The agent also monitors the application object and the INSTRUCTION object, intercepting semantic commands before they are executed.