Package org.graphstream.ui.javafx
Class FxGraphRenderer
java.lang.Object
org.graphstream.ui.javafx.FxGraphRenderer
- All Implemented Interfaces:
org.graphstream.ui.graphicGraph.StyleGroupListener,org.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
public class FxGraphRenderer extends Object implements org.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>, 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. As the shapes are finally responsible
for drawing the graph, the backend is also responsible for the shape
creation.
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_RENDERER -
Constructor Summary
Constructors Constructor Description FxGraphRenderer() -
Method Summary
Modifier and Type Method Description Collection<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)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.CameragetCamera()voidmoveElementAtPx(org.graphstream.ui.graphicGraph.GraphicElement element, double x, double y)voidopen(org.graphstream.ui.graphicGraph.GraphicGraph graph, javafx.scene.layout.Pane drawingSurface)voidrender(javafx.scene.canvas.GraphicsContext g, int x, int y, int width, int height)javafx.scene.layout.PanerenderingSurface()voidscreenshot(String filename, int width, int height)voidselectionGrowsAt(double x, double y)voidsetBackLayerRenderer(org.graphstream.ui.view.LayerRenderer<javafx.scene.canvas.GraphicsContext> renderer)voidsetForeLayoutRenderer(org.graphstream.ui.view.LayerRenderer<javafx.scene.canvas.GraphicsContext> renderer)
-
Field Details
-
DEFAULT_RENDERER
- See Also:
- Constant Field Values
-
-
Constructor Details
-
FxGraphRenderer
public FxGraphRenderer()
-
-
Method Details
-
open
public void open(org.graphstream.ui.graphicGraph.GraphicGraph graph, javafx.scene.layout.Pane drawingSurface)- Specified by:
openin interfaceorg.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
close
public void close()- Specified by:
closein interfaceorg.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
getCamera
public org.graphstream.ui.view.camera.Camera getCamera()- Specified by:
getCamerain interfaceorg.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
renderingSurface
public javafx.scene.layout.Pane renderingSurface() -
beginSelectionAt
public void beginSelectionAt(double x, double y)- Specified by:
beginSelectionAtin interfaceorg.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
selectionGrowsAt
public void selectionGrowsAt(double x, double y)- Specified by:
selectionGrowsAtin interfaceorg.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
endSelectionAt
public void endSelectionAt(double x, double y)- Specified by:
endSelectionAtin interfaceorg.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
moveElementAtPx
public void moveElementAtPx(org.graphstream.ui.graphicGraph.GraphicElement element, double x, double y)- Specified by:
moveElementAtPxin interfaceorg.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
render
public void render(javafx.scene.canvas.GraphicsContext g, int x, int y, int width, int height)- Specified by:
renderin interfaceorg.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
screenshot
- Specified by:
screenshotin interfaceorg.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
setBackLayerRenderer
public void setBackLayerRenderer(org.graphstream.ui.view.LayerRenderer<javafx.scene.canvas.GraphicsContext> renderer)- Specified by:
setBackLayerRendererin interfaceorg.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
setForeLayoutRenderer
public void setForeLayoutRenderer(org.graphstream.ui.view.LayerRenderer<javafx.scene.canvas.GraphicsContext> renderer)- Specified by:
setForeLayoutRendererin interfaceorg.graphstream.ui.view.GraphRenderer<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
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<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
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<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-
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<javafx.scene.layout.Pane,javafx.scene.canvas.GraphicsContext>
-