include/SDL_main.h
author Sam Lantinga <slouken@libsdl.org>
Sat, 18 May 2013 14:17:52 -0700
changeset 7191 75360622e65f
parent 6885 700f1b25f77f
child 7281 cd5516b9263d
permissions -rw-r--r--
File style cleanup for the SDL 2.0 release
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@7191
    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@7191
    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@7191
    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@0
    72
extern "C" {
slouken@0
    73
#endif
slouken@0
    74
slouken@5320
    75
#ifdef __WIN32__
slouken@5320
    76
slouken@3407
    77
/**
slouken@3407
    78
 *  This can be called to set the application class at startup
slouken@3407
    79
 */
slouken@1895
    80
extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style,
slouken@1895
    81
                                            void *hInst);
slouken@1466
    82
extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
slouken@1895
    83
slouken@5320
    84
#endif /* __WIN32__ */
slouken@5320
    85
slouken@5320
    86
slouken@0
    87
#ifdef __cplusplus
slouken@0
    88
}
slouken@0
    89
#endif
slouken@0
    90
#include "close_code.h"
slouken@0
    91
slouken@0
    92
#endif /* _SDL_main_h */
slouken@1895
    93
slouken@1895
    94
/* vi: set ts=4 sw=4 expandtab: */