Patent ID: 6057842
Filing Date: 2000-05-02
Classification: G06F

Abstract:
For use in a data processing system including a memory for storing programs and files containing data and a processor for operating on the data under control of the programs, a display layout generator for generating layouts of sets of predetermined numbers of displayable visual objects of predetermined dimensions into a display area of predetermined dimensions, comprising:a possible layouts generator forreceiving a display space definition defining the dimensions of the display area and a visual object definition defining the numbers and dimensions of the visual objects to be arranged in the display area, andgenerating all possible layouts of the visual objects in the display area byplacing in a layout a visual object and searching forward with a next visual object to identify a placement of the next visual object, andbacktracking on each next placed visual object by removing the next placed visual object and selecting and placing a different next visual object, untilall combinations of visual objects and placements of visual objects have been exhausted,a layout memory for storing each arrangement of the set of visual objects in the display area generated by the possible layouts generator,a layout test mechanism for testing each new layout by comparing each new layout with previously existing layouts to determine when the new layout has a subpopulation of a previously existing layout or matches a previously existing layout and when the previously existing layout has a subpopulation of the new layout, wherein a subpopulation is a subset of the visual objects,a layout previous/new selector for selecting the new layout or the previously existing layout by discarding the new layout when the new layout has a subpopulation of a previously existing layout or matches a previously existing layout and replacing the previously existing layout with the new layout when the previously existing layout has a subpopulation of the new layout,a layouts comparator for comparing pairs of layouts stored in the layout memory and discarding any layout that contains a subpopulation of another layout, anda layout table for storing final layouts for use in generating visual displays of the sets of visual objects in the display area.