Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.     SDL - Simple DirectMedia Layer
  3.     Copyright (C) 1997-2004 Sam Lantinga
  4.  
  5.     This library is free software; you can redistribute it and/or
  6.     modify it under the terms of the GNU Library General Public
  7.     License as published by the Free Software Foundation; either
  8.     version 2 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.     Library General Public License for more details.
  14.  
  15.     You should have received a copy of the GNU Library General Public
  16.     License along with this library; if not, write to the Free
  17.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  18.  
  19.     Sam Lantinga
  20.     slouken@libsdl.org
  21. */
  22.  
  23. #ifdef SAVE_RCSID
  24. static char rcsid =
  25.  "@(#) $Id: SDL_main.h,v 1.12 2004/01/04 16:49:07 slouken Exp $";
  26. #endif
  27.  
  28. #ifndef _SDL_main_h
  29. #define _SDL_main_h
  30.  
  31. /* Redefine main() on Win32 and MacOS so that it is called by winmain.c */
  32.  
  33. #if defined(WIN32) || defined(_WIN32) || \
  34.     (defined(__MWERKS__) && !defined(__BEOS__)) || \
  35.     defined(macintosh) || defined(__APPLE__) || \
  36.     defined(__SYMBIAN32__) || defined(QWS)
  37.  
  38. #ifdef __cplusplus
  39. #define C_LINKAGE       "C"
  40. #else
  41. #define C_LINKAGE
  42. #endif /* __cplusplus */
  43.  
  44. /* The application's main() function must be called with C linkage,
  45.    and should be declared like this:
  46. #ifdef __cplusplus
  47. extern "C"
  48. #endif
  49.         int main(int argc, char *argv[])
  50.         {
  51.         }
  52.  */
  53. #define main    SDL_main
  54.  
  55. /* The prototype for the application's main() function */
  56. extern C_LINKAGE int SDL_main(int argc, char *argv[]);
  57.  
  58.  
  59. /* From the SDL library code -- needed for registering the app on Win32 */
  60. #if defined(WIN32)
  61. #include "SDL_types.h"
  62. #include "begin_code.h"
  63.  
  64. #ifdef __cplusplus
  65. extern "C" {
  66. #endif
  67.  
  68. /* This should be called from your WinMain() function, if any */
  69. extern DECLSPEC void SDLCALL SDL_SetModuleHandle(void *hInst);
  70. /* This can also be called, but is no longer necessary */
  71. extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, void *hInst);
  72.  
  73. #ifdef __cplusplus
  74. }
  75. #endif
  76. #include "close_code.h"
  77. #endif
  78.  
  79. /* From the SDL library code -- needed for registering QuickDraw on MacOS */
  80. #if defined(macintosh)
  81. #include "begin_code.h"
  82.  
  83. #ifdef __cplusplus
  84. extern "C" {
  85. #endif
  86.  
  87. /* Forward declaration so we don't need to include QuickDraw.h */
  88. struct QDGlobals;
  89.  
  90. /* This should be called from your main() function, if any */
  91. extern DECLSPEC void SDLCALL SDL_InitQuickDraw(struct QDGlobals *the_qd);
  92.  
  93. #ifdef __cplusplus
  94. }
  95. #endif
  96. #include "close_code.h"
  97. #endif
  98.  
  99. #endif /* Need to redefine main()? */
  100.  
  101. #endif /* _SDL_main_h */
  102.