Interface IPainterFactory

All Known Implementing Classes:
AWTPainterFactory, DepthPeelingPainterFactory, EmulGLPainterFactory, FallbackPainterFactory, GraphWindowFactory, JavaFXOffscreenPainterFactory, JavaFXSwingPainterFactory, NativePainterFactory, NewtPainterFactory, OffscreenWindowFactory, SwingPainterFactory, SWTBridgePainterFactory, SWTPainterFactory

public interface IPainterFactory
An IPainterFactory provides all Windowing toolkit dependent objects. It is a sub factory of IChartFactory and hence allows porting charts to any windowing toolkit by setting IChartFactory.setPainterFactory(IPainterFactory). The two main IPainterFactory are NativePainterFactory and EmulGLPainterFactory which enable a IChartFactory for native or software rendering. Each of these factories may be further overriden to cover a specific windowind toolkit (AWT, NEWT, etc). The IPainterFactory provides the following objects : The IPainter itself allows flipping between native rendering (
invalid @link
NativeDesktopPainter
) and software rendering (
invalid @link
EmulGLPainter
). Following interfaces allows flipping between native or software AWT, NEWT, SWT, Swing, JavaFX: The IAnimator allows flipping between native or software continuous rendering.
Author:
Martin Pernollet
  • Method Details

    • newPainter

      IPainter newPainter()
    • newViewOverlay

      IViewOverlay newViewOverlay()
    • newViewportLayout

      IViewportLayout newViewportLayout()
    • newSymbolHandler

      SymbolHandler newSymbolHandler(IImageWrapper image)
    • newCanvas

      ICanvas newCanvas(IChartFactory factory, Scene scene, Quality quality)
    • newAnimator

      IAnimator newAnimator(ICanvas canvas)
    • newMouseCameraController

      ICameraMouseController newMouseCameraController(Chart chart)
    • newMousePickingController

      IMousePickingController newMousePickingController(Chart chart, int clickWidth)
    • newKeyboardCameraController

      ICameraKeyController newKeyboardCameraController(Chart chart)
    • newKeyboardScreenshotController

      IScreenshotKeyController newKeyboardScreenshotController(Chart chart)
    • newFrame

      IFrame newFrame(Chart chart)
    • newFrame

      IFrame newFrame(Chart chart, Rectangle bounds, String title)
    • setChartFactory

      void setChartFactory(IChartFactory factory)
    • getChartFactory

      IChartFactory getChartFactory()
    • isOffscreen

      boolean isOffscreen()
    • setOffscreenDisabled

      void setOffscreenDisabled()
    • setOffscreen

      void setOffscreen(int width, int height)
      The size of the offscreen chart dimension. Native implementation will really make the chart offscreen. EmulGL will configure the chart for offscreen rendering but won't prevent to open the chart. Note that if the chart is opened on an HiDPI screen, further screenshot may be bigger than expected due to pixel scale capabilities discovered only once the component is rendered on a screen.
      Parameters:
      width -
      height -
    • setOffscreen

      void setOffscreen(Rectangle rectangle)
    • getOffscreenDimension

      Dimension getOffscreenDimension()
    • isDebugGL

      boolean isDebugGL()
    • setDebugGL

      void setDebugGL(boolean debugGL)
      If true, will let GL trigger
      invalid @link
      GLException
      if an error occur in OpenGL which ease debugging. Default is false.