X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=freeglut-1.3%2Ffreeglut_callbacks.c;h=b741a0c19a53e0db21c9f2a32f47bd72891b26ce;hb=fd025d3915f90c5af286ade32f25a0922644b177;hp=196b054a6e005f570d3c47f2c2797b6cc61aff79;hpb=a86a957ae87e1b07260edec971ebdf5a98ff3d54;p=freeglut diff --git a/freeglut-1.3/freeglut_callbacks.c b/freeglut-1.3/freeglut_callbacks.c index 196b054..b741a0c 100644 --- a/freeglut-1.3/freeglut_callbacks.c +++ b/freeglut-1.3/freeglut_callbacks.c @@ -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; } /*