From Xojo Documentation

Class (inherits from RectControl)

Sets up OpenGL on all platforms and provides basic functionality. It does the basic setup of OpenGL on each platform. It's up to you to clear buffers and do all the OpenGL drawing.

Close DragOver MouseMove
Configure Error MouseWheel
ConstructContextualMenu KeyDown Open
ContextualMenuAction KeyUp Render
DragEnter MouseEnter
DragExit MouseExit

Active fa-lock-32.png Left Scope fa-lock-32.png
AutoDeactivate LockBottom TabIndex
ColorBits LockLeft TabStop
ContextHandle fa-lock-32.png LockRight Top
DepthBits LockTop Transparent
DoubleBuffer MouseCursor TrueWindow fa-lock-32.png
Enabled MouseX fa-lock-32.png Visible
Handle fa-lock-32.png MouseY fa-lock-32.png Width
Height Name Window fa-lock-32.png
HelpTag PanelIndex
Index fa-lock-32.png Parent

AcceptFileDrop Close Refresh
AcceptPictureDrop DrawInto RefreshRect
AcceptRawDataDrop Invalidate Render
AcceptTextDrop MakeCurrent SetFocus


The OpenGLSurface control and the OpenGL module are based on the OpenGLSurface plug-in from Tinrocket, LLC at

The OpenGL module contains all the OpenGL calls, functions, and constants that you will need. See for the OpenGL documentation. The online version of the Red Book for OpenGL 1.1 is available at

Additional information:

  • OpenGL uses a per-thread context.
  • All of the functions in the OpenGL module affect the current context.
  • The current OpenGL context is undefined outside of an OpenGLSurface Open, Resized or Render event.
  • OpenGLSurface.MakeCurrent can be used to make a specific OpenGLCanvas the current context.

See Also

OpenGL module.