Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <iostream>
- #include <string>
- #include <vector>
- #include <filesystem>
- #include <thread>
- #include <chrono>
- #include "SDL.h"
- #include "SDL_image.h"
- int main(int argc, char** argv) {
- std::vector<SDL_Texture*> texture_list;
- SDL_Init(SDL_INIT_VIDEO);
- SDL_Window* window = SDL_CreateWindow( "", 0, 0, 7680, 4320, SDL_WINDOW_BORDERLESS);
- SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
- namespace fs = std::experimental::filesystem;
- for ( auto ent : fs::recursive_directory_iterator("c:\picture\1k") ) {
- if(!fs::is_directory(ent)){
- auto f = ent.path().generic_string();
- auto surface = IMG_Load(f.c_str());
- std::cout << "file:" << f << std::endl;
- auto tex = SDL_CreateTextureFromSurface(renderer, surface);
- if(!tex){
- std::cout << "SDL_CreateTextureFromSurface error" << std::endl;
- std::cout << SDL_GetError() << std::endl;
- }
- texture_list.push_back(tex);
- SDL_FreeSurface(surface);
- }
- }
- while (true) {
- for (auto tex : texture_list) {
- if(SDL_RenderClear(renderer) != 0){
- std::cout << "SDL_RenderClear error" << std::endl;
- std::cout << SDL_GetError() << std::endl;
- }
- if(SDL_RenderCopy(renderer, tex, NULL, NULL) < 0){
- std::cout << "SDL_RenderCopy error" << std::endl;
- std::cout << SDL_GetError() << std::endl;
- }
- SDL_RenderPresent(renderer);
- SDL_Delay(1);
- //std::cout << cnt++ << std::endl;
- SDL_Event event;
- if(SDL_PollEvent(&event)){
- std::cout << event.type << std::endl;
- switch (event.type) {
- case SDL_KEYDOWN:
- switch (event.key.keysym.sym) {
- case SDLK_q:
- exit(0);
- }
- break;
- }
- }
- }
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment