#ifndef __iupgl_bi__
#define __iupgl_bi__

' see copyright notice at the file iup.txt
#include once "iup.bi"

#include once "GL/gl.bi"
#include once "GL/glu.bi"

#inclib "iupgl"

/'* Attributes
** To set the appropriate visual (pixel format) the following
** attributes may be specified. Their values should be set
** before the canvas is mapped to the screen.
** After mapping, changing their values has no effect.
*'/

#define IUP_BUFFER "BUFFER"
#define IUP_STEREO "STEREO"
#define IUP_BUFFER_SIZE "BUFFER_SIZE"
#define IUP_RED_SIZE "RED_SIZE"
#define IUP_GREEN_SIZE "GREEN_SIZE"
#define IUP_BLUE_SIZE "BLUE_SIZE"
#define IUP_ALPHA_SIZE "ALPHA_SIZE"
#define IUP_DEPTH_SIZE "DEPTH_SIZE"
#define IUP_STENCIL_SIZE "STENCIL_SIZE"
#define IUP_ACCUM_RED_SIZE "ACCUM_RED_SIZE"
#define IUP_ACCUM_GREEN_SIZE "ACCUM_GREEN_SIZE"
#define IUP_ACCUM_BLUE_SIZE "ACCUM_BLUE_SIZE"
#define IUP_ACCUM_ALPHA_SIZE "ACCUM_ALPHA_SIZE"
#define IUP_DOUBLE "DOUBLE"
#define IUP_SINGLE "SINGLE"
#define IUP_INDEX "INDEX"
#define IUP_RGBA "RGBA"
#define IUP_YES "YES"
#define IUP_NO "NO"

extern "C"

_DS_ IupGLCanvasOpen ()
_DF_ IupGLCanvas      (action as zstring ptr) as Ihandle ptr
_DS_ IupGLMakeCurrent (ih as Ihandle ptr)
_DF_ IupGLIsCurrent   (ih as Ihandle ptr) as integer
_DS_ IupGLSwapBuffers (ih as Ihandle ptr)
_DS_ IupGLPalette     (ih as Ihandle ptr, index as integer, r as single, g as single, b as single)
_DS_ IupGLUseFont     (ih as Ihandle ptr, first as integer, count as integer, list_base as integer)
_DS_ IupGLWait        (gl as integer)

end extern

#endif
