The design of most 2D graphics frameworks has been guided by what the computer can draw efficiently, instead of by how graphics can best be expressed and composed. As a result, such frameworks restrict expressivity by providing a limited set of shape primitives, a limited set of textures and only affine transformations. For example, non-affine transformations can only be added by invasive modification or complex tricks rather than by simple composition. More general frameworks exist, but they make it harder to describe and analyze shapes. We present a new declarative approach to resolution-independent 2D graphics that generalizes and simplifies the functionality of traditional frameworks, while preserving their efficiency. As a real-world example, we show the implementation of a form of focus+context lenses that gives better image quality and better performance than the state-of-the-art solution at a fraction of the code. Our approach can serve as a versatile foundation for the creation of advanced graphics and higher level frameworks.
Declarative Graphics, Design, Resolution-Independence, Optimization, Focus+context lenses
Language Classifications (acm D.3.2)
Software (theme 1)
End-user scripting for visual software analysis
Practical Aspects of Declarative Languages
Software Analysis and Transformation

van der Ploeg, A.J, & Klint, P. (2013). A Library for Declarative Resolution-Independent 2D Graphics. doi:10.1007/978-3-642-45284-0_1