A new idea about how to handle clickability is to have Canviz request from the
server not just the
xdot representation but also the cmapx representation of the graph, both
encapsulated into a
JSON request. The image map is inserted into the document, and so is a
transparent spacer gif
which lies over the canvas. The image map is attached to the transparent spacer
image. A test of
this method can be checked out from the repository here:
http://code.google.com/p/canviz/source/browse/test/gvimagemap/
This work should probably be done in a branch as there will be several steps.
There will need to be code that re-computes the values in the image map when
the scale of the
graph is changed.
It may be desirable for the server to transform the raw cmapx (and possibly the
xdot too) into a
proper JSON representation rather than just putting the two raw formats into a
JSON wrapper.
This should reduce the amount of data that has to be sent over the wire.
Issue #11 was originally filed to support clicking, but the method focused on
implementing hit
detection code in the Path library in JavaScript. The problem is that in the
xdot draw commands,
Graphviz tells us how to draw the shape, but does not tell us its outline. For
simple shapes like
ovals these are the same, but for complex shapes they are not. Additionally,
there is no
information at all about clickable regions, of which there might be several if
HTML-like labels are
in use.
Original issue reported on code.google.com by ryandesi...@gmail.com on 26 Aug 2009 at 11:10
Original issue reported on code.google.com by
ryandesi...@gmail.com
on 26 Aug 2009 at 11:10