X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffg_callbacks.c;h=768358b5667c7d8d377f194634ec52f4866445f1;hb=a00c7ee3552b527ac6b375d6a6ca42f90770ddc3;hp=c83b3f0286cc78333406ed9962a2e5fb41ce6311;hpb=f50219f3ee035143ce9a056e4362959bef5c91cc;p=freeglut diff --git a/src/fg_callbacks.c b/src/fg_callbacks.c index c83b3f0..768358b 100644 --- a/src/fg_callbacks.c +++ b/src/fg_callbacks.c @@ -63,6 +63,7 @@ void FGAPIENTRY glutTimerFunc( unsigned int timeOut, FGCBTimer callback, int tim timer->ID = timerID; timer->TriggerTime = fgElapsedTime() + timeOut; + /* Insert such that timers are sorted by end-time */ for( node = fgState.Timers.First; node; node = node->Node.Next ) { if( node->TriggerTime > timer->TriggerTime ) @@ -121,7 +122,6 @@ void FGAPIENTRY glut##a##Func( FGCB##b callback ) \ #define IMPLEMENT_CALLBACK_FUNC(a) IMPLEMENT_CALLBACK_FUNC_2NAME(a,a) /* Implement all these callback setter functions... */ -IMPLEMENT_CALLBACK_FUNC(Reshape); IMPLEMENT_CALLBACK_FUNC(Position); IMPLEMENT_CALLBACK_FUNC(Keyboard); IMPLEMENT_CALLBACK_FUNC(KeyboardUp); @@ -146,8 +146,7 @@ IMPLEMENT_CALLBACK_FUNC(MultiButton); IMPLEMENT_CALLBACK_FUNC(MultiMotion); IMPLEMENT_CALLBACK_FUNC(MultiPassive); IMPLEMENT_CALLBACK_FUNC(InitContext); -IMPLEMENT_CALLBACK_FUNC(Pause); -IMPLEMENT_CALLBACK_FUNC(Resume); +IMPLEMENT_CALLBACK_FUNC(AppStatus); @@ -163,6 +162,21 @@ void FGAPIENTRY glutDisplayFunc( FGCBDisplay callback ) SET_CALLBACK( Display ); } +void fghDefaultReshape(int width, int height) +{ + glViewport( 0, 0, width, height ); +} + +void FGAPIENTRY glutReshapeFunc( FGCBReshape callback ) +{ + FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutReshapeFunc" ); + + if( !callback ) + callback = fghDefaultReshape; + + SET_CALLBACK( Reshape ); +} + /* * Sets the Visibility callback for the current window. * NB: the Visibility func is deprecated in favor of the WindowStatus func,