Scalable Vector Graphics (SVG) is a language developed by the World Wide Web Consortium for describing two dimensional vector graphics for storage and distribution on the Web. Unlike raster image formats, SVG-based images scale nicely to arbitrary resolutions and sizes. We introduce a constraint extension to SVG called Constraint Scalable Vector Graphics (CSVG) that permits a description of an image that is more flexible. With CSVG, an image can contain objects whose positions and other properties are linearly related to other attributes via constraints. For example, a rectangle can be specified to remain above a circle, and a line can be constrained to connect their centers. The various constraints each have a specified strength, and we use constraint hierarchy theory to determine an appropriate solution. CSVG enables better layouts of diagrams for a wider variety of viewing conditions and provides support for declaratively specified animation. We embedded our Cassowary constraint so...
Greg J. Badros, Jojada J. Tirtowidjojo, Kim Marrio