SDL2.def 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. DEFINITION MODULE FOR "C" SDL2 ;
  2. (*
  3. m2SDL - core SDL2 subsystem control, error handling and timing.
  4. GNU Modula-2 binding, mapped onto <SDL.h>, <SDL_error.h>, <SDL_timer.h>.
  5. Mapping notes
  6. -------------
  7. * CARDINAL <-> Uint32 / unsigned int
  8. * INTEGER <-> int
  9. * ADDRESS <-> opaque pointers (char *, SDL_Window * escapes via SDLVideo)
  10. * ARRAY OF CHAR parameters map onto (char * ) - pass string literals
  11. or CHAR arrays directly, as documented in the GM2 "Interface to C" node.
  12. *)
  13. FROM SYSTEM IMPORT ADDRESS;
  14. EXPORT UNQUALIFIED
  15. (* --- init flags (SDL_INIT_* from SDL.h) --- *)
  16. SDLInitTimer, SDLInitAudio, SDLInitVideo,
  17. SDLInitJoystick, SDLInitHaptic, SDLInitGameController,
  18. SDLInitEvents, SDLInitSensor, SDLInitEverything,
  19. (* --- core --- *)
  20. SDL_Init, SDL_InitSubSystem, SDL_QuitSubSystem,
  21. SDL_WasInit, SDL_Quit,
  22. (* --- errors --- *)
  23. SDL_GetError, SDL_ClearError,
  24. (* --- timing --- *)
  25. SDL_Delay, SDL_GetTicks, SDL_GetTicks64,
  26. SDL_GetPerformanceCounter, SDL_GetPerformanceFrequency;
  27. CONST
  28. SDLInitTimer = 000000001H; (* 0x00000001 *)
  29. SDLInitAudio = 000000010H; (* 0x00000010 *)
  30. SDLInitVideo = 000000020H; (* 0x00000020 *)
  31. SDLInitJoystick = 000000200H; (* 0x00000200 *)
  32. SDLInitHaptic = 000001000H; (* 0x00001000 *)
  33. SDLInitGameController = 000002000H; (* 0x00002000 *)
  34. SDLInitEvents = 000004000H; (* 0x00004000 *)
  35. SDLInitSensor = 000008000H; (* 0x00008000 *)
  36. SDLInitEverything = 00000F231H; (* TIMER|AUDIO|VIDEO|EVENTS|
  37. JOYSTICK|HAPTIC|GAMECONTROLLER|SENSOR *)
  38. (* int SDL_Init(Uint32 flags) *)
  39. PROCEDURE SDL_Init (flags: CARDINAL) : INTEGER;
  40. (* int SDL_InitSubSystem(Uint32 flags) *)
  41. PROCEDURE SDL_InitSubSystem (flags: CARDINAL) : INTEGER;
  42. (* void SDL_QuitSubSystem(Uint32 flags) *)
  43. PROCEDURE SDL_QuitSubSystem (flags: CARDINAL);
  44. (* Uint32 SDL_WasInit(Uint32 flags) *)
  45. PROCEDURE SDL_WasInit (flags: CARDINAL) : CARDINAL;
  46. (* void SDL_Quit(void) *)
  47. PROCEDURE SDL_Quit ();
  48. (* const char *SDL_GetError(void) *)
  49. PROCEDURE SDL_GetError () : ADDRESS;
  50. (* void SDL_ClearError(void) *)
  51. PROCEDURE SDL_ClearError ();
  52. (* void SDL_Delay(Uint32 ms) *)
  53. PROCEDURE SDL_Delay (ms: CARDINAL);
  54. (* Uint32 SDL_GetTicks(void) *)
  55. PROCEDURE SDL_GetTicks () : CARDINAL;
  56. (* Uint64 SDL_GetTicks64(void) - LONGCARD <-> unsigned long long *)
  57. PROCEDURE SDL_GetTicks64 () : LONGCARD;
  58. (* Uint64 SDL_GetPerformanceCounter(void) *)
  59. PROCEDURE SDL_GetPerformanceCounter () : LONGCARD;
  60. (* Uint64 SDL_GetPerformanceFrequency(void) *)
  61. PROCEDURE SDL_GetPerformanceFrequency () : LONGCARD;
  62. END SDL2.