2
0

testinit.pas 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. program testinit;
  2. {
  3. Test initilization of SDL2 system with a sample of flags.
  4. This file is part of
  5. SDL2-for-Pascal
  6. Copyright (C) 2020-2022 PGD Community
  7. Visit: https://github.com/PascalGameDevelopment/SDL2-for-Pascal
  8. }
  9. {$I testsettings.inc}
  10. uses
  11. Classes, SysUtils, SDL2;
  12. type
  13. ESDL2Error = class(Exception);
  14. const
  15. Flags: array[0..12] of TSDL_Init = (
  16. { single flags }
  17. SDL_INIT_TIMER, SDL_INIT_AUDIO, SDL_INIT_VIDEO,
  18. SDL_INIT_JOYSTICK, SDL_INIT_HAPTIC, SDL_INIT_GAMECONTROLLER,
  19. SDL_INIT_EVENTS, SDL_INIT_SENSOR, SDL_INIT_NOPARACHUTE,
  20. SDL_INIT_EVERYTHING,
  21. { typically combined flags }
  22. SDL_INIT_AUDIO or SDL_INIT_VIDEO,
  23. SDL_INIT_VIDEO or SDL_INIT_JOYSTICK,
  24. SDL_INIT_VIDEO or SDL_INIT_GAMECONTROLLER or SDL_INIT_AUDIO);
  25. var
  26. Flag: TSDL_Init;
  27. begin
  28. write('Start SDL2 inilization test... ');
  29. for Flag in Flags do
  30. begin
  31. try
  32. if SDL_Init(Flag) <> 0 then
  33. raise ESDL2Error.Create('SDL_Init failed: Flag = ' + IntToStr(Flag));
  34. except
  35. on E: ESDL2Error do
  36. try
  37. SDL_Quit;
  38. except
  39. raise;
  40. end;
  41. end;
  42. SDL_Quit;
  43. end;
  44. writeln(' finished.');
  45. end.