Claims
- 1. A system for displaying screen information in a first and a second view, in which the first view may partially obscure a portion of the second view, leaving a non-obscured visible area of the second view, the system comprising:
- (a) a screen buffer for holding the screen information;
- (b) display adapter means for directly obtaining the screen information from the screen buffer and for displaying the screen information on a display screen controlled by the display adapter means;
- (c) a processor and an attached memory, holding a first and a second application program;
- (d) layout and alignment means responsive to layout and alignment criteria provided by a user for generating layout attributes for each of the first and second views, which layout attributes specify the positions of the first and the second view on the display screen and relative to each other;
- (e) view system means, responsive to the layout attributes, for generating a first visible area definition, designating a first portion of the screen buffer for holding screen information for the first view, and for maintaining a second visible area definition, designating a second portion of the screen buffer for holding screen information for the second view visible area;
- (f) wherein the first and second application programs each comprise
- means for obtaining a visible area definition, and
- means for directly storing screen information into a portion of the screen buffer designated by the obtained visible area definition.
- 2. The apparatus as recited in claim 1, wherein the layout an alignment criteria include resizing information, whitespace distribution in a horizontal direction and pinning information for determining where a view will be positioned and sized on the display screen.
- 3. The apparatus as recited in claim 1, wherein the layout and alignment criteria include resizing information, whitespace distribution in a vertical direction and pinning information for determining where a view will be positioned and sized on the display screen.
- 4. The apparatus as recited in claim 1 wherein the first view is generated by a first view object and the second view is generated by a second view object and the apparatus further comprises a view hierarchy means and means for inserting the first view object and the second view object into the view hierarchy means to define a relationship between the first view and the second view.
- 5. The apparatus as recited in claim 4 further comprising a first layout view object containing the layout attributes for the first view and means for inserting the first view layout object into the view hierarchy means.
- 6. The apparatus as recited in claim 5 wherein the view hierarchy means defines a view hierarchy having a plurality of levels extending from an upper level to a lower level and wherein the first view object is inserted into the view hierarchy at a first level and the first view layout object is inserted into the view hierarchy at a second level directly above the first level.
- 7. The apparatus as recited in claim 6 further comprising a second layout view object containing the layout attributes for the second view and means for inserting the second view layout object into the view hierarchy means.
- 8. The apparatus as recited in claim 7 wherein the view hierarchy means defines a view hierarchy having a plurality of levels extending from an upper level to a lower level and wherein the second view object is inserted into the view hierarchy at a third level and the second view layout object is inserted into the view hierarchy at a fourth level directly above the third level.
- 9. The apparatus as recited in claim 1 wherein the layout and alignment means comprises means for computing position information for the first view relative to the second view so that the first view and the second view are horizontally aligned.
- 10. The apparatus as recited in claim 9 wherein the layout and alignment means comprises means for computing position information for the first view relative to the second view so that the first view and the second view are horizontally aligned about a center of each view.
- 11. The apparatus as recited in claim 9 wherein the layout and alignment means comprises means for computing position information for the first view relative to the second view so that the first view and the second view are horizontally aligned about an edge of each view.
- 12. The apparatus as recited in claim 1 wherein the layout and alignment means comprises means for computing position information for the first view relative to the second view so that the first view and the second view are vertically aligned.
- 13. The apparatus as recited in claim 12 wherein the layout and alignment means comprises means for computing position information for the first view relative to the second view so that the first view and the second view are vertically aligned about a center of each view.
- 14. The apparatus as recited in claim 12 wherein the layout and alignment means comprises means for computing position information for the first view relative to the second view so that the first view and the second view are vertically aligned about an edge of each view.
- 15. A computer-implemented method of displaying in a first and a second view, screen information provided by a first and a second application program, in which the first view may partially obscure a portion of the second view leaving a non-obscured visible area of the second view, wherein the method operates on a computer system having a display screen, a screen buffer, and a display adapter that obtains screen information from the screen buffer and displays it on the display screen, the method comprising the steps of:
- (a) receiving alignment and layout criteria from a user;
- (b) creating an alignment and layout mechanism which uses the received alignment and layout criteria to generate layout attributes for each of the first and second views, which layout attributes specify the positions of the first and the second view on the display screen and relative to each other;
- (c) using the layout attributes for the first view to create a first visible area definition which defines a first storage area within the screen buffer for holding screen information for the first view;
- (d) using the layout attributes for the second view to create a second visible area definition which defines a second storage area within the screen buffer for holding screen information for the visible area of the second view;
- (e) controlling the first and second application programs to create a corresponding view object in the memory, each view object including processor instructions for obtaining one of the first and second visible area definitions and each view object including processor instructions for directly storing screen information in the screen buffer under the control of the obtained visible area definition; and
- (f) in response to user requests to change the first view, redefining the first and second visible area definitions and informing the first and second application programs of the redefined definitions so that they re-display the first and second views in accordance with the redefined definitions.
- 16. The method as recited in claim 15, wherein step (b) includes the step of
- (b.1) creating an alignment and layout mechanism that generates layout attributes based on resizing information, whitespace distribution in a horizontal direction and pinning information.
- 17. The method as recited in claim 15, wherein step (b) includes the step of
- (b.2) creating an alignment and layout mechanism that generates layout attributes based on resizing information, whitespace distribution in a vertical direction and pinning information.
- 18. The method as recited in claim 15 wherein step (e) comprises the steps of:
- (e1) generating the first view using a first view object;
- (e2) generating the second view using a second view object;
- (e3) constructing a view hierarchy; and
- (e4) inserting the first view object and the second view object into the view hierarchy means to define a relationship between the first view and the second view.
- 19. The method as recited in claim 18 wherein step (b) comprises the step of:
- (b1) constructing a first layout view object containing the layout attributes for the first view; and wherein step (e) further comprises the step of:
- (e5) inserting the first view layout object into the view hierarchy.
- 20. The method as recited in claim 19 wherein the view hierarchy means defines a view hierarchy having a plurality of levels extending from an upper level to a lower level and wherein step (e4) comprises the step of:
- (e4a) inserting the first view object into the view hierarchy at a first level and step (e5) comprises the step of:
- (e5a) inserting the first view layout object into the view hierarchy at a second level directly above the first level.
- 21. The method as recited in claim 20 wherein step (b) further comprises the step of:
- (b2) constructing a second layout view object containing the layout attributes for the second view and step (e) further comprises the step of:
- (e6) inserting the second view layout object into the view hierarchy means.
- 22. The method as recited in claim 21 wherein the view hierarchy means defines a view hierarchy having a plurality of levels extending from an upper level to a lower level and wherein step (e4) comprises the step of:
- (e4b) inserting the second view object into the view hierarchy at a third level and step (e6) comprises the step of:
- (e6a) inserting the second view layout object into the view hierarchy at a fourth level directly above the third level.
- 23. The method as recited in claim 15 wherein step (b) comprises the step of:
- (b3) computing position information for the first view relative to the second view so that the first view and the second view are horizontally aligned.
- 24. The method as recited in claim 23 wherein step (b3) comprises the step of:
- (b3a) computing position information for the first view relative to the second view so that the first view and the second view are horizontally aligned about a center of each view.
- 25. The method as recited in claim 23 wherein step (b3) comprises the step of:
- (b3b) computing position information for the first view relative to the second view so that the first view and the second view are horizontally aligned about an edge of each view.
- 26. The method as recited in claim 15 wherein step (b) comprises the step of:
- (b4) computing position information for the first view relative to the second view so that the first view and the second view are vertically aligned.
- 27. The method as recited in claim 26 wherein step (b4) comprises the step of:
- (b4a) computing position information for the first view relative to the second view so that the first view and the second view are vertically aligned about a center of each view.
- 28. The method as recited in claim 26 wherein step (b4) comprises the step of:
- (b4b) computing position information for the first view relative to the second view so that the first view and the second view are vertically aligned about an edge of each view.
CROSS REFERENCE TO RELATED PATENT APPLICATIONS
This patent application is related to the patent application entitled Object Oriented Area System, Ser. No. 08/113,442, now U.S. Pat. No. 5,428,744, entitled Object-Oriented System for Building a Graphic Image on a Display, by Richard Daniel Webb et al. filed Jun. 20, 1993, and assigned to Taligent, the disclosure of which is hereby incorporated by reference. This application is related to U.S. patent application Ser. No. 08/161,894, entitle Object-Oriented Display System.
US Referenced Citations (24)
Foreign Referenced Citations (3)
Number |
Date |
Country |
327781 |
Aug 1989 |
EPX |
413484 |
Feb 1991 |
EPX |
412924 |
Feb 1991 |
EPX |