Initial work on callbacks with user data parameters.
[freeglut] / src / fg_ext.c
index 6d50717..4c1f9c9 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,9 +125,10 @@ static GLUTproc fghGetGLUTProcAddress( const char* procName )
     CHECK_NAME(glutBitmapWidth);
     CHECK_NAME(glutStrokeCharacter);
     CHECK_NAME(glutStrokeWidth);
+    CHECK_NAME(glutStrokeWidthf);
     CHECK_NAME(glutBitmapLength);
     CHECK_NAME(glutStrokeLength);
-#ifndef EGL_VERSION_1_0
+    CHECK_NAME(glutStrokeLengthf);
     CHECK_NAME(glutWireSphere);
     CHECK_NAME(glutSolidSphere);
     CHECK_NAME(glutWireCone);
@@ -137,8 +139,10 @@ static GLUTproc fghGetGLUTProcAddress( const char* procName )
     CHECK_NAME(glutSolidCylinder);
     CHECK_NAME(glutWireTeapot);
     CHECK_NAME(glutSolidTeapot);
-#endif
-#ifndef GL_ES_VERSION_2_0
+    CHECK_NAME(glutWireTeacup);
+    CHECK_NAME(glutSolidTeacup);
+    CHECK_NAME(glutWireTeaspoon);
+    CHECK_NAME(glutSolidTeaspoon);
     CHECK_NAME(glutWireCube);
     CHECK_NAME(glutSolidCube);
     CHECK_NAME(glutWireDodecahedron);
@@ -153,7 +157,6 @@ static GLUTproc fghGetGLUTProcAddress( const char* procName )
     CHECK_NAME(glutSolidRhombicDodecahedron);
     CHECK_NAME(glutWireSierpinskiSponge);
     CHECK_NAME(glutSolidSierpinskiSponge);
-#endif
     CHECK_NAME(glutVideoResizeGet);
     CHECK_NAME(glutSetupVideoResizing);
     CHECK_NAME(glutStopVideoResizing);
@@ -171,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);
@@ -201,6 +205,17 @@ 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);
+    //TODO
 #undef CHECK_NAME
 
     return NULL;
@@ -217,8 +232,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 );