2009/2/20 Xavier Glattard
<xavier.glattard@free.fr>
Julien Isorce a écrit :
Hi,
I am playing with GNUstep for some hours now and I still wondering about 3 things that I discarded at start.
** 1. Using GNUstep, CGDisplayIDToOpenGLDisplayMask(kCGDirectMainDisplay) seems to be not supported.
(...)
CG* functions are Apple specific. Look for WGL similar functions on Windows, or for GLUT or SDL functions. This is not a GNUstep related issue.
** 2. CGCaptureAllDisplays and CGReleaseAllDisplays seem to be not supported on GNUstep.
(...)
This may help:
http://www.cocoadev.com/index.pl?WindowOnEveryScreen
ok I should found a workaround.
** 3. How can I check at runtime if a function is implemented by the platform backend ?
For example "setValues" is not implemented on win32:
[[self openGLContext] setValues:&swapInterval forParameter:NSOpenGLCPSwapInterval];
A call to a non-implemented method raises an exception. You may catch it. As it's only implemented by Apple a compile time check should do the job. But is this what you need ?
Once again you might have to look for WGL functions
See WGL_EXT_swap_control. This is an extension and might not be supported by some old PC hardware.
'back/Source/win32/w32_GLcontext.m' might be the place to put your changes in ;)
I found wglSwapIntervalEXT(1); but it seems to be not usefull in my case so I am just catching the exception at runtime.
Will be ok on MacOS.
Regards
- Xavier
Thx for those informations.
Julien