Mercurial > sdl-ios-xcode
comparison src/video/x11/SDL_x11dyn.c @ 1668:4da1ee79c9af SDL-1.3
more tweaking indent options
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 29 May 2006 04:04:35 +0000 |
parents | 782fd950bd46 |
children |
comparison
equal
deleted
inserted
replaced
1667:1fddae038bc8 | 1668:4da1ee79c9af |
---|---|
59 {NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER}, | 59 {NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER}, |
60 {NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR}, | 60 {NULL, SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR}, |
61 }; | 61 }; |
62 | 62 |
63 static void | 63 static void |
64 X11_GetSym (const char *fnname, int *rc, void **fn) | 64 X11_GetSym(const char *fnname, int *rc, void **fn) |
65 { | 65 { |
66 int i; | 66 int i; |
67 for (i = 0; i < SDL_TABLESIZE (x11libs); i++) { | 67 for (i = 0; i < SDL_TABLESIZE(x11libs); i++) { |
68 if (x11libs[i].lib != NULL) { | 68 if (x11libs[i].lib != NULL) { |
69 *fn = SDL_LoadFunction (x11libs[i].lib, fnname); | 69 *fn = SDL_LoadFunction(x11libs[i].lib, fnname); |
70 if (*fn != NULL) | 70 if (*fn != NULL) |
71 break; | 71 break; |
72 } | 72 } |
73 } | 73 } |
74 | 74 |
75 #if DEBUG_DYNAMIC_X11 | 75 #if DEBUG_DYNAMIC_X11 |
76 if (*fn != NULL) | 76 if (*fn != NULL) |
77 printf ("X11: Found '%s' in %s (%p)\n", fnname, x11libs[i].libname, | 77 printf("X11: Found '%s' in %s (%p)\n", fnname, x11libs[i].libname, |
78 *fn); | 78 *fn); |
79 else | 79 else |
80 printf ("X11: Symbol '%s' NOT FOUND!\n", fnname); | 80 printf("X11: Symbol '%s' NOT FOUND!\n", fnname); |
81 #endif | 81 #endif |
82 | 82 |
83 if (*fn == NULL) | 83 if (*fn == NULL) |
84 *rc = 0; /* kill this module. */ | 84 *rc = 0; /* kill this module. */ |
85 } | 85 } |
95 #undef SDL_X11_SYM | 95 #undef SDL_X11_SYM |
96 #endif /* SDL_VIDEO_DRIVER_X11_DYNAMIC */ | 96 #endif /* SDL_VIDEO_DRIVER_X11_DYNAMIC */ |
97 | 97 |
98 /* Annoying varargs entry point... */ | 98 /* Annoying varargs entry point... */ |
99 #ifdef X_HAVE_UTF8_STRING | 99 #ifdef X_HAVE_UTF8_STRING |
100 XIC (*pXCreateIC) (XIM,...) = NULL; | 100 XIC(*pXCreateIC) (XIM,...) = NULL; |
101 #endif | 101 #endif |
102 | 102 |
103 /* These SDL_X11_HAVE_* flags are here whether you have dynamic X11 or not. */ | 103 /* These SDL_X11_HAVE_* flags are here whether you have dynamic X11 or not. */ |
104 #define SDL_X11_MODULE(modname) int SDL_X11_HAVE_##modname = 1; | 104 #define SDL_X11_MODULE(modname) int SDL_X11_HAVE_##modname = 1; |
105 #define SDL_X11_SYM(rc,fn,params,args,ret) | 105 #define SDL_X11_SYM(rc,fn,params,args,ret) |
109 | 109 |
110 | 110 |
111 static int x11_load_refcount = 0; | 111 static int x11_load_refcount = 0; |
112 | 112 |
113 void | 113 void |
114 SDL_X11_UnloadSymbols (void) | 114 SDL_X11_UnloadSymbols(void) |
115 { | 115 { |
116 #ifdef SDL_VIDEO_DRIVER_X11_DYNAMIC | 116 #ifdef SDL_VIDEO_DRIVER_X11_DYNAMIC |
117 /* Don't actually unload if more than one module is using the libs... */ | 117 /* Don't actually unload if more than one module is using the libs... */ |
118 if (x11_load_refcount > 0) { | 118 if (x11_load_refcount > 0) { |
119 if (--x11_load_refcount == 0) { | 119 if (--x11_load_refcount == 0) { |
128 | 128 |
129 #ifdef X_HAVE_UTF8_STRING | 129 #ifdef X_HAVE_UTF8_STRING |
130 pXCreateIC = NULL; | 130 pXCreateIC = NULL; |
131 #endif | 131 #endif |
132 | 132 |
133 for (i = 0; i < SDL_TABLESIZE (x11libs); i++) { | 133 for (i = 0; i < SDL_TABLESIZE(x11libs); i++) { |
134 if (x11libs[i].lib != NULL) { | 134 if (x11libs[i].lib != NULL) { |
135 SDL_UnloadObject (x11libs[i].lib); | 135 SDL_UnloadObject(x11libs[i].lib); |
136 x11libs[i].lib = NULL; | 136 x11libs[i].lib = NULL; |
137 } | 137 } |
138 } | 138 } |
139 } | 139 } |
140 } | 140 } |
141 #endif | 141 #endif |
142 } | 142 } |
143 | 143 |
144 /* returns non-zero if all needed symbols were loaded. */ | 144 /* returns non-zero if all needed symbols were loaded. */ |
145 int | 145 int |
146 SDL_X11_LoadSymbols (void) | 146 SDL_X11_LoadSymbols(void) |
147 { | 147 { |
148 int rc = 1; /* always succeed if not using Dynamic X11 stuff. */ | 148 int rc = 1; /* always succeed if not using Dynamic X11 stuff. */ |
149 | 149 |
150 #ifdef SDL_VIDEO_DRIVER_X11_DYNAMIC | 150 #ifdef SDL_VIDEO_DRIVER_X11_DYNAMIC |
151 /* deal with multiple modules (dga, x11, etc) needing these symbols... */ | 151 /* deal with multiple modules (dga, x11, etc) needing these symbols... */ |
152 if (x11_load_refcount++ == 0) { | 152 if (x11_load_refcount++ == 0) { |
153 int i; | 153 int i; |
154 int *thismod = NULL; | 154 int *thismod = NULL; |
155 for (i = 0; i < SDL_TABLESIZE (x11libs); i++) { | 155 for (i = 0; i < SDL_TABLESIZE(x11libs); i++) { |
156 if (x11libs[i].libname != NULL) { | 156 if (x11libs[i].libname != NULL) { |
157 x11libs[i].lib = SDL_LoadObject (x11libs[i].libname); | 157 x11libs[i].lib = SDL_LoadObject(x11libs[i].libname); |
158 } | 158 } |
159 } | 159 } |
160 #define SDL_X11_MODULE(modname) thismod = &SDL_X11_HAVE_##modname; | 160 #define SDL_X11_MODULE(modname) thismod = &SDL_X11_HAVE_##modname; |
161 #define SDL_X11_SYM(a,fn,x,y,z) X11_GetSym(#fn,thismod,(void**)&p##fn); | 161 #define SDL_X11_SYM(a,fn,x,y,z) X11_GetSym(#fn,thismod,(void**)&p##fn); |
162 #include "SDL_x11sym.h" | 162 #include "SDL_x11sym.h" |
163 #undef SDL_X11_MODULE | 163 #undef SDL_X11_MODULE |
164 #undef SDL_X11_SYM | 164 #undef SDL_X11_SYM |
165 | 165 |
166 #ifdef X_HAVE_UTF8_STRING | 166 #ifdef X_HAVE_UTF8_STRING |
167 X11_GetSym ("XCreateIC", &SDL_X11_HAVE_UTF8, (void **) &pXCreateIC); | 167 X11_GetSym("XCreateIC", &SDL_X11_HAVE_UTF8, (void **) &pXCreateIC); |
168 #endif | 168 #endif |
169 | 169 |
170 if (!SDL_X11_HAVE_BASEXLIB) { /* some required symbol didn't load. */ | 170 if (!SDL_X11_HAVE_BASEXLIB) { /* some required symbol didn't load. */ |
171 SDL_X11_UnloadSymbols (); /* in case something got loaded... */ | 171 SDL_X11_UnloadSymbols(); /* in case something got loaded... */ |
172 rc = 0; | 172 rc = 0; |
173 } | 173 } |
174 } | 174 } |
175 #else | 175 #else |
176 #ifdef X_HAVE_UTF8_STRING | 176 #ifdef X_HAVE_UTF8_STRING |