Many thanks for sharing your code. But I wonder that yours as well as many other OpenGL toolkits is based on dglOpenGL instead of TOpenGLContext which is part of the FCL.
Afaik topenglcontrol is a separate component (in components/) and not part of the LCL, let alone the FCL)
But that doesn't matter, the reason is very visible in the original post, it can be compiled with Delphi, so unnecessary Lazarus components are avoided (besides, the codebase is older than the topenglcontrol component)
adds a lot of unnecessary dependency and incompatibility. For instance, if I want to adopt one your font classes I cannot just add it. I'd rather have to read and understand the code in order to replicate it for my project.
Well, if you think TOpenGLControl is great, port it to Delphi and have it added to dglopengl? If you want to make it universal, make sure it is available everywhere.
And having a project that is "not multiplatform" contradicts the idea of Freepascal, IMHO.
IMHO that is nonsense. The FPC packages and even RTL have many units that are only for one OS (-type). Yes, some common functionality is abstracted, but not all code (and even less, user's) should be multiplatform.
We are not Java with a state-in-a-state abstraction.
(though strictly speaking it quite portable, since many font solutions are based on ported X packages and this one is not)
Please don't read the text as an insulting. To me it's a pity that a lot of work is done for nothing.
IMHO it is a redundant since the original post made the delphi and windows usage clear. You can port it to openglcontrol and other OSes if you like/need that.
I might test multi-OS myself one day for fun, but it is not a priority. I've no interest in openglcontrol, unless it is ported, I think the pascal opengl community is too small to fragment
it unnecessarily over Delphi and FPC.