include/SDL_main.h
author Sam Lantinga <slouken@libsdl.org>
Fri, 15 Feb 2013 08:47:44 -0800
changeset 6885 700f1b25f77f
parent 6138 4c64952a58fb
child 7191 75360622e65f
child 8439 14d94a8a9fb6
permissions -rw-r--r--
Happy New Year!
slouken@0
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@6885
     3
  Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
slouken@0
     4
slouken@5535
     5
  This software is provided 'as-is', without any express or implied
slouken@5535
     6
  warranty.  In no event will the authors be held liable for any damages
slouken@5535
     7
  arising from the use of this software.
slouken@0
     8
slouken@5535
     9
  Permission is granted to anyone to use this software for any purpose,
slouken@5535
    10
  including commercial applications, and to alter it and redistribute it
slouken@5535
    11
  freely, subject to the following restrictions:
slouken@0
    12
slouken@5535
    13
  1. The origin of this software must not be misrepresented; you must not
slouken@5535
    14
     claim that you wrote the original software. If you use this software
slouken@5535
    15
     in a product, an acknowledgment in the product documentation would be
slouken@5535
    16
     appreciated but is not required.
slouken@5535
    17
  2. Altered source versions must be plainly marked as such, and must not be
slouken@5535
    18
     misrepresented as being the original software.
slouken@5535
    19
  3. This notice may not be removed or altered from any source distribution.
slouken@0
    20
*/
slouken@0
    21
slouken@0
    22
#ifndef _SDL_main_h
slouken@0
    23
#define _SDL_main_h
slouken@0
    24
slouken@1356
    25
#include "SDL_stdinc.h"
slouken@1356
    26
slouken@3407
    27
/**
slouken@3407
    28
 *  \file SDL_main.h
slouken@3407
    29
 *  
slouken@3407
    30
 *  Redefine main() on some platforms so that it is called by SDL.
slouken@3407
    31
 */
slouken@0
    32
slouken@5320
    33
#if defined(__WIN32__) || defined(__IPHONEOS__) || defined(__ANDROID__)
slouken@5320
    34
#ifndef SDL_MAIN_HANDLED
slouken@5320
    35
#define SDL_MAIN_NEEDED
slouken@5320
    36
#endif
slouken@5320
    37
#endif
slouken@0
    38
slouken@0
    39
#ifdef __cplusplus
slouken@0
    40
#define C_LINKAGE	"C"
slouken@0
    41
#else
slouken@0
    42
#define C_LINKAGE
slouken@0
    43
#endif /* __cplusplus */
slouken@0
    44
slouken@3407
    45
/**
slouken@3407
    46
 *  \file SDL_main.h
slouken@3407
    47
 *
slouken@3407
    48
 *  The application's main() function must be called with C linkage,
slouken@3407
    49
 *  and should be declared like this:
slouken@3407
    50
 *  \code
slouken@3407
    51
 *  #ifdef __cplusplus
slouken@3407
    52
 *  extern "C"
slouken@3407
    53
 *  #endif
slouken@3407
    54
 *  int main(int argc, char *argv[])
slouken@3407
    55
 *  {
slouken@3407
    56
 *  }
slouken@3407
    57
 *  \endcode
slouken@0
    58
 */
slouken@3407
    59
slouken@5320
    60
#ifdef SDL_MAIN_NEEDED
slouken@0
    61
#define main	SDL_main
slouken@5320
    62
#endif
slouken@0
    63
slouken@3407
    64
/**
slouken@3407
    65
 *  The prototype for the application's main() function
slouken@3407
    66
 */
slouken@0
    67
extern C_LINKAGE int SDL_main(int argc, char *argv[]);
slouken@0
    68
slouken@0
    69
slouken@0
    70
#include "begin_code.h"
slouken@0
    71
#ifdef __cplusplus
slouken@1895
    72
/* *INDENT-OFF* */
slouken@0
    73
extern "C" {
slouken@1895
    74
/* *INDENT-ON* */
slouken@0
    75
#endif
slouken@0
    76
slouken@5320
    77
#ifdef __WIN32__
slouken@5320
    78
slouken@3407
    79
/**
slouken@3407
    80
 *  This can be called to set the application class at startup
slouken@3407
    81
 */
slouken@1895
    82
extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style,
slouken@1895
    83
                                            void *hInst);
slouken@1466
    84
extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
slouken@1895
    85
slouken@5320
    86
#endif /* __WIN32__ */
slouken@5320
    87
slouken@5320
    88
slouken@0
    89
#ifdef __cplusplus
slouken@1895
    90
/* *INDENT-OFF* */
slouken@0
    91
}
slouken@1895
    92
/* *INDENT-ON* */
slouken@0
    93
#endif
slouken@0
    94
#include "close_code.h"
slouken@0
    95
slouken@0
    96
#endif /* _SDL_main_h */
slouken@1895
    97
slouken@1895
    98
/* vi: set ts=4 sw=4 expandtab: */