01_image_on_screen.cpp 657 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include <cstdio>
  2. #include <cerrno>
  3. #include "simple/graphical/initializer.h"
  4. #include "simple/graphical/software_window.h"
  5. #include "simple/graphical/algorithm/blit.h"
  6. using namespace simple::graphical;
  7. int main(int argc, char const* argv[]) try
  8. {
  9. if(argc < 2)
  10. {
  11. std::puts("Image not specified.");
  12. return -1;
  13. }
  14. initializer init;
  15. surface image(argv[1]);
  16. software_window win("Image", image.size(), window::flags::borderless);
  17. blit(image, win.surface());
  18. win.update();
  19. SDL_Delay(1313);
  20. return 0;
  21. }
  22. catch(...)
  23. {
  24. if(errno)
  25. std::perror("ERROR");
  26. const char* sdl_error = SDL_GetError();
  27. if(*sdl_error)
  28. std::puts(sdl_error);
  29. throw;
  30. }