Class CanvasSwing
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- com.jogamp.opengl.awt.GLJPanel
-
- org.jzy3d.plot3d.rendering.canvas.CanvasSwing
-
- All Implemented Interfaces:
com.jogamp.nativewindow.awt.AWTPrintLifecycle
,com.jogamp.nativewindow.NativeSurfaceHolder
,com.jogamp.nativewindow.ScalableSurface
,com.jogamp.nativewindow.WindowClosingProtocol
,com.jogamp.opengl.awt.AWTGLAutoDrawable
,com.jogamp.opengl.awt.ComponentEvents
,com.jogamp.opengl.GLAutoDrawable
,com.jogamp.opengl.GLDrawable
,com.jogamp.opengl.GLSharedContextSetter
,ImageObserver
,MenuContainer
,Serializable
,Accessible
,ICanvas
,INativeCanvas
,IScreenCanvas
public class CanvasSwing extends com.jogamp.opengl.awt.GLJPanel implements IScreenCanvas, INativeCanvas
- Author:
- Martin Pernollet
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected IAnimator
animator
protected List<ICanvasListener>
canvasListeners
protected ScheduledExecutorService
exec
protected Renderer3d
renderer
protected View
view
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface com.jogamp.nativewindow.awt.AWTPrintLifecycle
DEFAULT_PRINT_TILE_SIZE
-
Fields inherited from interface org.jzy3d.plot3d.rendering.canvas.ICanvas
ALLOW_WATCH_PIXEL_SCALE, LAST_RENDER_TIME_UNDEFINED
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
Constructor Summary
Constructors Constructor Description CanvasSwing(IChartFactory factory, org.jzy3d.plot3d.rendering.scene.Scene scene, Quality quality, com.jogamp.opengl.GLCapabilitiesImmutable glci)
Initialize a Canvas3d attached to aScene
, with a given renderingQuality
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCanvasListener(ICanvasListener listener)
void
addKeyController(Object o)
void
addMouseController(Object o)
void
dispose()
protected void
firePixelScaleChanged(double pixelScaleX, double pixelScaleY)
void
forceRepaint()
Force repaint and ensure that GL2 rendering will occur in the GUI thread, wherever the caller stands.IAnimator
getAnimation()
List<ICanvasListener>
getCanvasListeners()
String
getDebugInfo()
org.jzy3d.maths.Dimension
getDimension()
com.jogamp.opengl.GLAutoDrawable
getDrawable()
org.jzy3d.io.AWTImageExporter
getExporter()
double
getLastRenderingTimeMs()
org.jzy3d.maths.Coord2d
getPixelScale()
Pixel scale is used to model the pixel ratio thay may be introduced by HiDPI or Retina displays.org.jzy3d.maths.Coord2d
getPixelScaleJVM()
double
getPixelScaleX()
double
getPixelScaleY()
Renderer3d
getRenderer()
int
getRendererHeight()
Provide the actual renderer height for the open gl camera settings, which is obtained after a resize event.int
getRendererWidth()
Provide the actual renderer width for the open gl camera settings, which is obtained after a resize event.View
getView()
Provide a reference to the View that renders into this canvas.boolean
isNative()
void
removeCanvasListener(ICanvasListener listener)
void
removeKeyController(Object o)
void
removeMouseController(Object o)
com.jogamp.opengl.util.texture.TextureData
screenshot()
void
screenshot(File file)
void
setExporter(org.jzy3d.io.AWTImageExporter exporter)
void
setPixelScale(float[] scale)
protected void
watchPixelScale()
-
Methods inherited from class com.jogamp.opengl.awt.GLJPanel
addGLEventListener, addGLEventListener, addNotify, areAllGLEventListenerInitialized, createContext, destroy, display, dispose, disposeGLEventListener, flushGLRunnables, getAnimator, getAutoSwapBufferMode, getChosenGLCapabilities, getContext, getContextCreationFlags, getCurrentSurfaceScale, getCustomPixelBufferProvider, getDefaultCloseOperation, getDelegatedDrawable, getExclusiveContextThread, getFactory, getGL, getGLEventListener, getGLEventListenerCount, getGLEventListenerInitState, getGLProfile, getHandle, getMaximumSurfaceScale, getMinimumSurfaceScale, getNativeSurface, getRequestedGLCapabilities, getRequestedSurfaceScale, getSkipGLOrientationVerticalFlip, getSurfaceHeight, getSurfaceWidth, getTextureUnit, getThreadName, getUpstreamLock, getUpstreamWidget, initializeBackend, invoke, invoke, isGLOriented, isRealized, isThreadGLCapable, paintComponent, print, printComponent, releasePrint, removeGLEventListener, removeNotify, reshape, setAnimator, setAutoSwapBufferMode, setContext, setContextCreationFlags, setDefaultCloseOperation, setExclusiveContextThread, setGL, setGLEventListenerInitState, setOpaque, setPixelBufferProvider, setRealized, setRequestedGLCapabilities, setSharedAutoDrawable, setSharedContext, setSkipGLOrientationVerticalFlip, setSurfaceScale, setTextureUnit, setupPrint, shouldPreserveColorBufferIfTranslucent, swapBuffers, toString
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, printAll, printBorder, printChildren, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.jogamp.opengl.awt.ComponentEvents
addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener
-
Methods inherited from interface org.jzy3d.plot3d.rendering.canvas.ICanvas
setPixelScale
-
Methods inherited from interface org.jzy3d.plot3d.rendering.canvas.IScreenCanvas
display
-
-
-
-
Field Detail
-
view
protected View view
-
renderer
protected Renderer3d renderer
-
animator
protected IAnimator animator
-
canvasListeners
protected List<ICanvasListener> canvasListeners
-
exec
protected ScheduledExecutorService exec
-
-
Constructor Detail
-
CanvasSwing
public CanvasSwing(IChartFactory factory, org.jzy3d.plot3d.rendering.scene.Scene scene, Quality quality, com.jogamp.opengl.GLCapabilitiesImmutable glci)
Initialize a Canvas3d attached to aScene
, with a given renderingQuality
.
-
-
Method Detail
-
watchPixelScale
protected void watchPixelScale()
-
getLastRenderingTimeMs
public double getLastRenderingTimeMs()
- Specified by:
getLastRenderingTimeMs
in interfaceICanvas
-
setPixelScale
public void setPixelScale(float[] scale)
- Specified by:
setPixelScale
in interfaceICanvas
-
getPixelScale
public org.jzy3d.maths.Coord2d getPixelScale()
Pixel scale is used to model the pixel ratio thay may be introduced by HiDPI or Retina displays.- Specified by:
getPixelScale
in interfaceICanvas
-
getPixelScaleJVM
public org.jzy3d.maths.Coord2d getPixelScaleJVM()
- Specified by:
getPixelScaleJVM
in interfaceICanvas
-
getPixelScaleX
public double getPixelScaleX()
-
getPixelScaleY
public double getPixelScaleY()
-
getAnimation
public IAnimator getAnimation()
- Specified by:
getAnimation
in interfaceIScreenCanvas
-
forceRepaint
public void forceRepaint()
Force repaint and ensure that GL2 rendering will occur in the GUI thread, wherever the caller stands.- Specified by:
forceRepaint
in interfaceICanvas
-
screenshot
public void screenshot(File file) throws IOException
- Specified by:
screenshot
in interfaceICanvas
- Throws:
IOException
-
screenshot
public com.jogamp.opengl.util.texture.TextureData screenshot()
- Specified by:
screenshot
in interfaceICanvas
- Specified by:
screenshot
in interfaceINativeCanvas
-
getDrawable
public com.jogamp.opengl.GLAutoDrawable getDrawable()
- Specified by:
getDrawable
in interfaceINativeCanvas
-
getView
public View getView()
Provide a reference to the View that renders into this canvas.
-
getRendererWidth
public int getRendererWidth()
Provide the actual renderer width for the open gl camera settings, which is obtained after a resize event.- Specified by:
getRendererWidth
in interfaceICanvas
-
getRendererHeight
public int getRendererHeight()
Provide the actual renderer height for the open gl camera settings, which is obtained after a resize event.- Specified by:
getRendererHeight
in interfaceICanvas
-
getDimension
public org.jzy3d.maths.Dimension getDimension()
- Specified by:
getDimension
in interfaceICanvas
-
getRenderer
public Renderer3d getRenderer()
- Specified by:
getRenderer
in interfaceINativeCanvas
-
getDebugInfo
public String getDebugInfo()
- Specified by:
getDebugInfo
in interfaceICanvas
-
addMouseController
public void addMouseController(Object o)
- Specified by:
addMouseController
in interfaceICanvas
-
addKeyController
public void addKeyController(Object o)
- Specified by:
addKeyController
in interfaceICanvas
-
removeMouseController
public void removeMouseController(Object o)
- Specified by:
removeMouseController
in interfaceICanvas
-
removeKeyController
public void removeKeyController(Object o)
- Specified by:
removeKeyController
in interfaceICanvas
-
addCanvasListener
public void addCanvasListener(ICanvasListener listener)
- Specified by:
addCanvasListener
in interfaceICanvas
-
removeCanvasListener
public void removeCanvasListener(ICanvasListener listener)
- Specified by:
removeCanvasListener
in interfaceICanvas
-
getCanvasListeners
public List<ICanvasListener> getCanvasListeners()
- Specified by:
getCanvasListeners
in interfaceICanvas
-
firePixelScaleChanged
protected void firePixelScaleChanged(double pixelScaleX, double pixelScaleY)
-
getExporter
public org.jzy3d.io.AWTImageExporter getExporter()
-
setExporter
public void setExporter(org.jzy3d.io.AWTImageExporter exporter)
-
-