Patent ID: 8791955

Claim:
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.