Method for arranging display elements
First Claim
1. An automatic method for arranging display elements on a computer screen in a display area to improve screen appearance, the display elements having preferred width to height and preferred height to width values, the method comprising the steps of:
- (a) packing elements in a row until a row is filled by compressing said row, and creating additional rows as needed until all elements are packed into a row, wherein each said element is an object instantiation of an element class type of each said element, the step of compressing a row including querying those elements supporting a query for a preferred width given a height and revising width of row based on returned preferred widths for all elements in the row, wherein said query for preferred width given a height is performed as an object method for said element class type and said element returns an answer to said query using a custom computation that depends on said element class type;
(b) stacking all rows and determining extra height available in a display area;
(c) displaying arranged elements in said display area, and (d) before or after step b, distributing extra height or width among the rows.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer display layout manager that reduces the need to hand-craft the layout of application screens is able to rearrange elements according to the shape of the available area. The automated process helps interface designers create user interfaces which work well on multiple devices and in resizeable windows. The layout manager uses height for width and width for height trade-offs to resize elements. The elements of each row or column are packed and resized according to predetermined preferred sizing criteria.
110 Citations
7 Claims
-
1. An automatic method for arranging display elements on a computer screen in a display area to improve screen appearance, the display elements having preferred width to height and preferred height to width values, the method comprising the steps of:
-
(a) packing elements in a row until a row is filled by compressing said row, and creating additional rows as needed until all elements are packed into a row, wherein each said element is an object instantiation of an element class type of each said element, the step of compressing a row including querying those elements supporting a query for a preferred width given a height and revising width of row based on returned preferred widths for all elements in the row, wherein said query for preferred width given a height is performed as an object method for said element class type and said element returns an answer to said query using a custom computation that depends on said element class type;
(b) stacking all rows and determining extra height available in a display area;
(c) displaying arranged elements in said display area, and (d) before or after step b, distributing extra height or width among the rows.
-
-
2. An automatic method for arranging display elements on a computer screen in a display area to improve screen appearance, the display elements having preferred width to height and preferred height to width values, the method comprising the steps of:
-
(a) packing elements in a row until a row is filled by compressing said row, and creating additional rows as needed until all elements are packed into a row, wherein each said element is an object instantiation of the element class type of each said element, the step of compressing a row including querying those elements supporting a query for a preferred width given a height and revising width of row based on returned preferred widths for all elements in the row;
(b) stacking all rows and determining extra height available in a display area;
(c) displaying arranged elements in said display area, and (d) prior to step b, distributing extra height or width among the rows by querying elements in a row for a preferred height for a given width and trading height for width for the elements in a row, and revising the height of each row based on returned preferred heights for all elements in the row, wherein said query for a preferred height for a given width is performed as an object method for said element class type and said element returns an answer to said query using a custom computation that depends on said element class type.
-
-
3. A machine readable medium containing code for arranging display elements on a computer screen in a display area to improve screen appearance for use with a computer having a display device, the code implement the steps of:
-
(a) packing elements in a row until a row is filled by compressing said row, and creating additional rows as needed until all elements are packed into a row, wherein each said element is an object instantiation of the element class type of each said element, the step of compressing a row including querying those elements supporting a query for a preferred width given a height and revising width of row based on returned preferred widths for all elements in the row, wherein said query for preferred width given a height is performed as an object method for said element class type and said element returns an answer to said query using a custom computation that depends on said element class type;
(b) stacking all rows and determining extra height available in display area;
(c) displaying arranged elements in said display area, and (d) before or after step b, distributing extra height or width among the rows.
-
-
4. A machine readable medium containing code for arranging display elements on a computer screen in a display area to improve screen appearance for use with a computer having a display device, the code implements the steps of:
-
(a) packing elements in a row until a row is filled by compressing said row, and creating additional rows as needed until all elements are packed into a row, wherein each said element is an object instantiation of the element class type of each said element, the step of compressing a row including querying those elements supporting a query for a preferred width given a height and revising width of a row based on returned preferred widths for all elements in the row;
(b) stacking all rows and determining extra height available in display area;
(c) displaying arranged elements in said display area, and (d) distributing width-among the rows by querying elements in a row for a preferred height for a given width and trading height for width for the elements in a row, and revising the height of each row based on returned preferred heights for all elements in the row, wherein a query for a preferred height for a given width is performed as an object method for said element class type and said element returns an answer to said query using a custom computation that depends on said element class type.
-
-
5. An automatic method for arranging display elements on a computer screen in a display area to improve screen appearance, the method comprising the steps of:
-
(a) packing elements in a line until a line is filled by compressing said line and creating additional lines, as needed, until all elements are packed into a line, wherein each said element is an object instantiation of the element class type of each said element, and wherein compressing said line includes querying those elements supporting a query for a preferred major dimension given a minor dimension and revising said major dimensions for all elements in said line wherein said query for a preferred major dimension given a minor dimension is performed as an object method for said element class type and said element returns an answer to said query using a custom computation that depends on said element class type;
(b) stacking all lines;
(c) displaying arranged elements in a display area, and (d) before or after step b, distributing extra space in the major or minor dimensions.
-
-
6. An automatic method for arranging display elements on a computer screen in a display area to improve screen appearance, the method comprising the steps of:
-
(a) packing elements in a line until a line is filled by compressing said line and creating additional lines, as needed, until all elements are packed into a line, wherein each said element is an object instantiation of the element class type of each said element, and wherein compressing said line includes querying those elements supporting a query for a preferred major dimension given a minor dimension and revising said major dimensions for all elements in said line;
(b) stacking all lines;
(c) displaying arranged elements in a display area, and (d) distributing extra space in the major dimension in lines by querying elements in a line for a preferred minor dimension for a given major dimension and trading minor dimension for major dimension for the elements in a line, revising the span of the minor dimension of each line based on returned preferred minor dimensions for all elements in the line, wherein said query for a preferred minor dimension for a given major dimension is performed as an object method for said element class type and said element returns an answer to said query using a custom computation that depends on said element class type.
-
-
7. A machine readable medium containing code for arranging display elements on a computer screen in a display area to improve screen appearance, the code implementing the steps of:
-
(a) packing elements in a line until a line is filled by compressing said line and creating additional lines, as needed, until all elements are packed into a line, wherein each said element is an object instantiation of the element class type of each said element, and wherein compressing a line includes querying those elements supporting a query for a preferred major dimension given a minor dimension and revising said major dimensions for all elements in said line, wherein said query for a preferred major dimension given a minor dimension is performed as an object method for said element class type and said element returns an answer to said query using a custom computation that depends on said element class type;
(b) stacking all lines;
(c) displaying arranged elements in a display area, and (d) before or after step b, distributing extra space in the major or minor dimensions.
-
Specification