Browse Prior Art Database

Retained Graphic Images for Object-Oriented Languages

IP.com Disclosure Number: IPCOM000118789D
Original Publication Date: 1997-Jul-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 4 page(s) / 175K

Publishing Venue

IBM

Related People

Feigenbaum, BA: AUTHOR

Abstract

Disclosed is a method to add Retained Graphic Images (RGI) to object-oriented languages. RGIs add to these languages the ability to record an image composed of multiple subimages (limited only by the computer systems memory resources) for future replay. This set of images can be redrawn with a single operation. RGIs can be saved into operating system files and reloaded with a single operation. Individual images in the RGI set can be ordered relative to each other. This allows the images to be presented with a three-dimensional look, especially if the images are opaque. This method should be useful to any application that draws text or graphics images written in an object-oriented language.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 35% of the total text.

Retained Graphic Images for Object-Oriented Languages

      Disclosed is a method to add Retained Graphic Images (RGI) to
object-oriented languages.  RGIs add to these languages the ability
to record an image composed of multiple subimages (limited only by
the computer systems memory resources) for future replay.  This set
of images can be redrawn with a single operation.  RGIs can be saved
into operating system files and reloaded with a single operation.
Individual images in the RGI set can be ordered relative to each
other.  This allows the images to be presented with a
three-dimensional look, especially if the images are opaque.  This
method should be useful to any application that draws text or
graphics images written in an object-oriented language.

      Current object-oriented languages do not support the ability
to draw text/graphics images in a manner that allows for simple
regeneration of the image on demand.  The capability provided in
these languages is to make a series of calls to drawing primitives
(such as draw a line, draw a rectangle, draw a string, etc.)  in an
order dictated by a particular code sequence.  This is essentially
the same capability provided by procedural languages, such as C,
Cobol, PL/I and assembler and existing operating systems, such as
OS/2*, the various Microsoft Windows**, as well as the various
UNIX*** systems providing X-Windows**** and Motif*****.

      There is no standard capability to remember an image in a
permanent format (such as contained inside an operating system data
file).  The application itself must create a data representation to
represent each of these drawing functions and insure that they are
correctly transferred to a file or set of files.  This makes it
difficult for the application to retain the graphic images across its
executions or to share them with other programs.  An example
embodiment is set forth below using the language Java but other
popular languages such as Smalltalk-80 and C++ can be used as well.
  1) Drawable

      The example embodiment provides for a limited set of
RGIs.  Additional ones can be easily added within the claims of this
invention.  These images are represented by the Drawable class and
its subclasses (DrawableLine, DrawableText, etc.).

      The example embodiments supports the ability to annotate each
RGI with a visibility, scale, and color attribute.  Additional
attributes can be easily added and still be within the claims of this
invention.

      Drawable instances can be saved into and loaded from data
streams.  Data streams are zero or more data values placed in a
continuous stream which can be accessed serially.  Typically, data
streams are abstractions of operating systems files and objects
placed in them are persistently recorded in those files.  Drawable
instances in the example embodiment are stored using a linear
organization.  Other organizations are possible within the scope of
this inventio...