Date: Mon, 3 May 2004 03:15:01 +0100

From: David Symmonds
Subject: SDL Typedef Structs

Hi, Thanks for the SDL libraries, I have been using them for about a year
now and they are really brilliant. One thing that I have just found whilst
using them through C++ (and needing forward declarations) is that when you
typedef structs you sometimes use

typedef struct Name
{
...
}Name;

e.g. SDL_Surface


and other times use

typedef struct
{
...
}Name;


e.g. SDL_Rect

The first type works fine, when I define a header file I can just put
'struct Name;' at the top and use the Name throughout. However, the second
type is harder to use in a header, and I haven't found a way yet, other than
to include 'SDL.h' in the header file (undesirable). Would there be any harm
in changing the definition of SDL_Rect and such like to the second form?

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40912
This commit is contained in:
Sam Lantinga 2004-07-18 22:57:40 +00:00
parent 1ac1efb053
commit f70b972d49
9 changed files with 29 additions and 29 deletions

View file

@ -47,12 +47,12 @@ extern "C" {
#define SDL_ALPHA_TRANSPARENT 0
/* Useful data types */
typedef struct {
typedef struct SDL_Rect {
Sint16 x, y;
Uint16 w, h;
} SDL_Rect;
typedef struct {
typedef struct SDL_Color {
Uint8 r;
Uint8 g;
Uint8 b;
@ -60,7 +60,7 @@ typedef struct {
} SDL_Color;
#define SDL_Colour SDL_Color
typedef struct {
typedef struct SDL_Palette {
int ncolors;
SDL_Color *colors;
} SDL_Palette;
@ -154,7 +154,7 @@ typedef struct SDL_Surface {
/* Useful for determining the video hardware capabilities */
typedef struct {
typedef struct SDL_VideoInfo {
Uint32 hw_available :1; /* Flag: Can you create hardware surfaces? */
Uint32 wm_available :1; /* Flag: Can you talk to a window manager? */
Uint32 UnusedBits1 :6;