Adding a Frequently Asked Questions file
[freeglut] / src / freeglut_window.c
index 58e95f4..04f0bf9 100644 (file)
 #include "freeglut_internal.h"
 
 #if defined(_WIN32_WCE)
-#include <aygshell.h>
-#pragma comment( lib, "Aygshell.lib" ) /* library pragmas are bad */
+#   include <Aygshell.h>
+#   ifdef FREEGLUT_LIB_PRAGMAS
+#       pragma comment( lib, "Aygshell.lib" )
+#   endif
 
 static wchar_t* fghWstrFromStr(const char* str)
 {
@@ -42,7 +44,6 @@ static wchar_t* fghWstrFromStr(const char* str)
     return wstr;
 }
 
-
 #endif /* defined(_WIN32_WCE) */
 
 /*
@@ -172,10 +173,10 @@ XVisualInfo* fgChooseVisual( void )
  * Setup the pixel format for a Win32 window
  */
 #if TARGET_HOST_MS_WINDOWS
-/* WRONG-- FIXME */
 /* The following include file is available from SGI but is not standard:
  *   #include <GL/wglext.h>
  * So we copy the necessary parts out of it.
+ * XXX: should local definitions for extensions be put in a separate include file?
  */
 typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
 
@@ -433,10 +434,12 @@ void fgOpenWindow( SFG_Window* window, const char* title,
             fgState.DisplayMode &= ~GLUT_DOUBLE;
         }
 
-        /*
-         * GLUT also checks for multi-sampling, but I don't see that
-         * anywhere else in FREEGLUT so I won't bother with it for the moment.
-         */
+        if( fgState.DisplayMode & GLUT_MULTISAMPLE )
+        {
+            fgState.DisplayMode &= ~GLUT_MULTISAMPLE ;
+            window->Window.VisualInfo = fgChooseVisual( );
+            fgState.DisplayMode |= GLUT_MULTISAMPLE;
+        }
     }
 
     FREEGLUT_INTERNAL_ERROR_EXIT( window->Window.VisualInfo != NULL,