implemented SUPER key/modifier support on windows
[freeglut] / src / fg_ext.c
index a9a8a11..0ddb560 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * freeglut_ext.c
+ * fg_ext.c
  *
  * Functions related to OpenGL extensions.
  *
@@ -86,6 +86,7 @@ static GLUTproc fghGetGLUTProcAddress( const char* procName )
     CHECK_NAME(glutDetachMenu);
     CHECK_NAME(glutDisplayFunc);
     CHECK_NAME(glutReshapeFunc);
+    CHECK_NAME(glutPositionFunc);
     CHECK_NAME(glutKeyboardFunc);
     CHECK_NAME(glutMouseFunc);
     CHECK_NAME(glutMultiEntryFunc);
@@ -124,26 +125,38 @@ static GLUTproc fghGetGLUTProcAddress( const char* procName )
     CHECK_NAME(glutBitmapWidth);
     CHECK_NAME(glutStrokeCharacter);
     CHECK_NAME(glutStrokeWidth);
+    CHECK_NAME(glutStrokeWidthf);
     CHECK_NAME(glutBitmapLength);
     CHECK_NAME(glutStrokeLength);
+    CHECK_NAME(glutStrokeLengthf);
     CHECK_NAME(glutWireSphere);
     CHECK_NAME(glutSolidSphere);
     CHECK_NAME(glutWireCone);
     CHECK_NAME(glutSolidCone);
-    CHECK_NAME(glutWireCube);
-    CHECK_NAME(glutSolidCube);
     CHECK_NAME(glutWireTorus);
     CHECK_NAME(glutSolidTorus);
-    CHECK_NAME(glutWireDodecahedron);
-    CHECK_NAME(glutSolidDodecahedron);
+    CHECK_NAME(glutWireCylinder);
+    CHECK_NAME(glutSolidCylinder);
     CHECK_NAME(glutWireTeapot);
     CHECK_NAME(glutSolidTeapot);
+    CHECK_NAME(glutWireTeacup);
+    CHECK_NAME(glutSolidTeacup);
+    CHECK_NAME(glutWireTeaspoon);
+    CHECK_NAME(glutSolidTeaspoon);
+    CHECK_NAME(glutWireCube);
+    CHECK_NAME(glutSolidCube);
+    CHECK_NAME(glutWireDodecahedron);
+    CHECK_NAME(glutSolidDodecahedron);
     CHECK_NAME(glutWireOctahedron);
     CHECK_NAME(glutSolidOctahedron);
     CHECK_NAME(glutWireTetrahedron);
     CHECK_NAME(glutSolidTetrahedron);
     CHECK_NAME(glutWireIcosahedron);
     CHECK_NAME(glutSolidIcosahedron);
+    CHECK_NAME(glutWireRhombicDodecahedron);
+    CHECK_NAME(glutSolidRhombicDodecahedron);
+    CHECK_NAME(glutWireSierpinskiSponge);
+    CHECK_NAME(glutSolidSierpinskiSponge);
     CHECK_NAME(glutVideoResizeGet);
     CHECK_NAME(glutSetupVideoResizing);
     CHECK_NAME(glutStopVideoResizing);
@@ -161,6 +174,7 @@ static GLUTproc fghGetGLUTProcAddress( const char* procName )
     CHECK_NAME(glutMenuDestroyFunc);
     CHECK_NAME(glutFullScreenToggle);
     CHECK_NAME(glutLeaveFullScreen);
+    CHECK_NAME(glutSetMenuFont);
     CHECK_NAME(glutSetOption);
     CHECK_NAME(glutGetModeValues);
     CHECK_NAME(glutSetWindowData);
@@ -171,12 +185,6 @@ static GLUTproc fghGetGLUTProcAddress( const char* procName )
     CHECK_NAME(glutStrokeHeight);
     CHECK_NAME(glutBitmapString);
     CHECK_NAME(glutStrokeString);
