23 #if defined(__WIN32__)
39 #if !SDL_TIMERS_DISABLED
42 #if SDL_VIDEO_DRIVER_WINDOWS
43 extern int SDL_HelperWindowCreate(
void);
44 extern int SDL_HelperWindowDestroy(
void);
49 #ifdef SDL_MAIN_NEEDED
109 SDL_SetError(
"Application didn't initialize properly, did you include SDL_main.h in the file containing your main() function?");
126 #if SDL_VIDEO_DRIVER_WINDOWS
128 if (SDL_HelperWindowCreate() < 0) {
134 #if !SDL_TIMERS_DISABLED
140 #if !SDL_EVENTS_DISABLED
149 return SDL_SetError(
"SDL not built with events support");
155 #if !SDL_TIMERS_DISABLED
163 return SDL_SetError(
"SDL not built with timer support");
169 #if !SDL_VIDEO_DISABLED
177 return SDL_SetError(
"SDL not built with video support");
183 #if !SDL_AUDIO_DISABLED
191 return SDL_SetError(
"SDL not built with audio support");
197 #if !SDL_JOYSTICK_DISABLED
205 return SDL_SetError(
"SDL not built with joystick support");
209 if ((flags & SDL_INIT_GAMECONTROLLER)){
210 #if !SDL_JOYSTICK_DISABLED
218 return SDL_SetError(
"SDL not built with joystick support");
224 #if !SDL_HAPTIC_DISABLED
232 return SDL_SetError(
"SDL not built with haptic (force feedback) support");
238 #if !SDL_SENSOR_DISABLED
246 return SDL_SetError(
"SDL not built with sensor support");
263 #if !SDL_SENSOR_DISABLED
272 #if !SDL_JOYSTICK_DISABLED
294 #if !SDL_HAPTIC_DISABLED
303 #if !SDL_AUDIO_DISABLED
312 #if !SDL_VIDEO_DISABLED
324 #if !SDL_TIMERS_DISABLED
333 #if !SDL_EVENTS_DISABLED
358 for (i = 0; i < num_subsystems; ++
i) {
360 initialized |= (1 <<
i);
375 #if SDL_VIDEO_DRIVER_WINDOWS
376 SDL_HelperWindowDestroy();
380 #if !SDL_TIMERS_DISABLED
444 return "MacOS Classic";
458 return "QNX Neutrino";
472 return "PlayStation Portable";
474 return "Unknown (see SDL_platform.h)";
492 #if defined(__WIN32__)
494 #if (!defined(HAVE_LIBC) || defined(__WATCOMC__)) && !defined(SDL_STATIC_LIB)
498 _DllMainCRTStartup(HANDLE hModule,
499 DWORD ul_reason_for_call, LPVOID lpReserved)
501 switch (ul_reason_for_call) {
502 case DLL_PROCESS_ATTACH:
503 case DLL_THREAD_ATTACH:
504 case DLL_THREAD_DETACH:
505 case DLL_PROCESS_DETACH: