IupGLControls (since 3.11)

OpenGL Controls Library

This library contains several controls that behave much like their standard controls counterpart such as IupLabel, IupButton, IupFrame, and so on. But they were designed to be used only embedded in an OpenGL canvas along with the application drawing. They will work and be displayed on top of the application drawing and respond to mouse events concurrently with the application mouse events.

In order to use these controls the application must use the IupGLCanvasBox controls instead of the IupGLCanvas control. Actually the IupGLCanvasBox inherits from the IupGLCanvas control so their usage is identical. But IupGLCanvasBox can have children and it will manage the display and mouse events of all its children.

All the IupGlControls visible elements that can be an embedded children of a IupGLCanvasBox are based on the IupGLSubCanvas control. Other IUP elements can also be used. It will work seemsly elements that are void containers can also be used, such as IupHbox, IupVbox, IupGridBox, and so on. IupFill can also be used, but native elements can also be placed on top although they will not be clipped by IupGLFrame and other IupGlControls containers. All functions and resources, like IupImage, are used just like any other IUP control.

These controls are drawn by IUP using OpenGL on a IupGLCanvas control, and are not native controls.

The iupglcontrols.h file must be included in the source code. If you plan to use the control in Lua, you should also include iupluaglcontrols.h.

The IupGLControlsOpen function must be called after IupOpen. To make the controls available in Lua use require"iupluaglcontrols" or manually call the initialization function in C, iupglcontrolslua_open, after calling iuplua_open.

When manually calling the function your application must be linked to the control library (iupglcontrols), the IupGLCanvas control library (iupgl), with the FTGL library, and with the OpenGL library. To use its bindings to Lua, the program must also be linked to the iupluaglcontrols library.

The FTGL library is dependent also on the GLU library and on the Freetype library. In UNIX, IupGLControls is also dependent on fontconfig

The FTGL and Freetype libraries use the licenses that are compatible with the IUP license.

Examples

Browse for Example Files