Package org.graphstream.ui.swing
Class SwingGraphRenderer
java.lang.Object
org.graphstream.ui.swing.SwingGraphRenderer
- All Implemented Interfaces:
org.graphstream.ui.graphicGraph.StyleGroupListener,org.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
public class SwingGraphRenderer
extends Object
implements org.graphstream.ui.view.GraphRenderer<Container,Graphics2D>, org.graphstream.ui.graphicGraph.StyleGroupListener
2D renderer.
The role of this class is to equip each style group with a specific renderer and
to call these renderer to redraw the graph when needed. The renderers then equip
each node, edge and sprite with a skeleton that gives is main geometry, then
selects a shape according to the group style. The shape will be "applied" to
each element to draw in the group. The shape will be moved and scaled according
to the skeleton.
A render pass begins by using the camera instance to set up the projection (allows
to pass from graph units to pixels, make a rotation a zoom or a translation) and
render each style group once for the shadows, and once for the real rendering
in Z order.
This class also handles a "selection" object that represents the current selection
and renders it.
The renderer uses a backend so that it can adapt to multiple rendering
targets (here Swing and OpenGL). As the shapes are finally responsible
for drawing the graph, the backend is also responsible for the shape
creation.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.graphstream.ui.view.LayerRenderer<Graphics2D>protected org.graphstream.ui.view.camera.DefaultCamera2Dstatic final Stringprotected org.graphstream.ui.view.LayerRenderer<Graphics2D>protected FPSLoggerprotected org.graphstream.ui.graphicGraph.GraphicGraphprotected Selectionprotected Backendprotected Backend -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCollection<org.graphstream.ui.graphicGraph.GraphicElement>allGraphicElementsIn(EnumSet<org.graphstream.ui.view.util.InteractiveElement> types, double x1, double y1, double x2, double y2) voidbeginSelectionAt(double x, double y) voidclose()org.graphstream.ui.view.ViewcreateDefaultView(org.graphstream.ui.view.Viewer viewer, String id) voidelementStyleChanged(org.graphstream.graph.Element element, org.graphstream.ui.graphicGraph.StyleGroup oldStyle, org.graphstream.ui.graphicGraph.StyleGroup style) protected voidendFrame()voidendSelectionAt(double x, double y) org.graphstream.ui.graphicGraph.GraphicElementfindGraphicElementAt(EnumSet<org.graphstream.ui.view.util.InteractiveElement> types, double x, double y) org.graphstream.ui.view.camera.Cameraprotected StyleRenderergetStyleRenderer(org.graphstream.ui.graphicGraph.GraphicElement element) Get (and assign if needed) the style renderer associated with the style group of the element.protected GraphBackgroundRenderergetStyleRenderer(org.graphstream.ui.graphicGraph.GraphicGraph graph) Get (and assign if needed) a style renderer to the graphic graph.protected StyleRenderergetStyleRenderer(org.graphstream.ui.graphicGraph.StyleGroup style) Get (and assign if needed) a style renderer to a style group.voidmoveElementAtPx(org.graphstream.ui.graphicGraph.GraphicElement element, double x, double y) voidprotected voidRemove all the registered renderers from the graphic graph.voidrender(Graphics2D g, int x, int y, int width, int height) protected voidprotected voidprotected voidrenderLayer(org.graphstream.ui.view.LayerRenderer<Graphics2D> renderer) Render a back or from layer.voidscreenshot(String filename, int width, int height) voidselectionGrowsAt(double x, double y) voidsetBackLayerRenderer(org.graphstream.ui.view.LayerRenderer<Graphics2D> renderer) voidsetForeLayoutRenderer(org.graphstream.ui.view.LayerRenderer<Graphics2D> renderer) protected voidSetup the graphic pipeline before drawing.protected void
-
Field Details
-
DEFAULT_RENDERER
- See Also:
-
camera
protected org.graphstream.ui.view.camera.DefaultCamera2D camera -
graph
protected org.graphstream.ui.graphicGraph.GraphicGraph graph -
selection
-
backRenderer
-
foreRenderer
-
swingBackend
-
uhdBackend
-
fpsLogger
-
-
Constructor Details
-
SwingGraphRenderer
public SwingGraphRenderer()
-
-
Method Details
-
open
- Specified by:
openin interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
close
public void close()- Specified by:
closein interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
getCamera
public org.graphstream.ui.view.camera.Camera getCamera()- Specified by:
getCamerain interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
renderingSurface
-
getStyleRenderer
protected GraphBackgroundRenderer getStyleRenderer(org.graphstream.ui.graphicGraph.GraphicGraph graph) Get (and assign if needed) a style renderer to the graphic graph. The renderer will be reused then. -
getStyleRenderer
Get (and assign if needed) a style renderer to a style group. The renderer will be reused then. -
getStyleRenderer
Get (and assign if needed) the style renderer associated with the style group of the element. -
removeRenderers
protected void removeRenderers()Remove all the registered renderers from the graphic graph. -
beginSelectionAt
public void beginSelectionAt(double x, double y) - Specified by:
beginSelectionAtin interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
selectionGrowsAt
public void selectionGrowsAt(double x, double y) - Specified by:
selectionGrowsAtin interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
endSelectionAt
public void endSelectionAt(double x, double y) - Specified by:
endSelectionAtin interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
moveElementAtPx
public void moveElementAtPx(org.graphstream.ui.graphicGraph.GraphicElement element, double x, double y) - Specified by:
moveElementAtPxin interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
render
- Specified by:
renderin interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
startFrame
protected void startFrame() -
endFrame
protected void endFrame() -
renderBackLayer
protected void renderBackLayer() -
renderForeLayer
protected void renderForeLayer() -
renderLayer
Render a back or from layer. -
setupGraphics
protected void setupGraphics()Setup the graphic pipeline before drawing. -
screenshot
- Specified by:
screenshotin interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
setBackLayerRenderer
- Specified by:
setBackLayerRendererin interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
setForeLayoutRenderer
- Specified by:
setForeLayoutRendererin interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
elementStyleChanged
public void elementStyleChanged(org.graphstream.graph.Element element, org.graphstream.ui.graphicGraph.StyleGroup oldStyle, org.graphstream.ui.graphicGraph.StyleGroup style) - Specified by:
elementStyleChangedin interfaceorg.graphstream.ui.graphicGraph.StyleGroupListener
-
createDefaultView
public org.graphstream.ui.view.View createDefaultView(org.graphstream.ui.view.Viewer viewer, String id) - Specified by:
createDefaultViewin interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
findGraphicElementAt
public org.graphstream.ui.graphicGraph.GraphicElement findGraphicElementAt(EnumSet<org.graphstream.ui.view.util.InteractiveElement> types, double x, double y) - Specified by:
findGraphicElementAtin interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-
allGraphicElementsIn
public Collection<org.graphstream.ui.graphicGraph.GraphicElement> allGraphicElementsIn(EnumSet<org.graphstream.ui.view.util.InteractiveElement> types, double x1, double y1, double x2, double y2) - Specified by:
allGraphicElementsInin interfaceorg.graphstream.ui.view.GraphRenderer<Container,Graphics2D>
-