A constraint extension to scalable vector graphics.pdf
文本预览下载声明
A Constraint Extension to Scalable Vector Graphics
Greg J. Badros
Jojada J. Tirtowidjojo
Kim Marriott
Bernd Meyer
Will Portnoy
Alan Borning
InfoSpace, Inc., 2801 Alaskan Way, Suite 200 Seattle, WA 98121, USA
greg.badros@
School of Computer Science and Software Engineering, Monash University, Clayton, Victoria 3168, Australia
jojada, marriott, berndm @.au
Dept. of Computer Science and Engineering, University of Washington, Box 352350, Seattle, WA 98195-2350, USA
will,borning @
Abstract
Scalable Vector Graphics (SVG) is a language that describes
two-dimensional vector graphics for storage and distribution
on the Web. Unlike raster image formats, SVG-based im-
ages scale nicely to arbitrary resolutions and sizes. However,
the current SVG standard provides little flexibility for tak-
ing into account varying viewing conditions, such as differ-
ent screen formats, and there is little support for interactive
exploration of a diagram. We introduce an extension to SVG
called Constraint Scalable Vector Graphics (CSVG) that per-
mits a more flexible description of figures. With CSVG, an
image can contain objects whose positions and other proper-
ties are specified in relation to other objects using constraints,
rather than being specified in absolute terms. For example, a
box can be specified to remain inside another box, without be-
ing given an absolute position. The precise layout can then be
left to the browser, which can adapt it dynamically to changing
viewing conditions on the client side. Further extensions add
support for alternate layouts, interaction, and declarative ani-
mation. Leveraging well-established methods for linear con-
straint solving, we implemented a prototype viewer for CSVG
by embedding our Cassowary constraint solver into an existing
SVG renderer.
Keywords: constraints, differential scaling, semantic zoom-
ing, interaction, CSVG, SVG, Scalable Vector Graphics.
1. INTRODUCTION
The Scalable Vector Graphics (SVG) language [16
显示全部