Community
Participate
Working Groups
Build Identifier: 20110218-0911 GLCanvas cannot be occluded by fast views, it just draws happily on top of them. Reproducible: Always Steps to Reproduce: 1) Launch the IDE product including the 2 attached plugins (org.lwjgl and testcase). 2) Show the "Bug View" from the "Bug Category". The canonical spinning torus example should appear in a view. 3) Minimize another view and then reveal it such that it overlaps the bug view... the GLCanvas of the bug view keeps drawing the torus on top of the fast view.
Created attachment 193638 [details] testcase plugin to reproduce the bug
Created attachment 193639 [details] LWJGL plugin required by testcase plugin
Is this on carbon or cocoa?
Tried carbon and it works. Fails on cocoa. We have code in the carbon implementation to clip areas of the GLCanvas that are obscured. We achieve this by setting AGL_CLIP_REGION and AGL_BUFFER_RECT with a visible region we calculate ourselfs. I am not sure this can be done on cocoa.
I could not find any support equivalent to AGL_CLIP_REGION on cocoa. I played with NSOpenGLCPSwapRectangle and glScissor() to at least have a rectangular clipping, but NSOpenGLCPSwapRectangle seems to be a noop and glScissor() does not work either.
Do we need to open a radar against cocoa, or maybe cc a Mac guy?
Are we making any more headway on this? Have you been able to identify a Mac person to work with you on the issue?
After quite a bit of research I found the proper way to have cocoa views drawing over OpenGL views. http://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSOpenGLContext_Class/Reference/Reference.html#//apple_ref/doc/c_ref/NSOpenGLCPSurfaceOrder Please try the latest code and let me know if you find any issues. Fixed http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=4222a621d2928b548c2e30cc0978e442beedb1d5
Awesome work, Silenio! We owe you a beer or three next EclipseCon.
Reopenning to back port to 3.7.2.
Fixed in 3.7. branch http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?h=R3_7_maintenance&id=3ec86996bc2ac3c7912593e813a225363c01dbc0