Date: Fri, 18 Feb 2005 20:49:35 +0200 (EET)
authorSam Lantinga <slouken@libsdl.org>
Sun, 29 Jan 2006 23:14:04 +0000
changeset 1294 1760ceb23bc6
parent 1293 23b1ef7d003b
child 1295 c3e36ac8a94c
Date: Fri, 18 Feb 2005 20:49:35 +0200 (EET) From: ville Subject: [SDL] Changing, at least some, anonymous enums to named enums. Howdy, Could, some if not all, enums be named rather than being anonymous enums? I ran into troubles with the enum describing event types in SDL_events.h. The problem is that an anonymous enum cannot be used in C++ templates like so: enum { C }; template< typename T > void f( T ) { } f( C );
include/SDL_events.h
--- a/include/SDL_events.h	Sun Jan 29 23:06:05 2006 +0000
+++ b/include/SDL_events.h	Sun Jan 29 23:14:04 2006 +0000
@@ -44,7 +44,8 @@
 #endif
 
 /* Event enumerations */
-enum { SDL_NOEVENT = 0,			/* Unused (do not remove) */
+typedef enum {
+       SDL_NOEVENT = 0,			/* Unused (do not remove) */
        SDL_ACTIVEEVENT,			/* Application loses/gains visibility */
        SDL_KEYDOWN,			/* Keys pressed */
        SDL_KEYUP,			/* Keys released */
@@ -74,11 +75,11 @@
 	  It is the number of bits in the event mask datatype -- Uint32
         */
        SDL_NUMEVENTS = 32
-};
+} SDL_EventType;
 
 /* Predefined event masks */
 #define SDL_EVENTMASK(X)	(1<<(X))
-enum {
+typedef enum {
 	SDL_ACTIVEEVENTMASK	= SDL_EVENTMASK(SDL_ACTIVEEVENT),
 	SDL_KEYDOWNMASK		= SDL_EVENTMASK(SDL_KEYDOWN),
 	SDL_KEYUPMASK		= SDL_EVENTMASK(SDL_KEYUP),
@@ -102,7 +103,7 @@
 	SDL_VIDEOEXPOSEMASK	= SDL_EVENTMASK(SDL_VIDEOEXPOSE),
 	SDL_QUITMASK		= SDL_EVENTMASK(SDL_QUIT),
 	SDL_SYSWMEVENTMASK	= SDL_EVENTMASK(SDL_SYSWMEVENT)
-};
+} SDL_EventMask ;
 #define SDL_ALLEVENTS		0xFFFFFFFF
 
 /* Application visibility event structure */