Commit ba553ad7 authored by Sam Lantinga's avatar Sam Lantinga

Date: Thu, 19 Jan 2006 20:02:29 +0200

From: Vassilis Virvilis <vasvir@iit.demokritos.gr>
Subject: [SDL] Request: Please reconsider adding tag in SDL_Event

Hi,

Patch in question:

--- include/SDL_events.h        20 Aug 2004 18:57:01 -0000      1.11
+++ include/SDL_events.h        19 Jan 2006 17:35:09 -0000
@@ -214,7 +214,7 @@
  } SDL_SysWMEvent;

  /* General event structure */
-typedef union {
+typedef union SDL_Event {
         Uint8 type;
         SDL_ActiveEvent active;
         SDL_KeyboardEvent key;

Reasoning:
----------
1) Allows forward declaration of the SDL_Event union in C++. Please
note that in plain C it is possible to forward declare it.

2) Forward declaration is good because it allows encapsulation. It hides
the specific implementation and does not necessarily exposes SDL staff
to my appication's namespace

3) It can't harm plain C because tags are living in a different namespace
than typenames

4) It is already done like this in other places in SDL. Check for example
SDL_KeySym, and SDL_.*Event structures.

5) Right now I have to include SDL/event.h from a C++ header file. See 2)

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401261
parent ecf79e4d
...@@ -214,7 +214,7 @@ typedef struct SDL_SysWMEvent { ...@@ -214,7 +214,7 @@ typedef struct SDL_SysWMEvent {
} SDL_SysWMEvent; } SDL_SysWMEvent;
/* General event structure */ /* General event structure */
typedef union { typedef union SDL_Event {
Uint8 type; Uint8 type;
SDL_ActiveEvent active; SDL_ActiveEvent active;
SDL_KeyboardEvent key; SDL_KeyboardEvent key;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment