Lionel Ulmer lionel.ulmer@free.fr writes:
As almost all WGL functions have an HDC or OpenGL context argument (for those having a context argument, the corresponding HDC can easily be found). Thus one solution would be to use 'DC_GetDCPtr' to get the DC pointer and then move all these functions in the GDI function pointer table.
The problem with that is that 'DC_GetDCPtr' is already flagged as a hack and so I am bit reluctant to use it :-)
Put all HDC function in GDI itself and replace in OpenGL's spec file all of these by forwards to GDI.
Use the ExtEscape mechanism to not only get specific variables, but something akin to what DDraw does to get the HAL function pointer table and then use these pointers to do the real low level work in the WGL functions.
For the moment, I think 3) is the best. Feel free to propose other solutions :-)
I don't know, I think the current way is not so bad. It's better to export just a couple of internal things like display and drawable than a full table of functions that will be a pain to keep compatible across versions. If you really want to get rid of the escapes then I think 2) would be cleaner.