org.diamondspin
Class DSJoglTabletopPane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLayeredPane
                  extended by javax.swing.JDesktopPane
                      extended by org.diamondspin.DSTabletopPane
                          extended by org.diamondspin.DSJoglTabletopPane
All Implemented Interfaces:
KeyListener, MouseListener, MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, DSConstants

public class DSJoglTabletopPane
extends DSTabletopPane

same as DSTabletopPane but use jogl to accelerate display

Author:
vernier
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDesktopPane
JDesktopPane.AccessibleJDesktopPane
 
Nested classes/interfaces inherited from class javax.swing.JLayeredPane
JLayeredPane.AccessibleJLayeredPane
 
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
protected  HashMap<DSFrame,com.jogamp.opengl.util.texture.Texture> frbgtex_list
           
protected  HashMap<DSFrame,com.jogamp.opengl.util.texture.Texture> frtex_list
           
protected  javax.media.opengl.GLContext glContext
           
protected  ArrayList<javax.media.opengl.GLEventListener> glListenerList
           
protected  javax.media.opengl.glu.GLU glu
           
protected  boolean joglDSTopView
           
protected  boolean joglDSView
           
protected  DSElement[] lastElems
           
protected  boolean mipmapQuality
           
protected  int NbRepaintJogl
           
protected  javax.media.opengl.GLEventListener openGLWorker
           
protected  javax.media.opengl.awt.GLCanvas panel
           
protected  javax.media.opengl.GLProfile profile
           
protected  boolean repeatBg
           
protected  HashMap<DSFrame,com.jogamp.opengl.util.texture.Texture> shtex_list
           
protected  int TEXTURE_POLICY
           
protected  long TimeStartJogl
           
protected  boolean[] updates
           
protected  HashMap<DSFrame,Boolean> updt_list
           
 
Fields inherited from class org.diamondspin.DSTabletopPane
ActionMode, activeView, AffineTransform2, angleInit, AsynchronousRepaint, BackgroundImage, BackgroundTableImage, BackgroundTableImage24, betaInit, BLACKHOLE, BTIHiddenGraphics, BTIHiddenGraphics24, DeformationMode, distInit, DoubleBuffered, DRAG_TABLE, dragObjects, dsMenuBarManager1, dsPopupMenuManager1, DSTableListenerList, DSViewEmpty, engine, facingAngle, first_repaint, HiddenBuffer, HiddenGraphics, HILL, IMG_16BITS, IMG_32BITS, MagnetAngle, Magnetid, magnetRatio, MOUSE_STABILITY, MOVE_ELEMENT, MOVE_MENU, nbDisp, NbRepaint, NbRepaintAll, NBSEC, NextAngleToFace, NORMAL, oldAngleToFace, oldTableCenter, ROTATE_TABLE, saveAngle, SavedMenubarsGraphicsTransform, SHADOW_SIZE, Squarified, startDrag, tableAngle, tableCenter, tableRadius, tableZoom, TimeStart, topScreenGraphics, topScreenImage, touchOrder, TWO_FINGERS, WAITING, ZOOM_TABLE, zoomInit
 
Fields inherited from class javax.swing.JDesktopPane
LIVE_DRAG_MODE, OUTLINE_DRAG_MODE
 
Fields inherited from class javax.swing.JLayeredPane
DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Fields inherited from interface org.diamondspin.DSConstants
COLLAGE_TOP_COLOR, COLLAGE_TOP_THICKNESS, DRAW_COLLAGE_TOP
 
Constructor Summary
DSJoglTabletopPane()
          Creates a new instance of DSJoglTabletopPane
 
Method Summary
 Component add(Component c)
          override this function to register piler and re-route call to the right thread if necessary to avoid deadlock
 void addGLEventListener(javax.media.opengl.GLEventListener listener)
           
 void demoteDragElementToTable(DSElement element)
           
 void display3dContentFrame(DS3dContentFrame fr, javax.media.opengl.GL2 gl)
          display a dsframe with a 3d content
protected  void displayDSFrame(DSFrame fr, com.jogamp.opengl.util.texture.Texture shtex, com.jogamp.opengl.util.texture.Texture frtex, com.jogamp.opengl.util.texture.Texture frbgtex, javax.media.opengl.GL2 gl)
          display a DSframe element using openGL
