Mercurial > sdl-ios-xcode
annotate src/SDL_error_c.h @ 911:04a403e4ccf5
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?
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 18 Jul 2004 22:57:40 +0000 |
parents | b8d311d90021 |
children | c9b51268668f |
rev | line source |
---|---|
0 | 1 /* |
2 SDL - Simple DirectMedia Layer | |
769
b8d311d90021
Updated copyright information for 2004 (Happy New Year!)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
3 Copyright (C) 1997-2004 Sam Lantinga |
0 | 4 |
5 This library is free software; you can redistribute it and/or | |
6 modify it under the terms of the GNU Library General Public | |
7 License as published by the Free Software Foundation; either | |
8 version 2 of the License, or (at your option) any later version. | |
9 | |
10 This library is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 Library General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU Library General Public | |
16 License along with this library; if not, write to the Free | |
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
18 | |
19 Sam Lantinga | |
252
e8157fcb3114
Updated the source with the correct e-mail address
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
20 slouken@libsdl.org |
0 | 21 */ |
22 | |
23 #ifdef SAVE_RCSID | |
24 static char rcsid = | |
25 "@(#) $Id$"; | |
26 #endif | |
27 | |
28 /* This file defines a structure that carries language-independent | |
29 error messages | |
30 */ | |
31 | |
32 #ifndef _SDL_error_c_h | |
33 #define _SDL_error_c_h | |
34 | |
35 #define ERR_MAX_STRLEN 128 | |
36 #define ERR_MAX_ARGS 5 | |
37 | |
911
04a403e4ccf5
Date: Mon, 3 May 2004 03:15:01 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
38 typedef struct SDL_error { |
0 | 39 /* This is a numeric value corresponding to the current error */ |
40 int error; | |
41 | |
42 /* This is a key used to index into a language hashtable containing | |
43 internationalized versions of the SDL error messages. If the key | |
44 is not in the hashtable, or no hashtable is available, the key is | |
45 used directly as an error message format string. | |
46 */ | |
47 unsigned char key[ERR_MAX_STRLEN]; | |
48 | |
49 /* These are the arguments for the error functions */ | |
50 int argc; | |
51 union { | |
52 void *value_ptr; | |
53 #if 0 /* What is a character anyway? (UNICODE issues) */ | |
54 unsigned char value_c; | |
55 #endif | |
56 int value_i; | |
57 double value_f; | |
58 unsigned char buf[ERR_MAX_STRLEN]; | |
59 } args[ERR_MAX_ARGS]; | |
60 } SDL_error; | |
61 | |
62 #endif /* _SDL_error_c_h */ |