SDL_main.h
上传用户:detong
上传日期:2022-06-22
资源大小:20675k
文件大小:3k
源码类别:

系统编程

开发平台:

Unix_Linux

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