projects
/
freeglut
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cleaned up a bunch of warnings
[freeglut]
/
progs
/
demos
/
CallbackMaker
/
CallbackMaker.c
diff --git
a/progs/demos/CallbackMaker/CallbackMaker.c
b/progs/demos/CallbackMaker/CallbackMaker.c
index
1b41b0e
..
e280148
100644
(file)
--- a/
progs/demos/CallbackMaker/CallbackMaker.c
+++ b/
progs/demos/CallbackMaker/CallbackMaker.c
@@
-8,6
+8,7
@@
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
+#include <string.h>
static int sequence_number = 0 ;
static int sequence_number = 0 ;
@@
-25,6
+26,7
@@
int windows[CALLBACKMAKER_N_WINDOWS] = {0};
CALLBACK_2V(reshape,width,height);
CALLBACK_2V(position,top,left);
CALLBACK_1V(visibility,vis);
CALLBACK_2V(reshape,width,height);
CALLBACK_2V(position,top,left);
CALLBACK_1V(visibility,vis);
+CALLBACK_1V(windowStatus,state);
CALLBACK_4V(key,key,x,y,mod);
CALLBACK_4V(keyup,key,x,y,mod);
CALLBACK_4V(special,key,x,y,mod);
CALLBACK_4V(key,key,x,y,mod);
CALLBACK_4V(keyup,key,x,y,mod);
CALLBACK_4V(special,key,x,y,mod);
@@
-79,15
+81,19
@@
Mod2Text(int mods, char *text)
if (mods&GLUT_ACTIVE_CTRL)
strcat(text,"CTRL");
if (mods&GLUT_ACTIVE_SHIFT)
if (mods&GLUT_ACTIVE_CTRL)
strcat(text,"CTRL");
if (mods&GLUT_ACTIVE_SHIFT)
+ {
if (text[0])
strcat(text,"+SHIFT");
else
strcat(text,"SHIFT");
if (text[0])
strcat(text,"+SHIFT");
else
strcat(text,"SHIFT");
+ }
if (mods&GLUT_ACTIVE_ALT)
if (mods&GLUT_ACTIVE_ALT)
+ {
if (text[0])
strcat(text,"+ALT");
else
strcat(text,"ALT");
if (text[0])
strcat(text,"+ALT");
else
strcat(text,"ALT");
+ }
if (!text[0])
strcat(text,"none");
if (!text[0])
strcat(text,"none");
@@
-122,6
+128,11
@@
Display(void)
bitmapPrintf ( "Visibility %d: %d\n", visibility_seq[winIdx], visibility_vis[winIdx] );
}
bitmapPrintf ( "Visibility %d: %d\n", visibility_seq[winIdx], visibility_vis[winIdx] );
}
+ if ( windowStatus_called[winIdx] )
+ {
+ bitmapPrintf ( "WindowStatus %d: %d\n", windowStatus_seq[winIdx], windowStatus_state[winIdx] );
+ }
+
if ( reshape_called[winIdx] )
{
bitmapPrintf ( "Reshape %d: %d %d\n", reshape_seq[winIdx], reshape_width[winIdx], reshape_height[winIdx] );
if ( reshape_called[winIdx] )
{
bitmapPrintf ( "Reshape %d: %d %d\n", reshape_seq[winIdx], reshape_width[winIdx], reshape_height[winIdx] );
@@
-207,7
+218,7
@@
Display(void)
static void
Warning(const char *fmt, va_list ap)
{
static void
Warning(const char *fmt, va_list ap)
{
- printf("%6d Warning callback:\n");
+ printf("%6d Warning callback:\n",++sequence_number);
/* print warning message */
vprintf(fmt, ap);
/* print warning message */
vprintf(fmt, ap);
@@
-217,10
+228,11
@@
static void
Error(const char *fmt, va_list ap)
{
char dummy_string[STRING_LENGTH];
Error(const char *fmt, va_list ap)
{
char dummy_string[STRING_LENGTH];
- printf("%6d Error callback:\n");
+ printf("%6d Error callback:\n",++sequence_number);
/* print warning message */
vprintf(fmt, ap);
/* print warning message */
vprintf(fmt, ap);
+ printf("\n");
/* terminate program, after pause for input so user can see */
printf ( "Please enter something to exit: " );
/* terminate program, after pause for input so user can see */
printf ( "Please enter something to exit: " );
@@
-233,19
+245,6
@@
Error(const char *fmt, va_list ap)
}
static void
}
static void
-Visibility(int vis)
-{
- int winIdx;
- int window = getWindowAndIdx(&winIdx);
- printf ( "%6d Window %d Visibility Callback: %d\n",
- ++sequence_number, window, vis ) ;
- visibility_called[winIdx] = 1 ;
- visibility_vis[winIdx] = vis ;
- visibility_seq[winIdx] = sequence_number ;
- glutPostRedisplay () ;
-}
-
-static void
Reshape(int width, int height)
{
int winIdx;
Reshape(int width, int height)
{
int winIdx;
@@
-449,11
+448,28
@@
OverlayDisplay(void)
}
static void
}
static void
+Visibility(int vis)
+{
+ int winIdx;
+ int window = getWindowAndIdx(&winIdx);
+ printf ( "%6d Window %d Visibility Callback: %d\n",
+ ++sequence_number, window, vis ) ;
+ visibility_called[winIdx] = 1 ;
+ visibility_vis[winIdx] = vis ;
+ visibility_seq[winIdx] = sequence_number ;
+ glutPostRedisplay () ;
+}
+
+static void
WindowStatus(int state)
{
WindowStatus(int state)
{
- int window = getWindowAndIdx(NULL);
+ int winIdx;
+ int window = getWindowAndIdx(&winIdx);
printf ( "%6d Window %d WindowStatus Callback: %d\n",
++sequence_number, window, state ) ;
printf ( "%6d Window %d WindowStatus Callback: %d\n",
++sequence_number, window, state ) ;
+ windowStatus_called[winIdx] = 1 ;
+ windowStatus_state[winIdx] = state ;
+ windowStatus_seq[winIdx] = sequence_number ;
glutPostRedisplay () ;
}
glutPostRedisplay () ;
}
@@
-576,7
+592,6
@@
static void SetWindowCallbacks( int first )
glutPositionFunc( Position );
glutKeyboardFunc( Key );
glutSpecialFunc( Special );
glutPositionFunc( Position );
glutKeyboardFunc( Key );
glutSpecialFunc( Special );
- glutVisibilityFunc( Visibility );
glutKeyboardUpFunc( KeyUp );
glutSpecialUpFunc( SpecialUp );
if (first)
glutKeyboardUpFunc( KeyUp );
glutSpecialUpFunc( SpecialUp );
if (first)
@@
-588,7
+603,6
@@
static void SetWindowCallbacks( int first )
glutEntryFunc ( Entry ) ;
glutCloseFunc ( Close ) ;
glutOverlayDisplayFunc ( OverlayDisplay ) ;
glutEntryFunc ( Entry ) ;
glutCloseFunc ( Close ) ;
glutOverlayDisplayFunc ( OverlayDisplay ) ;
- glutWindowStatusFunc ( WindowStatus ) ;
glutSpaceballMotionFunc ( SpaceMotion ) ;
glutSpaceballRotateFunc ( SpaceRotation ) ;
glutSpaceballButtonFunc ( SpaceButton ) ;
glutSpaceballMotionFunc ( SpaceMotion ) ;
glutSpaceballRotateFunc ( SpaceRotation ) ;
glutSpaceballButtonFunc ( SpaceButton ) ;
@@
-596,6
+610,11
@@
static void SetWindowCallbacks( int first )
glutDialsFunc ( Dials ) ;
glutTabletMotionFunc ( TabletMotion ) ;
glutTabletButtonFunc ( TabletButton ) ;
glutDialsFunc ( Dials ) ;
glutTabletMotionFunc ( TabletMotion ) ;
glutTabletButtonFunc ( TabletButton ) ;
+ /* glutVisibilityFunc is deprecated in favor of glutWindowStatusFunc, which provides more detail.
+ * Setting one of these overwrites the other (see docs).
+ */
+ glutVisibilityFunc ( Visibility ); /* This will thus never be called, as glutWindowStatusFunc is set afterwards */
+ glutWindowStatusFunc ( WindowStatus ) ;
}
int
}
int
@@
-637,6
+656,7
@@
main(int argc, char *argv[])
/* callbacks, settings and menus for this window */
SetWindowCallbacks( 1 );
glutIgnoreKeyRepeat(GL_TRUE);
/* callbacks, settings and menus for this window */
SetWindowCallbacks( 1 );
glutIgnoreKeyRepeat(GL_TRUE);
+ glutSetIconTitle("Icon Test - Callback Demo");
subMenuA = glutCreateMenu( MenuCallback );
glutAddMenuEntry( "Sub menu A1 (01)", 11 );
subMenuA = glutCreateMenu( MenuCallback );
glutAddMenuEntry( "Sub menu A1 (01)", 11 );