-    CHECK_NAME(glutWireRhombicDodecahedron);
-    CHECK_NAME(glutSolidRhombicDodecahedron);
-    CHECK_NAME(glutWireSierpinskiSponge);
-    CHECK_NAME(glutSolidSierpinskiSponge);
-    CHECK_NAME(glutWireCylinder);
-    CHECK_NAME(glutSolidCylinder);
     CHECK_NAME(glutGetProcAddress);
     CHECK_NAME(glutMouseWheelFunc);
     CHECK_NAME(glutJoystickGetNumAxes);
@@ -197,6 +205,51 @@ static GLUTproc fghGetGLUTProcAddress( const char* procName )
     CHECK_NAME(glutInitContextProfile);
     CHECK_NAME(glutInitErrorFunc);
     CHECK_NAME(glutInitWarningFunc);
+    CHECK_NAME(glutInitContextFunc);
+    CHECK_NAME(glutAppStatusFunc);
+    CHECK_NAME(glutSetVertexAttribCoord3);
+    CHECK_NAME(glutSetVertexAttribNormal);
+    CHECK_NAME(glutSetVertexAttribTexCoord2);
+
+    /* freeglut user callback functions */
+    CHECK_NAME(glutCreateMenuUcall);
+    CHECK_NAME(glutTimerFuncUcall);
+    CHECK_NAME(glutIdleFuncUcall);
+    CHECK_NAME(glutKeyboardFuncUcall);
+    CHECK_NAME(glutSpecialFuncUcall);
+    CHECK_NAME(glutReshapeFuncUcall);
+    CHECK_NAME(glutVisibilityFuncUcall);
+    CHECK_NAME(glutDisplayFuncUcall);
+    CHECK_NAME(glutMouseFuncUcall);
+    CHECK_NAME(glutMotionFuncUcall);
+    CHECK_NAME(glutPassiveMotionFuncUcall);
+    CHECK_NAME(glutEntryFuncUcall);
+    CHECK_NAME(glutKeyboardUpFuncUcall);
+    CHECK_NAME(glutSpecialUpFuncUcall);
+    CHECK_NAME(glutJoystickFuncUcall);
+    CHECK_NAME(glutMenuStatusFuncUcall);
+    CHECK_NAME(glutOverlayDisplayFuncUcall);
+    CHECK_NAME(glutWindowStatusFuncUcall);
+    CHECK_NAME(glutSpaceballMotionFuncUcall);
+    CHECK_NAME(glutSpaceballRotateFuncUcall);
+    CHECK_NAME(glutSpaceballButtonFuncUcall);
+    CHECK_NAME(glutButtonBoxFuncUcall);
+    CHECK_NAME(glutDialsFuncUcall);
+    CHECK_NAME(glutTabletMotionFuncUcall);
+    CHECK_NAME(glutTabletButtonFuncUcall);
+    CHECK_NAME(glutMouseWheelFuncUcall);
+    CHECK_NAME(glutPositionFuncUcall);
+    CHECK_NAME(glutCloseFuncUcall);
+    CHECK_NAME(glutWMCloseFuncUcall);
+    CHECK_NAME(glutMenuDestroyFuncUcall);
+    CHECK_NAME(glutMultiEntryFuncUcall);
+    CHECK_NAME(glutMultiButtonFuncUcall);
+    CHECK_NAME(glutMultiMotionFuncUcall);
+    CHECK_NAME(glutMultiPassiveFuncUcall);
+    CHECK_NAME(glutInitErrorFuncUcall);
+    CHECK_NAME(glutInitWarningFuncUcall);
+    CHECK_NAME(glutInitContextFuncUcall);
+    CHECK_NAME(glutAppStatusFuncUcall);
 #undef CHECK_NAME
 
     return NULL;
@@ -213,8 +266,8 @@ glutGetProcAddress( const char *procName )
     /* Try GLUT functions first, then core GL functions */
     p = fghGetGLUTProcAddress( procName );
 
-       /* Some GLUT functions are platform-specific: */
-       if ( !p )
+    /* Some GLUT functions are platform-specific: */
+    if ( !p )
       p = fgPlatformGetGLUTProcAddress( procName );
 
     return ( p != NULL ) ? p : fgPlatformGetProcAddress( procName );