A Structured 2D Graphics Framework

Welcome to Piccolo2D! A revolutionary way to create robust, full-featured
graphical applications in Java and C#, with striking visual effects such as
zooming, animation and multiple representations.

Piccolo2D is a toolkit that supports the development of 2D structured graphics programs,
in general, and Zoomable User
Interfaces (ZUIs), in particular. A ZUI is a new kind of interface that presents a huge
canvas of information on a traditional computer display by letting the user smoothly zoom in,
to get more detailed information, and zoom out for an overview. We use a "scene graph" model that is common to 3D
environments. Basically, this means that Piccolo2D maintains a hierarchal structure of
objects and cameras, allowing the application developer to orient, group and manipulate
objects in meaningful ways.

Why use Piccolo2D? It will allow you to build structured graphical applications without
worrying so much about the low level details. The infrastructure provides efficient
repainting of the screen, bounds management, event handling and dispatch, picking
(determining which visual object the mouse is over), animation, layout, and more. Normally,
you would have to write all of this code from scratch. Additionally, if you want to build an
application with zooming, that's built right into the framework too.

What exactly is it? Piccolo2D is a layer built on top of a lower level graphics API. There
are currently three versions of the toolkit: Piccolo2D.Java, Piccolo2D.NET and
PocketPiccolo2D.NET (for the .NET Compact Framework). The java version is built on Java 2 and
relies on the Java2D API to do its graphics rendering. The .NET version is built on the .NET
Framework and relies on the GDI+ API to do its graphics rendering. This makes it easy for
Java and C# programmers, even those targeting PDAs, to build their own animated graphical
applications. And best of all, Piccolo2D is free and open source!