home *** CD-ROM | disk | FTP | other *** search
/ RISCWORLD 7 / RISCWORLD_VOL7.iso / Software / Issue6 / SDL.ZIP / !SDL / include / SDL / h / SDL_main < prev    next >
Encoding:
Text File  |  2006-09-20  |  2.7 KB  |  99 lines

  1. /*
  2.     SDL - Simple DirectMedia Layer
  3.     Copyright (C) 1997-2006 Sam Lantinga
  4.  
  5.     This library is free software; you can redistribute it and/or
  6.     modify it under the terms of the GNU Lesser General Public
  7.     License as published by the Free Software Foundation; either
  8.     version 2.1 of the License, or (at your option) any later version.
  9.  
  10.     This library is distributed in the hope that it will be useful,
  11.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.     Lesser General Public License for more details.
  14.  
  15.     You should have received a copy of the GNU Lesser General Public
  16.     License along with this library; if not, write to the Free Software
  17.     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  18.  
  19.     Sam Lantinga
  20.     slouken@libsdl.org
  21. */
  22.  
  23. #ifndef _SDL_main_h
  24. #define _SDL_main_h
  25.  
  26. #include "SDL_stdinc.h"
  27.  
  28. /* Redefine main() on Win32 and MacOS so that it is called by winmain.c */
  29.  
  30. #if defined(__WIN32__) || \
  31.     (defined(__MWERKS__) && !defined(__BEOS__)) || \
  32.     defined(__MACOS__) || defined(__MACOSX__) || \
  33.     defined(__SYMBIAN32__) || defined(QWS)
  34.  
  35. #ifdef __cplusplus
  36. #define C_LINKAGE    "C"
  37. #else
  38. #define C_LINKAGE
  39. #endif /* __cplusplus */
  40.  
  41. /* The application's main() function must be called with C linkage,
  42.    and should be declared like this:
  43. #ifdef __cplusplus
  44. extern "C"
  45. #endif
  46.     int main(int argc, char *argv[])
  47.     {
  48.     }
  49.  */
  50. #define main    SDL_main
  51.  
  52. /* The prototype for the application's main() function */
  53. extern C_LINKAGE int SDL_main(int argc, char *argv[]);
  54.  
  55.  
  56. /* From the SDL library code -- needed for registering the app on Win32 */
  57. #ifdef __WIN32__
  58.  
  59. #include "begin_code.h"
  60. #ifdef __cplusplus
  61. extern "C" {
  62. #endif
  63.  
  64. /* This should be called from your WinMain() function, if any */
  65. extern DECLSPEC void SDLCALL SDL_SetModuleHandle(void *hInst);
  66. /* This can also be called, but is no longer necessary */
  67. extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, void *hInst);
  68. /* This can also be called, but is no longer necessary (SDL_Quit calls it) */
  69. extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
  70. #ifdef __cplusplus
  71. }
  72. #endif
  73. #include "close_code.h"
  74. #endif
  75.  
  76. /* From the SDL library code -- needed for registering QuickDraw on MacOS */
  77. #if defined(__MACOS__)
  78.  
  79. #include "begin_code.h"
  80. #ifdef __cplusplus
  81. extern "C" {
  82. #endif
  83.  
  84. /* Forward declaration so we don't need to include QuickDraw.h */
  85. struct QDGlobals;
  86.  
  87. /* This should be called from your main() function, if any */
  88. extern DECLSPEC void SDLCALL SDL_InitQuickDraw(struct QDGlobals *the_qd);
  89.  
  90. #ifdef __cplusplus
  91. }
  92. #endif
  93. #include "close_code.h"
  94. #endif
  95.  
  96. #endif /* Need to redefine main()? */
  97.  
  98. #endif /* _SDL_main_h */
  99.