Advertisement
Guest User

SDL2 Prog

a guest
Aug 9th, 2022
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #include <SDL.h>
  2. #include <SDL_image.h>
  3.  
  4. int main(){
  5.     // Setup everything
  6.     SDL_Init(SDL_INIT_VIDEO);
  7.     IMG_Init(IMG_INIT_PNG);
  8.     SDL_Window *window = SDL_CreateWindow(
  9.         "Get the cake",
  10.         SDL_WINDOWPOS_UNDEFINED,
  11.         SDL_WINDOWPOS_UNDEFINED,
  12.         800,
  13.         600,
  14.         SDL_WINDOW_OPENGL
  15.     );
  16.     // Issue goes away if I change the '0' in this line to SDL_RENDERER_SOFTWARE
  17.     SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0);
  18.    
  19.     // Load cake image
  20.     SDL_Surface * cake_img = IMG_Load("../assets/cake.png");
  21.     SDL_Texture * cake = SDL_CreateTextureFromSurface(renderer, cake_img);
  22.     SDL_Rect cake_rect;
  23.     cake_rect.x = 100;
  24.     cake_rect.y = 100;
  25.     cake_rect.w = 64;
  26.     cake_rect.h = 64;
  27.    
  28.     // Main event loop
  29.     bool is_running = true;
  30.     const Uint8* keys = SDL_GetKeyboardState(NULL);
  31.     while (is_running){
  32.         SDL_Event event;
  33.         while (SDL_PollEvent(&event)){
  34.             if (event.type == SDL_QUIT){
  35.                 is_running = false;
  36.             }
  37.         }
  38.  
  39.         SDL_RenderCopy(renderer, cake, NULL, &cake_rect);
  40.  
  41.         SDL_RenderPresent(renderer);
  42.     }
  43.    
  44.     // Cleaning up
  45.     SDL_DestroyTexture(cake);
  46.     SDL_FreeSurface(cake_img);
  47.     SDL_DestroyRenderer(renderer);
  48.     SDL_DestroyWindow(window);
  49.     SDL_Quit();
  50.     IMG_Quit();
  51. }
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement