# HG changeset patch # User Sam Lantinga # Date 1138576444 0 # Node ID 1760ceb23bc65e122a2bacac487c9be250517a1e # Parent 23b1ef7d003b08ca9b021bb68fd07199dea06763 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 ); diff -r 23b1ef7d003b -r 1760ceb23bc6 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 */