26-05-2007, 01:31 PM
This demo shows how to implement sematic zooming - label rendering which reacts on how close/far the user zooms into/out of the graph.
Based on a solution by Jeffrey posted in the prefuse forum
http://sourceforge.net/forum/message.php?msg_id=3349056
In this demo, the renderer changes when the user zooms out far enough. (scale < 0.77)
The RenderFactory used in this demo
Based on a solution by Jeffrey posted in the prefuse forum
http://sourceforge.net/forum/message.php?msg_id=3349056
In this demo, the renderer changes when the user zooms out far enough. (scale < 0.77)
The RenderFactory used in this demo
Code:
public class MyRendererFactory extends DefaultRendererFactory {
private Display display;
public MyRendererFactory(LabelRenderer lr,Display disp) {
super(lr);
this.display = disp;
}
public Renderer getRenderer(VisualItem item) {
if (item.isInGroup(edges) || display.getScale() > 0.76)
return super.getRenderer(item);
else
return new ShapeRenderer(26);
}
}