Package org.lwjgl.opengl

# Interface Drawable

All Known Implementing Classes:
  `AWTGLCanvas`, `Pbuffer`, `SharedDrawable`

public interface Drawable
The Drawable interface describes an OpenGL drawable with an associated Context.

Author:
  elias_naur

## Method Summary

Modifier and Type
Method
Description
`void`
`destroy()`
Destroys the Drawable.
`boolean`
`isCurrent()`
Returns true if the Drawable's context is current in the current thread.
`void`
`makeCurrent()`
Makes the Drawable's context current in the current thread.
`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`
`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.

## Method Details

### isCurrent

boolean isCurrent() throws LWJGLException
Returns true if the Drawable's context is current in the current thread.

Throws:
  `LWJGLException`

### makeCurrent

void makeCurrent() throws LWJGLException
Makes the Drawable's context current in the current thread.

Throws:
  `LWJGLException`

### releaseContext

void releaseContext() throws LWJGLException
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

void destroy()
Destroys the Drawable.

### setCLSharingProperties

void setCLSharingProperties(PointerBuffer properties) throws LWJGLException
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`