# AWTGLCanvas (LWJGL API)
Date: 2015-07-28

## org.lwjgl.opengl
Class AWTGLCanvas

    java.lang.Object
      java.awt.Component
          java.awt.Canvas
              org.lwjgl.opengl.AWTGLCanvas

All Implemented Interfaces:
  java.awt.event.ComponentListener, java.awt.event.HierarchyListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

    public class AWTGLCanvas

extends java.awt.Canvas
implements java.awt.event.ComponentListener, java.awt.event.HierarchyListener

An AWT rendering context.

Version:
  $Revision$
Author:
  $Author$ $Id$
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class java.awt.Canvas
`java.awt.Canvas.AccessibleAWTCanvas`

Nested classes/interfaces inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

Field Summary

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`

Constructor Summary
`AWTGLCanvas()` Constructor using the default PixelFormat.
`AWTGLCanvas(java.awt.GraphicsDevice device, PixelFormat pixel_format)` Create an AWTGLCanvas with the requested PixelFormat on the default GraphicsDevice.
`AWTGLCanvas(java.awt.GraphicsDevice device, PixelFormat pixel_format, Drawable drawable)` Create an AWTGLCanvas with the requested PixelFormat on the specified GraphicsDevice.
`AWTGLCanvas(java.awt.GraphicsDevice device, PixelFormat pixel_format, Drawable drawable, ContextAttribs attribs)` Create an AWTGLCanvas with the requested PixelFormat on the specified GraphicsDevice.
`AWTGLCanvas(PixelFormat pixel_format)` Create an AWTGLCanvas with the requested PixelFormat on the default GraphicsDevice.

Method Summary
`void` `addNotify()`
`void` `checkGLError()`
`void` `componentHidden(java.awt.event.ComponentEvent e)`
`void` `componentMoved(java.awt.event.ComponentEvent e)`
`void` `componentResized(java.awt.event.ComponentEvent e)`
`void` `componentShown(java.awt.event.ComponentEvent e)`
`org.lwjgl.opengl.ContextGL` `createSharedContext()` This method should only be called internally.
`void` `destroy()` Destroy the OpenGL context.
`protected void` `exceptionOccurred(LWJGLException exception)` This method will be called if an unhandled LWJGLException occurs in paint().
`org.lwjgl.opengl.ContextGL` `getContext()` This method should only be called internally.
`PixelFormatLWJGL` `getPixelFormat()`
`void` `hierarchyChanged(java.awt.event.HierarchyEvent e)`
`void` `initContext(float r, float g, float b)`
`protected void` `initGL()` Override this to do initialising of the context.
`boolean` `isCurrent()` Returns true if the Drawable's context is current in the current thread.
`void` `makeCurrent()` Make the canvas' context current.
`void` `paint(java.awt.Graphics g)` The default paint() operation makes the context current and calls paintGL() which should be overridden to do GL operations.
`protected void` `paintGL()` Override this to do painting
`void` `releaseContext()` If the Drawable's context is current in the current thread, no context will be current after a call to this method.
`void` `removeNotify()`
`void` `setBounds(int x, int y, int width, int height)`
`void` `setCLSharingProperties(PointerBuffer properties)` Sets the appropriate khr_gl_sharing properties in the target `PointerBuffer`, so that if it is used in a `clCreateContext(FromType)` call, the created CL context will be sharing objects with this `Drawable`'s GL context.
`void` `setLocation(int x, int y)`
`void` `setLocation(java.awt.Point p)`
`void` `setPixelFormat(PixelFormatLWJGL pf)`
`void` `setPixelFormat(PixelFormatLWJGL pf, ContextAttribs attribs)`
`void` `setSize(java.awt.Dimension d)`
`void` `setSize(int width, int height)`
`void` `setSwapInterval(int swap_interval)` Set swap interval.
`void` `setVSyncEnabled(boolean enabled)` Enable vsync
`void` `swapBuffers()` Swap the canvas' buffer
`void` `update(java.awt.Graphics g)` override update to avoid clearing

Methods inherited from class java.awt.Canvas
`createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy`

Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMinimumSize, setName, setPreferredSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### AWTGLCanvas

    public AWTGLCanvas()
                throws LWJGLException

  Constructor using the default PixelFormat.

  Throws:
    `LWJGLException`

### AWTGLCanvas

    public AWTGLCanvas(PixelFormat pixel_format)
                throws LWJGLException

  Create an AWTGLCanvas with the requested PixelFormat on the default GraphicsDevice.

  Parameters:
    `pixel_format` - The desired pixel format. May not be null
  Throws:
    `LWJGLException`

### AWTGLCanvas

    public AWTGLCanvas(java.awt.GraphicsDevice device,
                       PixelFormat pixel_format)
                throws LWJGLException

  Create an AWTGLCanvas with the requested PixelFormat on the default GraphicsDevice.

  Parameters:
    `device` - the device to create the canvas on.
    `pixel_format` - The desired pixel format. May not be null
  Throws:
    `LWJGLException`

### AWTGLCanvas

    public AWTGLCanvas(java.awt.GraphicsDevice device,
                       PixelFormat pixel_format,
                       Drawable drawable)
                throws LWJGLException

  Create an AWTGLCanvas with the requested PixelFormat on the specified GraphicsDevice.

  Parameters:
    `device` - the device to create the canvas on.
    `pixel_format` - The desired pixel format. May not be null
    `drawable` - The Drawable to share context with
  Throws:
    `LWJGLException`

### AWTGLCanvas

    public AWTGLCanvas(java.awt.GraphicsDevice device,
                       PixelFormat pixel_format,
                       Drawable drawable,
                       ContextAttribs attribs)
                throws LWJGLException

  Create an AWTGLCanvas with the requested PixelFormat on the specified GraphicsDevice.

  Parameters:
    `device` - the device to create the canvas on.
    `pixel_format` - The desired pixel format. May not be null
    `drawable` - The Drawable to share context with
    `attribs` - The ContextAttribs to use when creating the context. (optional, may be null)
  Throws:
    `LWJGLException`

Method Detail

### setPixelFormat

    public void setPixelFormat(PixelFormatLWJGL pf)
                        throws LWJGLException

  Throws:
    `LWJGLException`

### setPixelFormat

    public void setPixelFormat(PixelFormatLWJGL pf,
                               ContextAttribs attribs)
                        throws LWJGLException

  Throws:
    `LWJGLException`

### getPixelFormat

    public PixelFormatLWJGL getPixelFormat()

### getContext

    public org.lwjgl.opengl.ContextGL getContext()

  This method should only be called internally.

  Returns:
    the Drawable's Context

### createSharedContext

    public org.lwjgl.opengl.ContextGL createSharedContext()
                                                   throws LWJGLException

  This method should only be called internally.

  Returns:
    a Context shared with the Drawable's Context.
  Throws:
    `LWJGLException`

### checkGLError

    public void checkGLError()

### initContext

    public void initContext(float r,
                            float g,
                            float b)

### addNotify

    public void addNotify()

  Overrides:
    `addNotify` in class `java.awt.Canvas`

### removeNotify

    public void removeNotify()

  Overrides:
    `removeNotify` in class `java.awt.Component`

### setSwapInterval

    public void setSwapInterval(int swap_interval)

  Set swap interval.

### setVSyncEnabled

    public void setVSyncEnabled(boolean enabled)

  Enable vsync

### swapBuffers

    public void swapBuffers()
                     throws LWJGLException

  Swap the canvas' buffer

  Throws:
    `LWJGLException`

### isCurrent

    public boolean isCurrent()
                      throws LWJGLException

  Description copied from interface: `Drawable`
  Returns true if the Drawable's context is current in the current thread.

  Throws:
    `LWJGLException`

### makeCurrent

    public void makeCurrent()
                     throws LWJGLException

  Make the canvas' context current. It is highly recommended that the context is only made current inside the AWT thread (for example in an overridden paintGL()).

  Throws:
    `LWJGLException`

### releaseContext

    public void releaseContext()
                        throws LWJGLException

  Description copied from interface: `Drawable`
  If the Drawable's context is current in the current thread, no context will be current after a call to this method.

  Throws:
    `LWJGLException`

### destroy

    public final void destroy()

  Destroy the OpenGL context. This happens when the component becomes undisplayable

### setCLSharingProperties

    public final void setCLSharingProperties(PointerBuffer properties)
                                      throws LWJGLException

  Description copied from interface: `Drawable`
  Sets the appropriate khr_gl_sharing properties in the target `PointerBuffer`, so that if it is used in a `clCreateContext(FromType)` call, the created CL context will be sharing objects with this `Drawable`'s GL context. After a call to this method, the target buffer position will have advanced by 2 to 4 positions, depending on the implementation.

  Parameters:
    `properties` - The target properties buffer. It must have at least 4 positions remaining.
  Throws:
    `LWJGLException`

### initGL

    protected void initGL()

  Override this to do initialising of the context. It will be called once from paint(), immediately after the context is created and made current.

### paintGL

    protected void paintGL()

  Override this to do painting

### paint

    public final void paint(java.awt.Graphics g)

  The default paint() operation makes the context current and calls paintGL() which should be overridden to do GL operations.

  Overrides:
    `paint` in class `java.awt.Canvas`

### exceptionOccurred

    protected void exceptionOccurred(LWJGLException exception)

  This method will be called if an unhandled LWJGLException occurs in paint(). Override this method to be notified of this.

  Parameters:
    `exception` - The exception that occurred.

### update

    public void update(java.awt.Graphics g)

  override update to avoid clearing

  Overrides:
    `update` in class `java.awt.Canvas`

### componentShown

    public void componentShown(java.awt.event.ComponentEvent e)

  Specified by:
    `componentShown` in interface `java.awt.event.ComponentListener`

### componentHidden

    public void componentHidden(java.awt.event.ComponentEvent e)

  Specified by:
    `componentHidden` in interface `java.awt.event.ComponentListener`

### componentResized

    public void componentResized(java.awt.event.ComponentEvent e)

  Specified by:
    `componentResized` in interface `java.awt.event.ComponentListener`

### componentMoved

    public void componentMoved(java.awt.event.ComponentEvent e)

  Specified by:
    `componentMoved` in interface `java.awt.event.ComponentListener`

### setLocation

    public void setLocation(int x,
                            int y)

  Overrides:
    `setLocation` in class `java.awt.Component`

### setLocation

    public void setLocation(java.awt.Point p)

  Overrides:
    `setLocation` in class `java.awt.Component`

### setSize

    public void setSize(java.awt.Dimension d)

  Overrides:
    `setSize` in class `java.awt.Component`

### setSize

    public void setSize(int width,
                        int height)

  Overrides:
    `setSize` in class `java.awt.Component`

### setBounds

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

  Overrides:
    `setBounds` in class `java.awt.Component`

### hierarchyChanged

    public void hierarchyChanged(java.awt.event.HierarchyEvent e)

  Specified by:
    `hierarchyChanged` in interface `java.awt.event.HierarchyListener`

Copyright © 2002-2009 lwjgl.org. All Rights Reserved.