BasicSdlWindowExample.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * author: Patrick-Christopher Mattulat
  3. * e-mail: webmaster@lynarstudios.com
  4. */
  5. #include <cycle/Engine.hpp>
  6. #include <cycle/EngineParameter.hpp>
  7. #include <glossary/KeyboardKeys.hpp>
  8. #include <glossary/StatusCodes.hpp>
  9. #include <glossary/WindowApiTypes.hpp>
  10. using ls::atlantis::cycle::Engine;
  11. using ls::atlantis::cycle::EngineParameter;
  12. using ls::atlantis::glossary::KeyboardKeys;
  13. using ls::atlantis::glossary::StatusCodes;
  14. using ls::atlantis::glossary::WindowApiTypes;
  15. using ls::atlantis::interfaces::AStatusCode;
  16. /*
  17. * This example application opens a fullscreen window, which can be closed via Escape-Keyboard-Key.
  18. */
  19. int main()
  20. {
  21. EngineParameter parameter{};
  22. parameter.setWindowApiType(WindowApiTypes::SDL_WINDOW_API);
  23. const Engine engine{parameter};
  24. const AStatusCode statusCode = engine.init();
  25. while (engine.isRunning())
  26. {
  27. engine.beginFrame();
  28. if (engine.getData()->getKeyboard()->isFreed(KeyboardKeys::ESCAPE))
  29. {
  30. engine.quit();
  31. }
  32. engine.endFrame();
  33. }
  34. return statusCode.getCode() == StatusCodes::OK ? EXIT_SUCCESS : EXIT_FAILURE;
  35. }