Accessing the Interfaces directly
This page describes, how to write a new LCL control, using the various LCL interfaces for the platform dependent implementations.
OpenGL is a platform independent language for 3D graphics. The platform dependent part is to get a OpenGL context. Under linux/freebsd/X you use glx for that, under windows you use WGL and under MacOSX you can use AGL.
Every TWinControl has a Handle, and the LCL does not need to know, what a Handle is. The meaning of the Handle is totally up to the LCL interface:
- under gtk a Handle is often a PGtkWidget
- under windows a Handle is often a HWnd.
- under carbon a Handle is often a ControlRef
- under Qt, a Handle is often a pointer to a Qt object. For example, the Handle of a TCustomButton is a pointer to a QPushButton object.
Be aware, that you should avoid relying on any widgetset specials.