From a303cd13ff62f94a0459978735620e37d72bbb77 Mon Sep 17 00:00:00 2001
From: Kenneth Russel <kbrussel@alum.mit.edu>
Date: Sun, 19 Nov 2006 20:51:57 +0000
Subject: Fixed Issue 213: Expose GLCaps from GLDrawable

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
---
 make/stub_includes/macosx/window-system.c | 46 +++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

(limited to 'make/stub_includes/macosx/window-system.c')

diff --git a/make/stub_includes/macosx/window-system.c b/make/stub_includes/macosx/window-system.c
index f2738b454..787d265ed 100644
--- a/make/stub_includes/macosx/window-system.c
+++ b/make/stub_includes/macosx/window-system.c
@@ -1 +1,47 @@
 #include "macosx-window-system.h"
+
+/* These can not show up in the header file above because they must not be visible during the real build */
+
+/*
+** Attribute names for [NSOpenGLPixelFormat initWithAttributes]
+** and [NSOpenGLPixelFormat getValues:forAttribute:forVirtualScreen].
+*/
+typedef enum {
+	NSOpenGLPFAAllRenderers       =   1,	/* choose from all available renderers          */
+	NSOpenGLPFADoubleBuffer       =   5,	/* choose a double buffered pixel format        */
+	NSOpenGLPFAStereo             =   6,	/* stereo buffering supported                   */
+	NSOpenGLPFAAuxBuffers         =   7,	/* number of aux buffers                        */
+	NSOpenGLPFAColorSize          =   8,	/* number of color buffer bits                  */
+	NSOpenGLPFAAlphaSize          =  11,	/* number of alpha component bits               */
+	NSOpenGLPFADepthSize          =  12,	/* number of depth buffer bits                  */
+	NSOpenGLPFAStencilSize        =  13,	/* number of stencil buffer bits                */
+	NSOpenGLPFAAccumSize          =  14,	/* number of accum buffer bits                  */
+	NSOpenGLPFAMinimumPolicy      =  51,	/* never choose smaller buffers than requested  */
+	NSOpenGLPFAMaximumPolicy      =  52,	/* choose largest buffers of type requested     */
+	NSOpenGLPFAOffScreen          =  53,	/* choose an off-screen capable renderer        */
+	NSOpenGLPFAFullScreen         =  54,	/* choose a full-screen capable renderer        */
+	NSOpenGLPFASampleBuffers      =  55,	/* number of multi sample buffers               */
+	NSOpenGLPFASamples            =  56,	/* number of samples per multi sample buffer    */
+	NSOpenGLPFAAuxDepthStencil    =  57,	/* each aux buffer has its own depth stencil    */
+	NSOpenGLPFAColorFloat         =  58,	/* color buffers store floating point pixels    */
+
+	NSOpenGLPFAMultisample        =  59,    /* choose multisampling                         */
+	NSOpenGLPFASupersample        =  60,    /* choose supersampling                         */
+	NSOpenGLPFASampleAlpha        =  61,    /* request alpha filtering                      */
+
+	NSOpenGLPFARendererID         =  70,	/* request renderer by ID                       */
+	NSOpenGLPFASingleRenderer     =  71,	/* choose a single renderer for all screens     */
+	NSOpenGLPFANoRecovery         =  72,	/* disable all failure recovery systems         */
+	NSOpenGLPFAAccelerated        =  73,	/* choose a hardware accelerated renderer       */
+	NSOpenGLPFAClosestPolicy      =  74,	/* choose the closest color buffer to request   */
+	NSOpenGLPFARobust             =  75,	/* renderer does not need failure recovery      */
+	NSOpenGLPFABackingStore       =  76,	/* back buffer contents are valid after swap    */
+	NSOpenGLPFAMPSafe             =  78,	/* renderer is multi-processor safe             */
+	NSOpenGLPFAWindow             =  80,	/* can be used to render to an onscreen window  */
+	NSOpenGLPFAMultiScreen        =  81,	/* single window can span multiple screens      */
+	NSOpenGLPFACompliant          =  83,	/* renderer is opengl compliant                 */
+	NSOpenGLPFAScreenMask         =  84,	/* bit mask of supported physical screens       */
+	NSOpenGLPFAPixelBuffer        =  90,	/* can be used to render to a pbuffer           */
+	NSOpenGLPFAVirtualScreenCount = 128	/* number of virtual screens in this format     */
+} NSOpenGLPixelFormatAttribute;
+
-- 
cgit v1.2.3