BasicSdlWindowExample.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. // customized game logic
  29. if (engine.getData()->getKeyboard()->isPressed(KeyboardKeys::ESCAPE))
  30. {
  31. engine.quit();
  32. }
  33. // draw and ending frame
  34. engine.endFrame();
  35. }
  36. return statusCode.getCode() == StatusCodes::OK ? EXIT_SUCCESS : EXIT_FAILURE;
  37. }