1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- program testinit;
- {
- Test initilization of SDL2 system with a sample of flags.
- This file is part of
- SDL2-for-Pascal
- Copyright (C) 2020-2022 PGD Community
- Visit: https://github.com/PascalGameDevelopment/SDL2-for-Pascal
- }
- {$I testsettings.inc}
- uses
- Classes, SysUtils, SDL2;
- type
- ESDL2Error = class(Exception);
- const
- Flags: array[0..12] of TSDL_Init = (
- { single flags }
- SDL_INIT_TIMER, SDL_INIT_AUDIO, SDL_INIT_VIDEO,
- SDL_INIT_JOYSTICK, SDL_INIT_HAPTIC, SDL_INIT_GAMECONTROLLER,
- SDL_INIT_EVENTS, SDL_INIT_SENSOR, SDL_INIT_NOPARACHUTE,
- SDL_INIT_EVERYTHING,
- { typically combined flags }
- SDL_INIT_AUDIO or SDL_INIT_VIDEO,
- SDL_INIT_VIDEO or SDL_INIT_JOYSTICK,
- SDL_INIT_VIDEO or SDL_INIT_GAMECONTROLLER or SDL_INIT_AUDIO);
- var
- Flag: TSDL_Init;
- begin
- write('Start SDL2 inilization test... ');
- for Flag in Flags do
- begin
- try
- if SDL_Init(Flag) <> 0 then
- raise ESDL2Error.Create('SDL_Init failed: Flag = ' + IntToStr(Flag));
- except
- on E: ESDL2Error do
- try
- SDL_Quit;
- except
- raise;
- end;
- end;
- SDL_Quit;
- end;
- writeln(' finished.');
- end.
|