summaryrefslogtreecommitdiffstats
path: root/src/native/jogl/MacOSXWindowSystemInterface.m
Commit message (Collapse)AuthorAgeFilesLines
* Fixed Issue 213: Expose GLCaps from GLDrawable Kenneth Russel2006-11-191-61/+101
| | | | | | | | | | | | | | | | | | | Added getChosenGLCapabilities() to the GLDrawable interface. Implemented on Windows, Unix and Mac OS X platforms with various techniques. Attempts to provide correct answers in all cases, even when the GLCapabilitiesChooser mechanism is not supported. Required addition of new platform-specific Java code in most cases to either re-convert existing PIXELFORMATDESCRIPTORS / XVisualInfos, or to query the pixel format or visual chosen for drawables like pbuffers for which the chooser mechanism is not (yet) implemented. Tested on Windows, Solaris/x86, and Mac OS X with on-screen, off-screen and pbuffer drawables. (Full support for the Java2D/JOGL bridge is not yet in place; the answer returned from the GLJPanel in this case is currently the default GLCapabilities, and it is likely that "external" GLDrawables will return null.) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@989 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed locking protocol for on-screen surfaces to only use the JAWT's Kenneth Russel2006-02-201-5/+5
| | | | | | | | | | | | | | | | | | | | | DrawingSurface locking primitives during the makeCurrent operation. While in theory the JAWT should be used for locking for the entire duration of the makeCurrent/release pair, in practice because OpenGL is orthogonal to the window system this is not really necessary, at least if higher-level locking primitives are used to make sure the window is not torn down out from under the library while OpenGL rendering is being performed. The OpenGL-related work done in GLCanvas.addNotify() and removeNotify() handles this. These changes enable simultaneous multi-head rendering on X11 systems with one OpenGL context per thread. Changed GLContext.destroy() to acquire the context's lock during the destroyImpl operation for correctness in the new protocol. Changed several Mac OS X native code entry points to not take an unnecessary NSView* argument. Tested with several demos on all platforms to stress creation and destruction of multiple kinds of OpenGL contexts. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@624 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build breakage on 10.4 after last checkinKenneth Russel2006-02-161-3/+19
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@615 232f8b59-042b-4e1e-8c03-345bb8c30851
* progress on gl pixel format enumeration mechanismGerard Ziemski2006-02-151-143/+393
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@609 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 173: Adjust gamma, brightness and contrast Kenneth Russel2006-01-221-0/+9
| | | | | | | | | | | | | Added com.sun.opengl.util.Gamma supporting adjusting of gamma, brightness, and contrast. API and implementation derived from code in the LWJGL project. Added demos.gamma.TestGamma demo illustrating how to use the APIs. Tested on Linux, Mac OS X and Windows. No Solaris support at this time, although future Solaris releases, being based on the Xorg server, will probably have support for the required XF86VidMode extension. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@557 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build breakage on 10.4 after last checkinKenneth Russel2006-01-201-6/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@554 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build breakage on 10.3 after last checkinKenneth Russel2006-01-191-0/+9
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@551 232f8b59-042b-4e1e-8c03-345bb8c30851
* add support for availability macros and use them to substitue values in case ↵Gerard Ziemski2006-01-181-11/+19
| | | | | | of nondefined ones git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@550 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build breakage after last checkin; silenced compiler warning,Kenneth Russel2006-01-181-11/+6
| | | | | | | minor cleanup git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@548 232f8b59-042b-4e1e-8c03-345bb8c30851
* clamp the passed in values to their max if necessary - fixes ↵Gerard Ziemski2006-01-181-4/+118
| | | | | | InfiniteShadowVolumes demo git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@547 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored code on Windows and X11 constructing attribute lists for Kenneth Russel2005-12-061-2/+4
| | | | | | | | | | | wglChoosePixelFormatARB / glXChooseVisual / glXChooseFBConfig to unify code paths between on-screen drawables and pbuffers. This primarily enables multisampling for pbuffers. Made small change to Mac native code to stop specifying sample buffers if multisampling is not enabled. Tested with demos on Windows and X11. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@484 232f8b59-042b-4e1e-8c03-345bb8c30851
* Merged JSR-231 branch on to the main JOGL trunk. The main trunk now Kenneth Russel2005-10-241-1/+17
| | | | | | | | contains the evolving JSR-231 Reference Implementation and the JSR-231 branch is permanently closed. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@401 232f8b59-042b-4e1e-8c03-345bb8c30851
* Made pbuffer code and in particular floating-point pbuffer code moreKenneth Russel2005-06-021-3/+11
| | | | | | | | correct on Mac OS X; problems still exist, however (very likely driver bugs) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@293 232f8b59-042b-4e1e-8c03-345bb8c30851
* Cleaned up Mac OS X context handling. Removed incorrect retain call onKenneth Russel2005-06-011-151/+144
| | | | | | | | | NSOpenGLContext. Removed NSOpenGLPFANoRecovery and NSOpenGLPFAAccelerated flags from pixel format. Added NSAutoreleasePools around Cocoa calls. Added stereo support. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@292 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed bogus test against frame size = (0,0) which was breakingKenneth Russel2005-05-241-8/+1
| | | | | | | pbuffer support on Mac OS X 10.4 git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@278 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added first-cut support for floating-point pbuffers on Mac OS XKenneth Russel2005-05-201-3/+3
| | | | | | | (untested) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@276 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed race conditions in Mac OS X onscreen context creation thatKenneth Russel2005-05-101-2/+6
| | | | | | | showed up after recent GLJPanel fix to clean up resource leaks. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@267 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 92: Platform Independent VSync functionality Kenneth Russel2005-04-241-0/+6
| | | | | | | | | Added GL.setSwapInterval() which delegates to appropriate platform-dependent routines. Must be called only from within GLEventListener callbacks. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@260 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added double-buffer argument to Mac OS X OpenGL context creationKenneth Russel2005-02-041-0/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@212 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed compiler warning in updateContextRegisterKenneth Russel2004-08-051-0/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@150 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 79: PBuffers on macintosh fail to glCopyTexSubImage2DKenneth Russel2004-04-291-92/+15
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@128 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated context creation code to unpack GLCapabilities object in JavaKenneth Russel2004-04-211-47/+21
| | | | | | | rather than in C using JNI. Added full-scene antialiasing (FSAA) support. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@113 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed debugging printfsKenneth Russel2004-03-151-4/+4
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@89 232f8b59-042b-4e1e-8c03-345bb8c30851
* Updated for OSX custom pixel format.gregorypierce2004-02-281-8/+48
| | | | | | | | | | Issue number: Obtained from: Submitted by: Gregory Pierce Reviewed by: git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@82 232f8b59-042b-4e1e-8c03-345bb8c30851
* implemented GLJPanel for Mac OS XGerard Ziemski2003-11-191-6/+11
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@74 232f8b59-042b-4e1e-8c03-345bb8c30851
* use USE_GL_TEXTURE_RECTANGLE_EXT for PBuffers - needed for GLJPanelGerard Ziemski2003-11-081-17/+36
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@72 232f8b59-042b-4e1e-8c03-345bb8c30851
* Print error messages when nsview is not a valid drawable and return NULL ↵Gerard Ziemski2003-11-041-5/+23
| | | | | | from createContext git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@70 232f8b59-042b-4e1e-8c03-345bb8c30851
* Disabling the context updater for now - not thread safe yet.Gerard Ziemski2003-10-121-0/+8
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@68 232f8b59-042b-4e1e-8c03-345bb8c30851
* Implemented PBuffers (available in >= Panther). Reimplemented window ↵Gerard Ziemski2003-10-121-87/+219
| | | | | | resizing using update listener git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@67 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added Gerard Ziemski's new sources for faster dynamic symbol lookup onKenneth Russel2003-09-051-18/+39
| | | | | | | Mac OS X. Removed workarounds for earlier JAWT bugs on OS X. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@60 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added sharing of display lists and textures among OpenGL contextsKenneth Russel2003-07-081-2/+3
| | | | | | | | | through new methods in GLDrawableFactory; GLContext has not been exposed in the public API. Tested with new simple TestContextSharing demonstration on Windows, Linux and Mac OS X. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@18 232f8b59-042b-4e1e-8c03-345bb8c30851
* Initial Mac OS X port of Jogl by Gerard Ziemski and Kenneth Russell,Kenneth Russel2003-06-261-0/+94
subsuming the previous prototype implementation (no GLCanvas support) done by Marc Downie. Added user's guide (HTML format) under doc/userguide/index.html. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@13 232f8b59-042b-4e1e-8c03-345bb8c30851