Module imp

Class CanvasAdapter

All Implemented Interfaces:
ViewComponent, ComponentWrapper, Selectable, Disposable, ImageObserver, Runnable
Direct Known Subclasses:
AWTCanvas2D, WireframeCanvas

public abstract class CanvasAdapter extends ViewComponentAdapter implements ImageObserver
  • Field Details

    • IDENTITY

      protected static final AffineTransform IDENTITY
    • sceneBuffer

      protected ImageAndGraphics sceneBuffer
    • antialiasing

      protected boolean antialiasing
  • Constructor Details

    • CanvasAdapter

      public CanvasAdapter()
  • Method Details

    • initCanvas

      public void initCanvas(Component canvas)
    • initView

      public void initView(View view, EventListener listener)
      Description copied from interface: ViewComponent
      Initializes this component. This method sets the view within which this view component is used to display the graph. It also sets an event listener. this has to be informed of mouse and keys events within the view component by implementations of this method.
      Specified by:
      initView in interface ViewComponent
      Overrides:
      initView in class ViewComponentAdapter
      Parameters:
      view - the containing view
      listener - mouse and key events will be reported to this listener
    • optionValueChanged

      protected void optionValueChanged(String name, Object object)
      Overrides:
      optionValueChanged in class ViewComponentAdapter
    • getObserverForRenderer

      protected ImageObserver getObserverForRenderer()
      Description copied from class: ViewComponentAdapter
      Returns an observer which receives the information about the rendered image from a Renderer. The returned observer has to manage the drawing of the (partially) rendered image on the view component.
      Specified by:
      getObserverForRenderer in class ViewComponentAdapter
      Returns:
      an observer receiving the image, or null if this is not supported by this component
    • checkBuffers

      protected void checkBuffers()
    • initRender

      protected void initRender(int flags)
      Description copied from class: ViewComponentAdapter
      Performs initialization tasks in preparation for rendering. This method is invoked by ViewComponentAdapter.run() in this ViewComponent's own thread.
      Specified by:
      initRender in class ViewComponentAdapter
      Parameters:
      flags - combination of bit masks
    • getComponent

      public Object getComponent()
      Specified by:
      getComponent in interface ComponentWrapper
    • imageUpdate

      public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height)
      Specified by:
      imageUpdate in interface ImageObserver
    • invokeRender

      protected void invokeRender(int flags)
      Description copied from class: ViewComponentAdapter
      Invoked to perform rendering. This method is invoked by ViewComponentAdapter.run() in this ViewComponent's own thread. Its sole task is to invoke ViewComponentAdapter.invokeRenderSync(int) in the rendering thread (which may be this ViewComponent's thread, the AWT-thread, or another thread, depending on the implementation) in a write-protected context. The invocation has to be synchronously, i.e., if it is in another thread, the current thread has to wait until ViewComponentAdapter.invokeRenderSync(int) has completed.
      Specified by:
      invokeRender in class ViewComponentAdapter
      Parameters:
      flags - the flags to pass to ViewComponentAdapter.invokeRenderSync(int)
    • render

      protected void render(int flags) throws InterruptedException
      Description copied from class: ViewComponentAdapter
      Performs rendering. This method is invoked by ViewComponentAdapter.invokeRenderSync(int) in a context where Workbench.current() returns the workbench of this view.
      Specified by:
      render in class ViewComponentAdapter
      Parameters:
      flags - combination of bit masks
      Throws:
      InterruptedException - if the rendering has been interrupted
    • initPaint

      protected abstract void initPaint(int flags, int width, int height)
    • paintScene

      protected abstract void paintScene(int flags, Graphics2D g) throws InterruptedException
      Throws:
      InterruptedException
    • paintHighlight

      protected abstract void paintHighlight(int flags, Graphics2D g)
    • makeSnapshot

      public void makeSnapshot(ObjectConsumer<? super RenderedImage> callback)
      Description copied from interface: ViewComponent
      Instructs the view component to create a snapshot. The created snapshot has to be delivered to the provided callback as an instance of RenderedImage. This may happen asynchronously, i.e., in an arbitrary thread.
      Specified by:
      makeSnapshot in interface ViewComponent
      Parameters:
      callback - callback which asynchronously receives the snapshot
    • writeEPS

      public static void writeEPS(Item item, Object info, Context ctx)
    • getGraphics

      public final Graphics2D getGraphics()
    • resetGraphicsTransform

      public void resetGraphicsTransform()
    • setColor

      public abstract void setColor(Color color)
    • setColor

      public void setColor(int color)
    • setColor

      public void setColor(Tuple3f color)
    • setColor

      public void setColor(Color color, int state, boolean showSel)
    • setColor

      public void setColor(int color, int state, boolean showSel)
    • setColor

      public void setColor(Tuple3f color, int state, boolean showSel)