Computer graphics processing and selective visual display system – Display driving control circuitry – Controlling the condition of display elements
Reexamination Certificate
1996-04-04
2001-08-28
Courtenay, III, John (Department: 2151)
Computer graphics processing and selective visual display system
Display driving control circuitry
Controlling the condition of display elements
C709S241000
Reexamination Certificate
active
06281893
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to graphics control systems and methods. More particularly, the present invention relates to systems and methods for using a client-side object oriented model with a server-side imaging model, whereby the attributes of the different models can be exploited in a client/server environment which integrates any of a variety of different hardware platforms.
2. State of the Art
Known graphics control systems provide device independent graphics and text manipulations using standardized programming languages, such as the PostScript® language available from Adobe Systems Inc. As those skilled in the art will appreciate, the PostScript® language is an interpretive programming language having a graphics imaging model and programming constructs for describing an appearance of text, arbitrary graphical shapes and sampled images that are independent of the resolution of a device being used to reproduce the graphics (e.g., whether it is a printer, monitor, disk file or other device). For example, the imaging model can include a designation of an appropriate window coordinate system, a color space used to define each color which is to be represented, and so forth.
As described in the “PostScript® Language Reference Manual”, 2d Edition, from Adobe Systems Inc., Addison-Wesley Publishing Co., Inc., 1990 (ISBN 0-201-18127-4), the contents of which are hereby incorporated by reference, the PostScript language can be used to communicate a description of a document from a composition system to a printing system, or to control the appearance of text and graphics on a display in a high level, device independent manner. An interpreter executes commands to paint characters, shapes and/or images, as it converts high-level, device independent PostScript language descriptions from the composition system into a low-level raster data format of a printer, display or other output device. The graphics capabilities of the PostScript language are embedded in an applications programming language which includes a toolkit and associated client library of higher level operations.
The manual entitled “Programming the Display PostScript™ System with X™”, from Adobe Systems Inc., Addison-Wesley Publishing Co., Inc., 1993 (ISBN 0-201-62203-3), the contents of which are also incorporated herein by reference, further describes an exemplary device independent computer language. The Display PostScript system combines the PostScript imaging model with a windowing system, such as the known UNIX® based X Window System™ from the Massachusetts Institute of Technology, to provide a windows based system capable of using the same imaging model for both printers and active computer displays (i.e., DPS/X). The X Window System is a client/server, network based windowing system wherein the client, or application, runs in one process while the X server which is connected to the display and keyboard, runs in another process. The two processes can, for example, run on multiple computers in a network, with communication between the client and server being defined by the X protocol.
As those skilled in the art will appreciate, the Display PostScript system includes a PostScript interpreter, a client library for linking a client-side application with the PostScript interpreter, and a pswrap translator which takes PostScript language instructions and produces a “C” language procedure called a wrap that can be called from an application program. In operation, an application draws on a screen by making calls to client library procedures, which are used to generate PostScript language code that is sent to the PostScript interpreter for execution. The application creates a PostScript execution context (i.e., a virtual printer). The application then sends client library procedures and wraps to the context and receives responses from it.
A goal of the Display PostScript system is to assist application programmers in writing programs that output images to a printer which closely match images displayed on a computer monitor or written to file. However, existing graphics display and control systems do not provide application program developers with a familiar, efficient client-side environment that simplifies the development of client applications wherein a true match between images produced on a display, images produced by a printer, and/or images written to a disk file can be obtained. That is, true what-you-see-is-what-you-get (WYSIWYG) imaging is not easily achieved with these known systems.
One reason WYSIWYG imaging can not easily and efficiently be achieved with the PostScript systems is that the PostScript programming language provides a powerful imaging model, but does not include high level facilities for client-side application development. Application programs must therefore be developed in their native language. That is, the existing Display PostScript client library for the X Window System has been developed for code written in PostScript and compiled through the pswrap translator which tokenizes and batches PostScript operators into binary encoded X requests for execution. The use of client-side libraries for code written in the server-side programming language, such as PostScript, renders client-side application development time consuming, complex and inefficient. Further, because each client creates a context as a virtual PostScript printer that sends its output to a window or offscreen pixel map, the client library is limited and inflexible. Further, encoding is done statically, with all conditional statements of a program flow being binary encoded and resolved inefficiently with the PostScript interpreter. Existing client/server systems, because of the complexities associated with client-side application development, therefore constitute an impractical framework for developing true WYSIWYG applications whereby images which are displayed, printed, or written to file are virtually identical.
Accordingly, it would be desirable to provide a graphics control system and method which can provide true WYSIWYG applications which exploit the power of existing device independent graphics and text manipulations, while providing a high level of performance for interactive applications.
SUMMARY OF THE INVENTION
The present invention is directed to a method and apparatus for exploiting the power of existing device independent graphics and text manipulations, while providing a high level of client-side performance for interactive applications using an object oriented client-side library of constructs. The client-side constructs are analogous to the constructs of a selected server-side imaging model, so that the power and performance of existing imaging models (for example, constructs of the PostScript language) are exploited. In an exemplary embodiment, the client-side constructs are provided for use with the C++ programming language. By establishing a client-side object model using a library of constructs analogous to server-side imaging model constructs, program execution speed and efficiency can be improved without sacrificing the device independence of the imaging model. Using a common base class (i.e., a base class common to all output device platforms), an inherent level of transparency between printing to a display and printing to a file or to a printer is achieved in the client-side application development. Thus, the coupling of a complete representation of a given imaging model with the advantages of an object model written in a high level compiled language, such as the strongly-typed C++ language, enables true WYSIWYG applications to be efficiently developed and implemented.
Other advantages of a client-side library in accordance with exemplary embodiments of the present invention include: (1) transparent conversion to a fast executing encoding for a given construct; (2) binary encoding on-the-fly; (3) handling of function overloading and exceptions; (4) an ability to define and manipulate imaging model constructs, such as no
Courtenay, III John
Hogan & Hartson LLP
Sun Microsystems Inc.
LandOfFree
Method and apparatus for providing an object oriented... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for providing an object oriented..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for providing an object oriented... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2435243