Skip to content

Instantly share code, notes, and snippets.

@armornick
Created August 23, 2012 08:47
Show Gist options
  • Star 40 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save armornick/3434362 to your computer and use it in GitHub Desktop.
Save armornick/3434362 to your computer and use it in GitHub Desktop.
Draw an Image with SDL2
#include <stdio.h>
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#define WIDTH 800
#define HEIGHT 600
#define IMG_PATH "exit.png"
int main (int argc, char *argv[]) {
// variable declarations
SDL_Window *win = NULL;
SDL_Renderer *renderer = NULL;
SDL_Texture *img = NULL;
int w, h; // texture width & height
// Initialize SDL.
if (SDL_Init(SDL_INIT_VIDEO) < 0)
return 1;
// create the window and renderer
// note that the renderer is accelerated
win = SDL_CreateWindow("Image Loading", 100, 100, WIDTH, HEIGHT, 0);
renderer = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED);
// load our image
img = IMG_LoadTexture(renderer, IMG_PATH);
SDL_QueryTexture(img, NULL, NULL, &w, &h); // get the width and height of the texture
// put the location where we want the texture to be drawn into a rectangle
// I'm also scaling the texture 2x simply by setting the width and height
SDL_Rect texr; texr.x = WIDTH/2; texr.y = HEIGHT/2; texr.w = w*2; texr.h = h*2;
// main loop
while (1) {
// event handling
SDL_Event e;
if ( SDL_PollEvent(&e) ) {
if (e.type == SDL_QUIT)
break;
else if (e.type == SDL_KEYUP && e.key.keysym.sym == SDLK_ESCAPE)
break;
}
// clear the screen
SDL_RenderClear(renderer);
// copy the texture to the rendering context
SDL_RenderCopy(renderer, img, NULL, &texr);
// flip the backbuffer
// this means that everything that we prepared behind the screens is actually shown
SDL_RenderPresent(renderer);
}
SDL_DestroyTexture(img);
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(win);
return 0;
}
@nikeedev
Copy link

nikeedev commented Apr 5, 2024

i love you

gay

How the heck is he or even she gay by loving someone??

@nmUnderscore9
Copy link

i love you

gay

How the heck is he or even she gay by loving someone??

i was joking

@SH2282000
Copy link

SH2282000 commented May 2, 2024

Damn, why are all those people still here. Bros need to get a life.

Go contribute to some open-source projects!

@nikeedev
Copy link

nikeedev commented May 3, 2024

i love you

gay

How the heck is he or even she gay by loving someone??

i was joking

very funny

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment