Hi all,
The current OpenGL code (well, to be more precise, the current WGL code) is really X11 dependant and is only separated through hacks via ExtEscape mechanisms to get X11 specific variables.
As I never was able to find documentation about the OpenGL ICD mechanism (ie the way all this is handled in real Windows), I see three possible solutions :
1) 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 :-)
2) Put all HDC function in GDI itself and replace in OpenGL's spec file all of these by forwards to GDI.
3) 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 :-)
Lionel