Guest User

Untitled

a guest
Dec 11th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. #include <fstream>
  2. #include <iostream>
  3. #include <string>
  4. #include <vector>
  5. #include <filesystem>
  6. #include <thread>
  7. #include <chrono>
  8.  
  9. #include "SDL.h"
  10. #include "SDL_image.h"
  11.  
  12. int main(int argc, char** argv) {
  13.  
  14.  
  15. std::vector<SDL_Texture*> texture_list;
  16. SDL_Init(SDL_INIT_VIDEO);
  17.  
  18. SDL_Window* window = SDL_CreateWindow( "", 0, 0, 7680, 4320, SDL_WINDOW_BORDERLESS);
  19.  
  20. SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
  21.  
  22. namespace fs = std::experimental::filesystem;
  23.  
  24. for ( auto ent : fs::recursive_directory_iterator("c:\picture\1k") ) {
  25. if(!fs::is_directory(ent)){
  26. auto f = ent.path().generic_string();
  27. auto surface = IMG_Load(f.c_str());
  28. std::cout << "file:" << f << std::endl;
  29. auto tex = SDL_CreateTextureFromSurface(renderer, surface);
  30. if(!tex){
  31. std::cout << "SDL_CreateTextureFromSurface error" << std::endl;
  32. std::cout << SDL_GetError() << std::endl;
  33. }
  34. texture_list.push_back(tex);
  35.  
  36. SDL_FreeSurface(surface);
  37. }
  38. }
  39.  
  40. while (true) {
  41. for (auto tex : texture_list) {
  42.  
  43. if(SDL_RenderClear(renderer) != 0){
  44. std::cout << "SDL_RenderClear error" << std::endl;
  45. std::cout << SDL_GetError() << std::endl;
  46. }
  47. if(SDL_RenderCopy(renderer, tex, NULL, NULL) < 0){
  48. std::cout << "SDL_RenderCopy error" << std::endl;
  49. std::cout << SDL_GetError() << std::endl;
  50. }
  51. SDL_RenderPresent(renderer);
  52.  
  53. SDL_Delay(1);
  54. //std::cout << cnt++ << std::endl;
  55. SDL_Event event;
  56.  
  57. if(SDL_PollEvent(&event)){
  58. std::cout << event.type << std::endl;
  59. switch (event.type) {
  60. case SDL_KEYDOWN:
  61. switch (event.key.keysym.sym) {
  62. case SDLK_q:
  63. exit(0);
  64.  
  65. }
  66. break;
  67. }
  68. }
  69. }
  70. }
  71.  
  72. return 0;
  73. }
Add Comment
Please, Sign In to add comment