SDL standard library

Dependents:   H261_encoder

Committer:
miruga27
Date:
Wed Sep 07 18:46:53 2016 +0000
Revision:
0:dda4f4550403
7/09/2016;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
miruga27 0:dda4f4550403 1 /*
miruga27 0:dda4f4550403 2 Simple DirectMedia Layer
miruga27 0:dda4f4550403 3 Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
miruga27 0:dda4f4550403 4
miruga27 0:dda4f4550403 5 This software is provided 'as-is', without any express or implied
miruga27 0:dda4f4550403 6 warranty. In no event will the authors be held liable for any damages
miruga27 0:dda4f4550403 7 arising from the use of this software.
miruga27 0:dda4f4550403 8
miruga27 0:dda4f4550403 9 Permission is granted to anyone to use this software for any purpose,
miruga27 0:dda4f4550403 10 including commercial applications, and to alter it and redistribute it
miruga27 0:dda4f4550403 11 freely, subject to the following restrictions:
miruga27 0:dda4f4550403 12
miruga27 0:dda4f4550403 13 1. The origin of this software must not be misrepresented; you must not
miruga27 0:dda4f4550403 14 claim that you wrote the original software. If you use this software
miruga27 0:dda4f4550403 15 in a product, an acknowledgment in the product documentation would be
miruga27 0:dda4f4550403 16 appreciated but is not required.
miruga27 0:dda4f4550403 17 2. Altered source versions must be plainly marked as such, and must not be
miruga27 0:dda4f4550403 18 misrepresented as being the original software.
miruga27 0:dda4f4550403 19 3. This notice may not be removed or altered from any source distribution.
miruga27 0:dda4f4550403 20 */
miruga27 0:dda4f4550403 21
miruga27 0:dda4f4550403 22 #ifndef _SDL_main_h
miruga27 0:dda4f4550403 23 #define _SDL_main_h
miruga27 0:dda4f4550403 24
miruga27 0:dda4f4550403 25 #include "SDL_stdinc.h"
miruga27 0:dda4f4550403 26
miruga27 0:dda4f4550403 27 /**
miruga27 0:dda4f4550403 28 * \file SDL_main.h
miruga27 0:dda4f4550403 29 *
miruga27 0:dda4f4550403 30 * Redefine main() on some platforms so that it is called by SDL.
miruga27 0:dda4f4550403 31 */
miruga27 0:dda4f4550403 32
miruga27 0:dda4f4550403 33 #ifndef SDL_MAIN_HANDLED
miruga27 0:dda4f4550403 34 #if defined(__WIN32__)
miruga27 0:dda4f4550403 35 /* On Windows SDL provides WinMain(), which parses the command line and passes
miruga27 0:dda4f4550403 36 the arguments to your main function.
miruga27 0:dda4f4550403 37
miruga27 0:dda4f4550403 38 If you provide your own WinMain(), you may define SDL_MAIN_HANDLED
miruga27 0:dda4f4550403 39 */
miruga27 0:dda4f4550403 40 #define SDL_MAIN_AVAILABLE
miruga27 0:dda4f4550403 41
miruga27 0:dda4f4550403 42 #elif defined(__IPHONEOS__)
miruga27 0:dda4f4550403 43 /* On iOS SDL provides a main function that creates an application delegate
miruga27 0:dda4f4550403 44 and starts the iOS application run loop.
miruga27 0:dda4f4550403 45
miruga27 0:dda4f4550403 46 See src/video/uikit/SDL_uikitappdelegate.m for more details.
miruga27 0:dda4f4550403 47 */
miruga27 0:dda4f4550403 48 #define SDL_MAIN_NEEDED
miruga27 0:dda4f4550403 49
miruga27 0:dda4f4550403 50 #elif defined(__ANDROID__)
miruga27 0:dda4f4550403 51 /* On Android SDL provides a Java class in SDLActivity.java that is the
miruga27 0:dda4f4550403 52 main activity entry point.
miruga27 0:dda4f4550403 53
miruga27 0:dda4f4550403 54 See README-android.txt for more details on extending that class.
miruga27 0:dda4f4550403 55 */
miruga27 0:dda4f4550403 56 #define SDL_MAIN_NEEDED
miruga27 0:dda4f4550403 57
miruga27 0:dda4f4550403 58 #endif
miruga27 0:dda4f4550403 59 #endif /* SDL_MAIN_HANDLED */
miruga27 0:dda4f4550403 60
miruga27 0:dda4f4550403 61 #ifdef __cplusplus
miruga27 0:dda4f4550403 62 #define C_LINKAGE "C"
miruga27 0:dda4f4550403 63 #else
miruga27 0:dda4f4550403 64 #define C_LINKAGE
miruga27 0:dda4f4550403 65 #endif /* __cplusplus */
miruga27 0:dda4f4550403 66
miruga27 0:dda4f4550403 67 /**
miruga27 0:dda4f4550403 68 * \file SDL_main.h
miruga27 0:dda4f4550403 69 *
miruga27 0:dda4f4550403 70 * The application's main() function must be called with C linkage,
miruga27 0:dda4f4550403 71 * and should be declared like this:
miruga27 0:dda4f4550403 72 * \code
miruga27 0:dda4f4550403 73 * #ifdef __cplusplus
miruga27 0:dda4f4550403 74 * extern "C"
miruga27 0:dda4f4550403 75 * #endif
miruga27 0:dda4f4550403 76 * int main(int argc, char *argv[])
miruga27 0:dda4f4550403 77 * {
miruga27 0:dda4f4550403 78 * }
miruga27 0:dda4f4550403 79 * \endcode
miruga27 0:dda4f4550403 80 */
miruga27 0:dda4f4550403 81
miruga27 0:dda4f4550403 82 #if defined(SDL_MAIN_NEEDED) || defined(SDL_MAIN_AVAILABLE)
miruga27 0:dda4f4550403 83 #define main SDL_main
miruga27 0:dda4f4550403 84 #endif
miruga27 0:dda4f4550403 85
miruga27 0:dda4f4550403 86 /**
miruga27 0:dda4f4550403 87 * The prototype for the application's main() function
miruga27 0:dda4f4550403 88 */
miruga27 0:dda4f4550403 89 extern C_LINKAGE int SDL_main(int argc, char *argv[]);
miruga27 0:dda4f4550403 90
miruga27 0:dda4f4550403 91
miruga27 0:dda4f4550403 92 #include "begin_code.h"
miruga27 0:dda4f4550403 93 #ifdef __cplusplus
miruga27 0:dda4f4550403 94 extern "C" {
miruga27 0:dda4f4550403 95 #endif
miruga27 0:dda4f4550403 96
miruga27 0:dda4f4550403 97 /**
miruga27 0:dda4f4550403 98 * This is called by the real SDL main function to let the rest of the
miruga27 0:dda4f4550403 99 * library know that initialization was done properly.
miruga27 0:dda4f4550403 100 *
miruga27 0:dda4f4550403 101 * Calling this yourself without knowing what you're doing can cause
miruga27 0:dda4f4550403 102 * crashes and hard to diagnose problems with your application.
miruga27 0:dda4f4550403 103 */
miruga27 0:dda4f4550403 104 extern DECLSPEC void SDLCALL SDL_SetMainReady(void);
miruga27 0:dda4f4550403 105
miruga27 0:dda4f4550403 106 #ifdef __WIN32__
miruga27 0:dda4f4550403 107
miruga27 0:dda4f4550403 108 /**
miruga27 0:dda4f4550403 109 * This can be called to set the application class at startup
miruga27 0:dda4f4550403 110 */
miruga27 0:dda4f4550403 111 extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style,
miruga27 0:dda4f4550403 112 void *hInst);
miruga27 0:dda4f4550403 113 extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
miruga27 0:dda4f4550403 114
miruga27 0:dda4f4550403 115 #endif /* __WIN32__ */
miruga27 0:dda4f4550403 116
miruga27 0:dda4f4550403 117
miruga27 0:dda4f4550403 118 #ifdef __cplusplus
miruga27 0:dda4f4550403 119 }
miruga27 0:dda4f4550403 120 #endif
miruga27 0:dda4f4550403 121 #include "close_code.h"
miruga27 0:dda4f4550403 122
miruga27 0:dda4f4550403 123 #endif /* _SDL_main_h */
miruga27 0:dda4f4550403 124
miruga27 0:dda4f4550403 125 /* vi: set ts=4 sw=4 expandtab: */