com.jogamp.newt.swt

## Class NewtCanvasSWT

- java.lang.Object
- - org.eclipse.swt.widgets.Widget
  - - org.eclipse.swt.widgets.Control
    - - org.eclipse.swt.widgets.Scrollable
      - - org.eclipse.swt.widgets.Composite
        - - org.eclipse.swt.widgets.Canvas
          - - com.jogamp.newt.swt.NewtCanvasSWT

- All Implemented Interfaces:
    WindowClosingProtocol, org.eclipse.swt.graphics.Drawable

      public class NewtCanvasSWT
      extends org.eclipse.swt.widgets.Canvas
      implements WindowClosingProtocol

  SWT `Canvas` containing a NEWT `Window` using native parenting.

  Implementation allows use of custom `GLCapabilities`.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface javax.media.nativewindow.WindowClosingProtocol

      `WindowClosingProtocol.WindowClosingMode`

  - ### Field Summary

    - ### Fields inherited from class org.eclipse.swt.widgets.Composite

      `embeddedHandle`

    - ### Fields inherited from class org.eclipse.swt.widgets.Widget

      `handle`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NewtCanvasSWT(org.eclipse.swt.widgets.Composite parent, int style, Window child)` Instantiates a NewtCanvas with a NEWT child.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static NewtCanvasSWT` | `create(org.eclipse.swt.widgets.Composite parent, int style, Window child)` Creates an instance using `NewtCanvasSWT(Composite, int, Window)` on the SWT thread.
    `void` | `dispose()` Destroys this resource: Make the NEWT Child invisible Disconnects the NEWT Child from this Canvas NativeWindow, reparent to NULL Issues `destroy()` on the NEWT Child Remove reference to the NEWT Child
    `boolean` | `forceFocus()`
    `WindowClosingProtocol.WindowClosingMode` | `getDefaultCloseOperation()`
    `NativeWindow` | `getNativeWindow()`
    `Window` | `getNEWTChild()`
    `void` | `setBounds(int x, int y, int width, int height)`
    `WindowClosingProtocol.WindowClosingMode` | `setDefaultCloseOperation(WindowClosingProtocol.WindowClosingMode op)`
    `Window` | `setNEWTChild(Window newChild)` Sets a new NEWT child, provoking reparenting.
    `boolean` | `setParent(org.eclipse.swt.widgets.Composite parent)`
    `void` | `update()`

    - ### Methods inherited from class org.eclipse.swt.widgets.Canvas

      `drawBackground, getCaret, getIME, scroll, setCaret, setFont, setIME`

    - ### Methods inherited from class org.eclipse.swt.widgets.Composite

      `changed, computeSize, drawBackground, getBackgroundMode, getChildren, getClientArea, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList`

    - ### Methods inherited from class org.eclipse.swt.widgets.Scrollable

      `computeTrim, getBorderWidth, getHorizontalBar, getScrollbarsMode, getVerticalBar`

    - ### Methods inherited from class org.eclipse.swt.widgets.Control

      `addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, dragDetect, dragDetect, getAccessible, getBackground, getBackgroundImage, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, setBackground, setBackgroundImage, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setRedraw, setRegion, setSize, setSize, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse`

    - ### Methods inherited from class org.eclipse.swt.widgets.Widget

      `addDisposeListener, addListener, getData, getData, getDisplay, getListeners, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, reskin, setData, setData, toString`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### NewtCanvasSWT

          public NewtCanvasSWT(org.eclipse.swt.widgets.Composite parent,
                       int style,
                       Window child)

      Instantiates a NewtCanvas with a NEWT child.

      Note: The NEWT child `Display`'s `EDTUtil` is being set to an SWT conform implementation via `Display.setEDTUtil(EDTUtil)`.

      Parameters:
        `parent` - the SWT composite
        `style` - additional styles to SWT#NO_BACKGROUND
        `child` - optional preassigned `#Window`, maybe null

  - ### Method Detail

    - #### create

          public static NewtCanvasSWT create(org.eclipse.swt.widgets.Composite parent,
                             int style,
                             Window child)

      Creates an instance using `NewtCanvasSWT(Composite, int, Window)` on the SWT thread.

      Note: The NEWT child `Display`'s `EDTUtil` is being set to an SWT conform implementation via `Display.setEDTUtil(EDTUtil)`.

      Parameters:
        `parent` - the SWT composite
        `style` - additional styles to SWT#NO_BACKGROUND
        `child` - optional preassigned `#Window`, maybe null
      Returns:
        a new instance

    - #### setBounds

          public void setBounds(int x,
                       int y,
                       int width,
                       int height)

      Overrides:
        `setBounds` in class `org.eclipse.swt.widgets.Control`

    - #### update

          public void update()

      Overrides:
        `update` in class `org.eclipse.swt.widgets.Control`

    - #### dispose

          public void dispose()

      Destroys this resource:
      - Make the NEWT Child invisible
      - Disconnects the NEWT Child from this Canvas NativeWindow, reparent to NULL
      - Issues `destroy()` on the NEWT Child
      - Remove reference to the NEWT Child
      Overrides:
        `dispose` in class `org.eclipse.swt.widgets.Widget`
      See Also:
        `Window.destroy()`

    - #### getNativeWindow

          public NativeWindow getNativeWindow()

      Returns:
        this SWT Canvas NativeWindow representation, may be null in case it has not been realized.

    - #### getDefaultCloseOperation

          public WindowClosingProtocol.WindowClosingMode getDefaultCloseOperation()

      Specified by:
        `getDefaultCloseOperation` in interface `WindowClosingProtocol`
      Returns:
        the current close operation value
      See Also:
        `WindowClosingProtocol.WindowClosingMode.DISPOSE_ON_CLOSE`, `WindowClosingProtocol.WindowClosingMode.DO_NOTHING_ON_CLOSE`

    - #### setDefaultCloseOperation

          public WindowClosingProtocol.WindowClosingMode setDefaultCloseOperation(WindowClosingProtocol.WindowClosingMode op)

      Specified by:
        `setDefaultCloseOperation` in interface `WindowClosingProtocol`
      Parameters:
        `op` - the new close operation value
      Returns:
        the previous close operation value
      See Also:
        `WindowClosingProtocol.WindowClosingMode.DISPOSE_ON_CLOSE`, `WindowClosingProtocol.WindowClosingMode.DO_NOTHING_ON_CLOSE`

    - #### setNEWTChild

          public Window setNEWTChild(Window newChild)

      Sets a new NEWT child, provoking reparenting.

      A previously detached `newChild` will be released to top-level status and made invisible.

      Note: When switching NEWT child's, detaching the previous first via `setNEWTChild(null)` produced much cleaner visual results.

      Note: The NEWT child `Display`'s `EDTUtil` is being set to an SWT conform implementation via `Display.setEDTUtil(EDTUtil)`.

      Returns:
        the previous attached newt child.

    - #### getNEWTChild

          public Window getNEWTChild()

      Returns:
        the current NEWT child

    - #### setParent

          public boolean setParent(org.eclipse.swt.widgets.Composite parent)

      Overrides:
        `setParent` in class `org.eclipse.swt.widgets.Control`

    - #### forceFocus

          public boolean forceFocus()

      Overrides:
        `forceFocus` in class `org.eclipse.swt.widgets.Control`

Copyright 2010 JogAmp Community.