protected  void displayDSStroke(DSStroke str, javax.media.opengl.GL2 gl)
          display a DSframe element using openGL
 javax.media.opengl.GLContext getContext()
           
 HashMap<DSFrame,com.jogamp.opengl.util.texture.Texture> getFrontTextureList()
           
 void init(int width, int height, int bitNumber)
          Init the repaint process.
 boolean isJoglDSView()
           
 void paint(Graphics g)
           
 void paintTable(Graphics g)
          Display the view on the table using the DiamondSpin layout.
 void removeGLEventListener(javax.media.opengl.GLEventListener listener)
           
 void setActiveView(DSView view)
          change the active view of the interface
 void setDragObject(DSElement elem, int id)
          set the element on top for one of the users.
 void setJoglDSView(boolean joglDSView)
           
 
Methods inherited from class org.diamondspin.DSTabletopPane
activateDSComponents, activateDSComponents, activateFakeComponent, addDSMenuBar, addDSStrokeListener, addDSTableListener, checkElementAsEventTarget, collapseMenu, demoteAllDragElementsToTable, demoteEverythingForUser, fireStrokeFinished, fireTableEngineChanged, fireTableGrabbed, fireTableReleased, fireTableRotated, fireTableTranslated, fireTableViewChanged, fireTableZoomed, getActionMode, getActiveView, getAngleInit, getBackgroundImage, getBackgroundTableImage, getBackgroundTableImage24, getBetaInit, getCurrentUser, getDeformationMode, getDragObject, getDSMenuBar, getDSMenuBarCount, getDSMenuBarList, getDSMenuBarManager, getDSPopupMenu, getDSPopupMenuManager, getDSStrokeListener, getEngine, getFacingAngle, getGlobalAction, getIDForDragObject, getImage, getMagnetAngle, getMagnetid, getMagnetRatio, getMaxFingerCount, getMaxUserCount, getMenuAngle, getNextAngleToFace, getOldAngleToFace, getPreferredAngle, getRadius, getSaveAngle, getScale, getSelectedFrame, getTableAngle, getTableCenter, getTableZoom, getTouchOrder, getUserColor, hasAMenuBar, imageUpdate, initDoubleBuffering, isDisplayCursorForUser, isDragObject, isDSMenuBarAt, isFocusable, isMenuBarNearUser, isPerformingAction, isSquarified, keyPressed, keyReleased, keyTyped, mouseClicked, mouseClicked2, mouseDragged, mouseDragged2, mouseEntered, mouseExited, mouseMoved, mousePressed, mousePressed2, mousePressedDragObject, mouseReleased, mouseReleased2, moveToFront, newTouch, paintInterface, paintTable, removeAllDSMenuBars, removeDragObject, removeDSMenuBar, removeDSStrokeListener, removeDSTableListener, repaint, repaintAll, restoreAngle, saveAngle, scaleImageForBackground, setActionMode, setAngleInit, setAngleToFace, setBackgroundImage, setBetaInit, setDeformationMode, setDesktopManager, setDisplayCursorForUser, setEngine, setMagnetAngle, setMagnetid, setMagnetRatio, setNextAngleToFace, setOldAngleToFace, setPopupMenu, setSelectedFrame, setTableAngle, setTableCenter, setTableZoom, setUserColor, startDragTable, startRotateTable, startsStroke, startsStroke, startZoomTable, stealDragObject, transformTable2, unsetAllPopupMenus, unsetAllPopupMenusForElement, unsetPopupMenu, waitRepaintFinished
 
Methods inherited from class javax.swing.JDesktopPane
addImpl, getAccessibleContext, getAllFrames, getAllFramesInLayer, getDesktopManager, getDragMode, getUI, getUIClassID, paramString, remove, removeAll, selectFrame, setComponentZOrder, setDragMode, setUI, updateUI
 
Methods inherited from class javax.swing.JLayeredPane
getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, putLayer, setLayer, setLayer, setPosition
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, addContainerListener, 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, removeContainerListener, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

panel

protected javax.media.opengl.awt.GLCanvas panel

glu

protected javax.media.opengl.glu.GLU glu

glContext

protected javax.media.opengl.GLContext glContext

profile

protected javax.media.opengl.GLProfile profile

mipmapQuality

protected boolean mipmapQuality

TEXTURE_POLICY

protected int TEXTURE_POLICY

joglDSView

protected boolean joglDSView

joglDSTopView

protected boolean joglDSTopView

repeatBg

protected boolean repeatBg

frtex_list

protected HashMap<DSFrame,com.jogamp.opengl.util.texture.Texture> frtex_list

frbgtex_list

protected HashMap<DSFrame,com.jogamp.opengl.util.texture.Texture> frbgtex_list

shtex_list

protected HashMap<DSFrame,com.jogamp.opengl.util.texture.Texture> shtex_list

updt_list

protected HashMap<DSFrame,Boolean> updt_list

updates

protected boolean[] updates

lastElems

protected DSElement[] lastElems

TimeStartJogl

protected long TimeStartJogl

NbRepaintJogl

protected int NbRepaintJogl

openGLWorker

protected javax.media.opengl.GLEventListener openGLWorker

glListenerList

protected ArrayList<javax.media.opengl.GLEventListener> glListenerList
Constructor Detail

DSJoglTabletopPane

public DSJoglTabletopPane()
Creates a new instance of DSJoglTabletopPane

Method Detail

getFrontTextureList

public HashMap<DSFrame,com.jogamp.opengl.util.texture.Texture> getFrontTextureList()

getContext

public javax.media.opengl.GLContext getContext()

add

public final Component add(Component c)
Description copied from class: DSTabletopPane
override this function to register piler and re-route call to the right thread if necessary to avoid deadlock

Overrides:
add in class DSTabletopPane
Parameters:
c - add a compoennt in the awt component tree
Returns:
the compoenent added

addGLEventListener

public void addGLEventListener(javax.media.opengl.GLEventListener listener)

removeGLEventListener

public void removeGLEventListener(javax.media.opengl.GLEventListener listener)

init

public void init(int width,
                 int height,
                 int bitNumber)
Description copied from class: DSTabletopPane
Init the repaint process.

Overrides:
init in class DSTabletopPane
Parameters:
width - the width covered by the table
height - the height covered by the table

setDragObject

public void setDragObject(DSElement elem,
                          int id)
set the element on top for one of the users.

Overrides:
setDragObject in class DSTabletopPane
Parameters:
elem - The new dragObject value
id - The id of the user

demoteDragElementToTable

public void demoteDragElementToTable(DSElement element)
Overrides:
demoteDragElementToTable in class DSTabletopPane

paintTable

public void paintTable(Graphics g)
Description copied from class: DSTabletopPane
Display the view on the table using the DiamondSpin layout. This is the 3rd layer drawing. This layer is merged with the background which is the 4th layer.

Overrides:
paintTable in class DSTabletopPane
Parameters:
g - a graphic context on the general component = the back buffer of this component

setActiveView

public void setActiveView(DSView view)
Description copied from class: DSTabletopPane
change the active view of the interface

Overrides:
setActiveView in class DSTabletopPane
Parameters:
view - The new activeView

paint

public void paint(Graphics g)
Overrides:
paint in class DSTabletopPane

displayDSStroke

protected void displayDSStroke(DSStroke str,
                               javax.media.opengl.GL2 gl)
display a DSframe element using openGL


display3dContentFrame

public void display3dContentFrame(DS3dContentFrame fr,
                                  javax.media.opengl.GL2 gl)
display a dsframe with a 3d content

Parameters:
fr - the frame with 3d contewnt
gl - the opengl context

displayDSFrame

protected void displayDSFrame(DSFrame fr,
                              com.jogamp.opengl.util.texture.Texture shtex,
                              com.jogamp.opengl.util.texture.Texture frtex,
                              com.jogamp.opengl.util.texture.Texture frbgtex,
                              javax.media.opengl.GL2 gl)
display a DSframe element using openGL


isJoglDSView

public boolean isJoglDSView()

setJoglDSView

public void setJoglDSView(boolean joglDSView)


Copyright © 2006 Frederic Vernier(LIMSI) Chia Shen(MERL) Guillaume Besacier(LIMSI). All Rights Reserved.