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, the method comprising:
- receiving a data model, the data model defining a set of data and data relationships to be represented in the graphic to be rendered;
receiving a graphic definition, the graphic definition describing patterns for applying algorithms, the algorithms comprising layout routines for positioning shapes in the graphic to be rendered within the application program;
determining whether the graphic to be rendered fits a layout space of the application program based on constraint values; and
when the graphic to be rendered does not fit the layout space, modifying the constraint values using constraint rules to fit the graphic into the layout space, the constraint rules comprising an ordered set of more than two constraint rules, wherein modifying the constraint values using the constraint rules comprises;
trying each rule of the ordered set of more than two constraint rules in succession, andwhen a current constraint rule allows the graphic to fit within the layout space, not moving to the next constraint rule.
1 Assignment
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
20 Claims
-
1. A method for creating and laying out a graphic within an application program, the method comprising:
-
receiving a data model, the data model defining a set of data and data relationships to be represented in the graphic to be rendered; receiving a graphic definition, the graphic definition describing patterns for applying algorithms, the algorithms comprising layout routines for positioning shapes in the graphic to be rendered within the application program; determining whether the graphic to be rendered fits a layout space of the application program based on constraint values; and when the graphic to be rendered does not fit the layout space, modifying the constraint values using constraint rules to fit the graphic into the layout space, the constraint rules comprising an ordered set of more than two constraint rules, wherein modifying the constraint values using the constraint rules comprises; trying each rule of the ordered set of more than two constraint rules in succession, and when a current constraint rule allows the graphic to fit within the layout space, not moving to the next constraint rule. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device for creating and laying out a graphic within a drawing application, the computing device comprising:
-
a memory; a processor coupled to the memory capable of executing the drawing application, the drawing application configured to; receive a data model defining a set of data and data relationships to be represented in the graphic, the set of data and data relationships determining a type and a number of each layout node in a layout tree for the graphic; receive a graphic definition describing at least one instance of mapping of the set of data from the data model to layout nodes of the layout tree and providing patterns for applying algorithms to lay out shapes for the graphic, the algorithms using constraints, constraint rules, starting values, and instructions for altering the starting values within a range to determine a size and a position of the shapes forming the graphic based on a number of the shapes, amount of text within each shape, and dimensions of the area in which the shapes are to be laid out; determine whether the graphic to be rendered fits a layout space in the drawing application based on constraint values; when the graphic to be rendered does not fit the layout space, modify the constraint values using the constraint rules to fit the graphic into the layout space, wherein the constraint rules comprise more than two constraint rules, wherein the constraint rules are ordered, modifying the constraint values comprising; traversing the ordered constraint rules in succession; and when a current constraint rule allows the graphic to fit within the layout space, not moving to the next constraint rule; and a display device for displaying the rendered graphic within the layout space. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer-readable storage device having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to perform a method for creating and laying out a graphic within an application program, the method executed but the instructions comprising:
-
receiving a data model defining data and data relationships to be represented in the graphic and a graphic definition describing patterns of mapping of the data from the data model to layout nodes of a layout tree, the patterns comprising algorithms for laying out shapes and text within the graphic based on the set of data and data relationships to be represented and at least one of the following;
a number of the shapes, amount of text within each shape, and dimensions of the area in which the shapes are to be laid out;generating the layout tree based on the data model and patterns specified in the graphic definition, the layout tree containing data about shapes forming the graphic to be rendered; providing a tool, within the application program, configured to perform without changing a layout framework at least one of the following; altering at least one parameter of the algorithms, and adding at least one additional algorithm to the graphic definition; determining whether the graphic to be rendered fits a layout space on a drawing canvas; when the graphic to be rendered fits the layout space; creating a shape list of the shapes and the shape properties for the graphic based on the algorithms; and providing the shape list to the application program for rendering the graphic; when the graphic to be rendered does not fit the layout space; creating the shape list of the shapes and the shape properties by modifying the constraint values, wherein modifying the constraint values comprises; traversing, in succession, an ordered set of more than two constraint rules for modifying the constraint values; and when a current constraint rule allows the graphic to fit in the layout space, not moving to the next constraint rule; and providing the shape list based on the modified constraint values to the application program for rendering the graphic. - View Dependent Claims (18, 19, 20)
-
Specification