From f593b45ff9ae5d9fdf48a48b1b5d56c50757b7df Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sun, 29 Jan 2006 23:14:04 +0000 Subject: [PATCH] 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 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/include/SDL_events.h b/include/SDL_events.h index 93e5309c3..e7661cef0 100644 --- a/include/SDL_events.h +++ b/include/SDL_events.h @@ -44,7 +44,8 @@ extern "C" { #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 @@ enum { SDL_NOEVENT = 0, /* Unused (do not remove) */ 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 @@ enum { 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 */