US5710896A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Object-oriented graphic system with extensible damage repair and drawing constraints
Assignee: Apple Inc
•
Filing: 1996-03-06
•
Granted: 1998-01-20
•
Expires: 2016-03-06
Abstract
Abstract A method and apparatus for developing graphics applications, including a framework for handling the exchange of graphical data between applications and for presenting and manipulating graphical objects. The framework includes a number of classes which are used by the application developer to facilitate the interaction between the major subsystems, Models, Views and User Interface, of the system architecture.
Inventors
- 👤 Robert Seidl
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 15:25
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/30; G06F8/38; G06F8/20; G06F8/24
Claims Analysis
Total Claims: 56
Claim 1
Independent Claim
166 words
Apparatus operating on a computer system having a memory and a display for displaying a plurality of graphical images, the apparatus repairing damage caused by changes in the images in response to graphic change commands, and the apparatus comprising: (a) means for modeling the plurality of graphical images as a plurality of graphic component objects in the memory, each of the graphic component objects having graphic data stored therein representing one of the plurality of graphic images and having means for rendering on the display, the graphic data in the each graphic component object; (b) canvas view means including means for selecting ones of the plurality of graphic component objects and for controlling said selected graphic component objects to render graphic data therein on the display and means responsive to the data change commands for generating view damage signals; and (c) update means contained within the canvas view means and responsive to the view damage signals for repairing view damage in accordance with a predetermined policy.
Claim 2
Dependent Claim
166 words
Apparatus operating on a computer system having a memory and a display for displaying a plurality of graphical images, the apparatus repairing damage caused by changes in the images in response to graphic change commands, and the apparatus comprising: (a) means for modeling the plurality of graphical images as a plurality of graphic component objects in the memory, each of the graphic component objects having graphic data stored therein representing one of the plurality of graphic images and having means for rendering on the display, the graphic data in the each graphic component object; (b) canvas view means including means for selecting ones of the plurality of graphic component objects and for controlling said selected graphic component objects to render graphic data therein on the display and means responsive to the data change commands for generating view damage signals; and (c) update means contained within the canvas view means and responsive to the view damage signals for repairing view damage in accordance with a predetermined policy.
Claim 3
Dependent Claim
39 words
Apparatus as recited in claim 1 wherein the update means includes an unbuffered updater object which renders changed portions of graphic data by controlling said canvas view means to select graphic component objects to render selected graphic data therein.
Claim 4
Dependent Claim
41 words
Apparatus as recited in claim 1, wherein the update means includes a single-buffered updater object having a data structure for storing a graphical image of the entire display and member functions for copying the entire display graphical image to the display.
Claim 5
Dependent Claim
49 words
Apparatus as recited in claim 1, wherein the update means includes a double-buffered updater object comprising: a background buffer containing graphic data from unselected graphic component objects; and a composite buffer containing a graphical image of the entire display for redrawing changed portions of the entire display graphical image.
Claim 6
Dependent Claim
63 words
Apparatus as recited in claim 1, wherein the update means includes a triple-buffered updater object for maintaining a background buffer which contains data from unselected graphic component objects, a foreground buffer which contains graphic image data from selected graphic component objects and a composite buffer containing a graphical image of the entire display for redrawing changed portions of the entire display graphical image.
Claim 7
Dependent Claim
61 words
Apparatus as recited in claim 1, including a grid object for generating a grid on the display, the grid comprising a plurality of grid lines and a plurality of constraint objects, each of the constraint objects containing member functions for moving a point selected within a predetermined radius of one of the plurality of grid lines to the one grid line.
Claim 8
Dependent Claim
41 words
Apparatus as recited in claim 6 wherein at least one of the plurality of constraint objects constrains graphical images rendered on the display screen by one of the plurality of graphic component objects to a particular position on the display screen.
Claim 9
Dependent Claim
34 words
Apparatus as recited in claim 7, including a constraint object which utilizes a semantic constraint to change the appearance of graphic image based on the position of the graphic image on the display screen.
Claim 10
Dependent Claim
49 words
Apparatus as recited in claim 8, wherein the constraint object constrains a predetermined portion of a graphical image rendered on the display, wherein the predetermined portion of the graphical image corresponds to a first one of a corner, a side, a center and a midpoint of the graphical image.
Claim 11
Dependent Claim
34 words
Apparatus as recited in claim 8, wherein the constraint object aligns a connection port of a graphical component corresponding to a graphical image rendered on the display to a predetermined position on the display.
Claim 12
Dependent Claim
61 words
Apparatus as recited in claim 6, wherein each of the graphic component objects includes: means for providing a unique identification value to each of a plurality of selected graphical images rendered on the display; and means for storing each unique identification value in a data store object, for use in a comparison between selected ones of the plurality of graphical components.
Claim 13
Dependent Claim
32 words
Apparatus as recited in claim 1, including a constraint object which constrains graphical images rendered on the display screen by one of the plurality of graphic component objects along predetermined geometric pattern.
Claim 14
Dependent Claim
33 words
Apparatus as recited in claim 12, wherein the constraint object constrains graphical images rendered on the display screen by one of the plurality of graphic component objects along portions of a rectangular grid.
Claim 15
Dependent Claim
32 words
Apparatus as recited in claim 12, wherein the constraint object constrains graphical images rendered on the display screen by one of the plurality of graphic components along portions of a polar grid.
Claim 16
Dependent Claim
32 words
Apparatus as recited in claim 12, wherein the constraint object constrains graphical images rendered on the display screen by one of the plurality of graphic components along portions of a perspective grid.
Claim 17
Dependent Claim
55 words
Apparatus as recited in claim 1, further comprising model means for containing the plurality of graphic component objects, wherein the model means comprises means responsive to commands for editing a graphic component object for creating an interactor object and for passing the interactor object to the graphic component object to change the graphical data therein.
Claim 18
Dependent Claim
18 words
Apparatus as recited in claim 16, wherein the interactor objects can be instantiated while a program is operational.
Claim 19
Dependent Claim
18 words
Apparatus as recited in claim 1, including means for associating a constraint object with the canvas view means.
Claim 20
Dependent Claim
214 words
Apparatus for managing a plurality of graphical images in a document on a computer system having a memory and a display screen, the apparatus repairing view damage caused by changes to the graphical images and comprising: (a) a plurality of component objects in the memory, each of the plurality of component objects having data defining one of the plurality of graphical images and a member function responsive to the data for drawing the one graphical image on the display screen; (b) a model object in the memory having a data structure therein for storing a reference to each of the plurality of component objects; (c) means for constructing a canvas view object in the memory, the canvas view object having a data structure for storing lists of graphic component objects having images displayed on the display screen and methods for indicating view damage when displayed component images are selected and moved; and (d) a plurality of update objects, each of which has methods which redraw the view associated with the canvas view object in accordance with a predetermined policy; and (e) means for associating one of the update objects with the canvas view object so that the one update object is responsive to indicated view damage for redrawing damaged areas in a predetermined manner.
Claim 21
Dependent Claim
214 words
Apparatus for managing a plurality of graphical images in a document on a computer system having a memory and a display screen, the apparatus repairing view damage caused by changes to the graphical images and comprising: (a) a plurality of component objects in the memory, each of the plurality of component objects having data defining one of the plurality of graphical images and a member function responsive to the data for drawing the one graphical image on the display screen; (b) a model object in the memory having a data structure therein for storing a reference to each of the plurality of component objects; (c) means for constructing a canvas view object in the memory, the canvas view object having a data structure for storing lists of graphic component objects having images displayed on the display screen and methods for indicating view damage when displayed component images are selected and moved; and (d) a plurality of update objects, each of which has methods which redraw the view associated with the canvas view object in accordance with a predetermined policy; and (e) means for associating one of the update objects with the canvas view object so that the one update object is responsive to indicated view damage for redrawing damaged areas in a predetermined manner.
Claim 22
Dependent Claim
40 words
Apparatus as recited in claim 19 wherein each of the plurality of component objects includes a member function for editing the data in the each component object and a member function for selecting the data in the each component object.
Claim 23
Dependent Claim
29 words
Apparatus as recited in claim 19 wherein the model object includes member functions for adding references to component objects to the data structure, and deleting references to component objects.
Claim 24
Dependent Claim
17 words
Apparatus as recited in claim 19 wherein the canvas view object includes data identifying a model object.
Claim 25
Dependent Claim
56 words
Apparatus as recited in claim 19 wherein the canvas object image list data includes a list of background objects that are fully behind all objects currently selected, a list of foreground objects that are in front of all objects currently selected and a list of midground objects that are not in the background or foreground lists.
Claim 26
Dependent Claim
43 words
Apparatus as recited in claim 19 wherein the canvas view object includes a grid object having data for defining a grid consisting of a plurality of lines on the display screen and a member function for displaying the grid on the display screen.
Claim 27
Dependent Claim
33 words
Apparatus as recited in claim 24 wherein the canvas view object includes a snap-to object having member functions for causing a displayed point to snap to one of the plurality of grid lines.
Claim 28
Independent Claim
210 words
A method for managing a plurality of graphical images in a document on a computer system having a memory and a display screen, the method comprising the steps of: (a) constructing a plurality of component objects in the memory, each of the plurality of component objects having data defining one of the plurality of graphical images and a member function responsive to the data for drawing the one graphical image on the display screen; (b) constructing a model object in the memory, the model object having a data structure therein for storing a reference to each of the plurality of component objects; (c) constructing a canvas view object in the memory, the canvas view object having a data structure for storing lists of graphic component objects having images displayed on the display screen and methods for indicating view damage when displayed component images are selected and moved; (d) constructing an update object in the canvas view object, the update object including methods for repairing view damage in accordance with a predetermined policy; and (e) associating the update object with the canvas view object so that the repairing methods in the update object are called in response to the view damage signals to repair indicated view damage in a predetermined manner.
Claim 29
Independent Claim
210 words
A method for managing a plurality of graphical images in a document on a computer system having a memory and a display screen, the method comprising the steps of: (a) constructing a plurality of component objects in the memory, each of the plurality of component objects having data defining one of the plurality of graphical images and a member function responsive to the data for drawing the one graphical image on the display screen; (b) constructing a model object in the memory, the model object having a data structure therein for storing a reference to each of the plurality of component objects; (c) constructing a canvas view object in the memory, the canvas view object having a data structure for storing lists of graphic component objects having images displayed on the display screen and methods for indicating view damage when displayed component images are selected and moved; (d) constructing an update object in the canvas view object, the update object including methods for repairing view damage in accordance with a predetermined policy; and (e) associating the update object with the canvas view object so that the repairing methods in the update object are called in response to the view damage signals to repair indicated view damage in a predetermined manner.
Claim 30
Dependent Claim
73 words
The method as recited in claim 26 wherein each of the plurality of component objects includes a member function for editing the data in the each component object and a member function for selecting the data in the each component object and wherein the method further comprises the step of: (f) calling the selecting member function in one of the plurality of component objects to select one of the plurality of component objects.
Claim 31
Dependent Claim
56 words
The method as recited in claim 26 wherein the model object includes member functions for adding references to component objects to the data structure, and deleting references to component objects and step (b) comprises the step of: (b1) calling the adding member function to add references to a plurality of component objects to the model object.
Claim 32
Dependent Claim
42 words
The method as recited in claim 26 wherein the canvas view object includes data identifying a model object and wherein step (c) comprises the step of: (c1) constructing the canvas view object using data identifying the model object constructed in step (b).
Claim 33
Dependent Claim
91 words
The method as recited in claim 26 wherein the canvas object image list data includes a list of background objects that are fully behind all object currently selected, a list of foreground objects that are in front of all objects currently selected and a list of midground objects that are not in the background or foreground lists and wherein the method includes the step of: (c2) adding each of the component objects to one of the list of background objects, the list of foreground objects and the list of midground objects.
Claim 34
Dependent Claim
68 words
The method as recited in claim 26 further comprising the step of: (g) constructing a plurality of update objects in the memory, each of the plurality of update objects responsive to the canvas object image list data for redrawing a view associated with the canvas view object according to a predefined updating strategy; and (h) associating one of the plurality of update objects with the canvas view object.
Claim 35
Dependent Claim
60 words
The method as recited in claim 26 further comprising the step of: (i) constructing a grid object having data for defining a grid consisting of a plurality of lines on the display screen and a member function for displaying the grid on the display screen; and (j) inserting the grid object constructed in step (i) into the canvas view object.
Claim 36
Dependent Claim
46 words
The method as recited in claim 32 further comprising the step of: (k) constructing a snap-to object having member functions for causing a displayed point to snap to one of the plurality of grid lines; and (l) inserting the snap-to object into the canvas view object.
Claim 37
Dependent Claim
46 words
The method as recited in claim 26 wherein step (d) includes the step of: (d1) constructing a single-buffered update object having a data structure for storing a graphical image of the entire display and member functions for copying the entire display graphical image to the display.
Claim 38
Dependent Claim
54 words
The method as recited in claim 26 wherein step (d) includes the step of: (d2) constructing a double-buffered update object comprising: a background buffer containing graphic data from unselected graphic component objects; and a composite buffer containing a graphical image of the entire display for redrawing changed portions of the entire display graphical image.
Claim 39
Dependent Claim
68 words
The method as recited in claim 26 wherein step (d) includes the step of: (d3) constructing a triple-buffered update object for maintaining a background buffer which contains data from unselected graphic component objects, a foreground buffer which contains graphic image data from selected graphic component objects and a composite buffer containing a graphical image of the entire display for redrawing changed portions of the entire display graphical image.
Claim 40
Dependent Claim
36 words
The method as recited in claim 26 further comprising the step of: (l) constraining graphical images rendered on the display by one of the plurality of graphic component objects to a particular position on the display.
Claim 41
Dependent Claim
38 words
The method as recited in claim 26, including the step of: (m) constructing a constraint object which constrains graphical images rendered on the display screen by one of the plurality of graphic component objects along predetermined geometric patterns.
Claim 42
Dependent Claim
43 words
The method as recited in claim 38, wherein step (m) comprises the step of: (m1) constructing a constraint object which constrains graphical images rendered on the display screen by one of the plurality of graphic component objects along portions of a rectangular grid.
Claim 43
Dependent Claim
42 words
The method as recited in claim 38, wherein step (m) comprises the step of: (m2) constructing a constraint object which constrains graphical images rendered on the display screen by one of the plurality of graphic components along portions of a polar grid.
Claim 44
Dependent Claim
42 words
The method as recited in claim 38, wherein step (m) comprises the step of: (m3) constructing a constraint object which constrains graphical images rendered on the display screen by one of the plurality of graphic components along portions of a perspective grid.
Claim 45
Dependent Claim
44 words
The method as recited in claim 38, wherein step (m) comprises the step of: (m4) constructing a constraint object which utilizes a semantic constraint to change the appearance of a graphic image based on the position of the graphic image on the display screen.
Claim 46
Dependent Claim
59 words
The method as recited in claim 38, wherein step (m) comprises the step of: (m5) constructing a constraint object which constrains a predetermined portion of a graphical image rendered on the display, wherein the predetermined portion of the graphical image corresponds to a first one of a corner, a side, a center and a midpoint of the graphical image.
Claim 47
Dependent Claim
44 words
The method as recited in claim 38, wherein step (m) comprises the step of: (m6) constructing a constraint object which aligns a connection port of a graphical component corresponding to a graphical image rendered on the display to a predetermined position on the display.
Claim 48
Dependent Claim
77 words
The method as recited in claim 26, wherein step (a) comprises the step of: (a1) constructing a plurality of graphic component objects wherein each of the graphic component objects includes: means for providing a unique identification value to each of a plurality of selected graphical images rendered on the display; and means for storing each unique identification value in a data store object, for use in a comparison between selected ones of the plurality of graphical components.
Claim 49
Dependent Claim
58 words
The method as recited in claim 26, wherein step (a) comprises the step of: (a2) constructing a model container object having a member function responsive to commands for editing a graphic component object for creating an interactor object and a member function for passing the interactor object to the graphic component object to change the graphical data therein.
Claim 50
Dependent Claim
24 words
The method as recited in claim 46, wherein step (a2) includes the step of: (a2a) instantiating the interactor objects while a program is operational.
Claim 51
Dependent Claim
204 words
A computer program product for managing a plurality of graphical images in a document on a computer system having a memory and a display screen, the computer program product comprising a computer usable medium having computer readable program code thereon, including: (a) program code for constructing a plurality of component objects in the memory, each of the plurality of component objects having data defining one of the plurality of graphical images and a member function responsive to the data for drawing the one graphical image on the display screen; (b) program code for constructing a model object in the memory, the model object having a data structure therein for storing a reference to each of the plurality of component objects; (c) program code for constructing a canvas view object in the memory, the canvas view object having a data structure for storing lists of graphic component objects having images displayed on the display screen and methods for indicating view damage when displayed component images are selected and moved; (d) program code for creating an update object in the memory which update object has methods which redraw the view associated with the canvas view object for repairing view damage in accordance with a predetermined policy.
Claim 52
Dependent Claim
204 words
A computer program product for managing a plurality of graphical images in a document on a computer system having a memory and a display screen, the computer program product comprising a computer usable medium having computer readable program code thereon, including: (a) program code for constructing a plurality of component objects in the memory, each of the plurality of component objects having data defining one of the plurality of graphical images and a member function responsive to the data for drawing the one graphical image on the display screen; (b) program code for constructing a model object in the memory, the model object having a data structure therein for storing a reference to each of the plurality of component objects; (c) program code for constructing a canvas view object in the memory, the canvas view object having a data structure for storing lists of graphic component objects having images displayed on the display screen and methods for indicating view damage when displayed component images are selected and moved; (d) program code for creating an update object in the memory which update object has methods which redraw the view associated with the canvas view object for repairing view damage in accordance with a predetermined policy.
Claim 53
Dependent Claim
77 words
The computer program product as recited in claim 48 wherein each of the plurality of component objects includes a member function for editing the data in the each component object and a member function for selecting the data in the each component object and wherein the computer program product further includes: (f) program code for calling the selecting member function in one of the plurality of component objects to select one of the plurality of component objects.
Claim 54
Dependent Claim
66 words
The computer program product as recited in claim 48 further including: (g) program code for constructing a plurality of update objects in the memory, each of the plurality of update objects responsive to the canvas object image list data for redrawing a view associated with the canvas view object according to a predefined updating strategy different from the updating strategy used by the other update objects.
Claim 55
Dependent Claim
63 words
The computer program product as recited in claim 48 further including: (h) program code for constructing a grid object in the memory having data for defining a grid consisting of a plurality of lines on the display screen and a member function for displaying the grid on the display screen; and (i) program code inserting the grid object into the canvas view object.
Claim 56
Dependent Claim
51 words
The computer program product as recited in claim 51 further including: (j) program code for constructing a snap-to object having member functions for causing a displayed point to snap to one of the plurality of grid lines; and (k) program code for inserting the snap-to object into the canvas view object.
References Cited (Backward Citations)
US4821220A
Cited
US4885717A
Cited
US5303379A
Cited
US5261080A
Cited
US5226161A
Cited
US5206951A
Cited
US4891630A
Cited
US4953080A
Cited
US5136705A
Cited
US5041992A
Cited
US5133075A
Cited
US5050090A
Cited
US5060276A
Cited
US5125091A
Cited
US5181162A
Cited
US5093914A
Cited
US5075848A
Cited
US5255211A
Cited
US5151987A
Cited
US5119475A
Cited
US5446842A
Cited
US5388264A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-01-19 | 2001-07-21 | 2002-01-20 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-01-19 | 2005-07-21 | 2006-01-20 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-01-19 | 2009-07-21 | 2010-01-20 | $7700.00 | Window Closed / Lapsed |