Method, system, and computer-readable medium for creating and laying out a graphic within an application program
First Claim
1. A method for creating and laying out a graphic within an application program, comprising:
- receiving a data model for constructing the graphic, the data model defining a set of data and data relationships to be represented in the graphic;
receiving a graphic definition, the graphic definition describing the mapping of the data from the data model to layout nodes in a layout tree, wherein each layout node represents one or more shapes in the graphic;
determining shape properties for each shape in the graphic based at least in part on the graphic definition by utilizing one or more algorithms, wherein the one or more algorithms are based at least in part on an ordered set of two or more constraint rules, and wherein the shape properties comprise at least a shape size and a shape position for each shape in the graphic;
automatically modifying the graphic to fit in a layout space of a display by evaluating each constraint rule in succession and modifying a corresponding constraint value of at least one shape property until it is determined that the graphic fits in the layout space;
creating a shape list comprising the one or more shapes and the shape properties based on the one or more algorithms; and
providing the shape list to the application program for rendering the graphic.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, apparatus, and computer-readable medium are provided for creating and laying out a graphic within a drawing application program. The method includes receiving a data model defining a set of data and data relationships to be represented in the graphic, receiving a graphic definition describing the mapping of the data from the data model to a set of algorithms, algorithm parameters, constraints, constraint rules, and shape properties, determining a shape size and position for the layout nodes utilizing the set of algorithms, constraints, and constraint rules from the graphic definition, and creating a list of shapes and shape properties for the graphic, including size and position. The method further includes determining if the graphic fits a given layout into a specific area based on the set of constraint values and if the graphic does not fit the specific area, then modifying the set of constraint values using the constraint rules.
-
Citations
27 Claims
-
1. A method for creating and laying out a graphic within an application program, comprising:
-
receiving a data model for constructing the graphic, the data model defining a set of data and data relationships to be represented in the graphic; receiving a graphic definition, the graphic definition describing the mapping of the data from the data model to layout nodes in a layout tree, wherein each layout node represents one or more shapes in the graphic; determining shape properties for each shape in the graphic based at least in part on the graphic definition by utilizing one or more algorithms, wherein the one or more algorithms are based at least in part on an ordered set of two or more constraint rules, and wherein the shape properties comprise at least a shape size and a shape position for each shape in the graphic; automatically modifying the graphic to fit in a layout space of a display by evaluating each constraint rule in succession and modifying a corresponding constraint value of at least one shape property until it is determined that the graphic fits in the layout space; creating a shape list comprising the one or more shapes and the shape properties based on the one or more algorithms; and providing the shape list to the application program for rendering the graphic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer system, comprising:
-
at least one processing unit; and at least one memory, communicatively coupled to the at least one processing unit and containing computer-readable instructions that, when executed by the at least one processing unit, perform a method for creating and laying out a graphic, the method comprising; receiving a data model for constructing the graphic, the data model defining a set of data and data relationships to be represented in the graphic; receiving a graphic definition, the graphic definition describing the mapping of the data from the data model to layout nodes in a layout tree, wherein each layout node represents one or more shapes in the graphic; determining shape properties for each shape in the graphic based at least in part on the graphic definition by utilizing one or more algorithms, wherein the one or more algorithms are based at least in part on an ordered set of two or more constraint rules, and wherein the shape properties comprise at least a shape size and a shape position for each shape in the graphic; automatically modifying the graphic to fit in a layout space of a display by evaluating each constraint rule in succession and modifying a corresponding constraint value of at least one shape property until it is determined that the graphic fits in the layout space; creating a shape list comprising the one or more shapes and the shape properties based on the one or more algorithms; and providing the shape list to the application program for rendering the graphic. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer-readable medium having computer-executable instructions stored thereon which, when executed by a computer, will cause the computer to perform a method for creating and laying out a graphic within an application program, the method comprising:
-
receiving a data model for constructing the graphic, the data model defining a set of data and data relationships to be represented in the graphic; receiving a graphic definition, the graphic definition describing the mapping of the data from the data model to layout nodes in a layout tree, wherein each layout node represents one or more shapes in the graphic; determining shape properties for each shape in the graphic based at least in part on the graphic definition by utilizing one or more algorithms, wherein the one or more algorithms are based at least in part on an ordered set of two or more constraint rules, and wherein the shape properties comprise at least a shape size and a shape position for each shape in the graphic; automatically modifying the graphic to fit in a layout space of a display by evaluating each constraint rule in succession and modifying a corresponding constraint value of at least one shape property until it is determined that the graphic fits in the layout space; creating a shape list comprising the one or more shapes and the shape properties based on the one or more algorithms; and providing the shape list to the application program for rendering the graphic. - View Dependent Claims (24, 25, 26, 27)
-
Specification