(98) src/Makefile.am:34 Added mwmborder.c
[freeglut] / freeglut-1.3 / freeglut_callbacks.c
index 196b054..b741a0c 100644 (file)
@@ -32,7 +32,7 @@
 #define  G_LOG_DOMAIN  "freeglut-callbacks"
 
 #include "../include/GL/freeglut.h"
-#include "../include/GL/freeglut_internal.h"
+#include "freeglut_internal.h"
 
 
 /* -- INTERFACE FUNCTIONS -------------------------------------------------- */
@@ -182,8 +182,8 @@ void FGAPIENTRY glutJoystickFunc( void (* callback)( unsigned int, int, int, int
     fgStructure.Window->State.JoystickLastPoll =
         fgElapsedTime() - fgStructure.Window->State.JoystickPollRate;
 
-    if( fgStructure.Window->State.JoystickLastPoll < 0.0 )
-        fgStructure.Window->State.JoystickLastPoll = 0.0;
+    if( fgStructure.Window->State.JoystickLastPoll < 0 )
+        fgStructure.Window->State.JoystickLastPoll = 0;
 }
 
 /*
@@ -219,11 +219,33 @@ void FGAPIENTRY glutEntryFunc( void (* callback)( int ) )
 }
 
 /*
+ * Window destruction callbacks
+ */
+void FGAPIENTRY glutCloseFunc( void (* callback)( void ) )
+{
+    SET_CALLBACK( Destroy );
+}
+
+void FGAPIENTRY glutWMCloseFunc( void (* callback)( void ) )
+{
+    glutCloseFunc( callback );
+}
+
+/* A. Donev: Destruction callback for menus */
+void FGAPIENTRY glutMenuDestroyFunc( void (* callback)( void ) )
+{
+   if( fgStructure.Menu == NULL ) return;
+   fgStructure.Menu->Destroy = callback;
+}
+
+/*
  * Deprecated version of glutMenuStatusFunc callback setting method
  */
 void FGAPIENTRY glutMenuStateFunc( void (* callback)( int ) )
 {
-    SET_CALLBACK( MenuState );
+    freeglut_assert_ready;
+
+    fgState.MenuStateCallback = callback;
 }
 
 /*
@@ -231,7 +253,9 @@ void FGAPIENTRY glutMenuStateFunc( void (* callback)( int ) )
  */
 void FGAPIENTRY glutMenuStatusFunc( void (* callback)( int, int, int ) )
 {
-    SET_CALLBACK( MenuStatus );
+    freeglut_assert_ready;
+
+    fgState.MenuStatusCallback = callback;
 }
 
 /*