Jeffrey Guenther wrote:

> I work on a research project called CZSaw. It is a visual analytics tool for
> text analysis. We need a pan/zoom library that supports Swing components,
> handles Java events in a standard way, and plays well with Graphics2D.
>
> I have been digging through Piccolo's API and I have been noticing what
> seems to be a lot of code that duplicates stuff provided by Graphics2D. Ie.
> graphics contexts? Lines, shapes, etc? Also, as best as I can tell Piccolo
> implements its own event system that does not play well with Swing events.
> Would the developers be able to tell me the design rationale for doing
> things this way? Is it a legacy issue? Ie. Graphics2D and things didn't
> exist when it was being written. Is it technical issue?

Piccolo2D implements a scene graph for zoomable user interfaces (ZUI)
and is based on HCI research at UMD.  Much of the design rationale for
Piccolo2D is discussed in the following paper and references therein

Toolkit design for interactive structured graphics

http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.4155
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1316870
http://ssltest.cs.umd.edu/hcil/piccolo/learn/Toolkit_Design_2004.pdf


> Why are PNodes not JComponents and handled by the Swing EDT?

PCanvas is a JComponent.

There are also non-Swing top level containers, such as
POffscreenCanvas and PSWTCanvas, and a separate Piccolo2D library for
Processing

https://github.com/heuermh/piccolo2d-processing


> I really want to avoid rolling my own library and would like to modify
> Piccolo2D to meet our needs if possible.

Sounds great, welcome.

   michael

-- 
Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en

Reply via email to