#include #include "SDL2/SDL.h" int main(int argc, char** argv){ // Initialize SDL: if (SDL_Init(SDL_INIT_EVERYTHING) != 0){ printf("Error: %s \n", SDL_GetError()); return 1; } // Open a window: SDL_Window *window = SDL_CreateWindow("Hello World!", 250, 300, 640, 480, SDL_WINDOW_SHOWN); // Set up the renderer: SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC); // Set drawing color to black and clear the window: SDL_SetRenderDrawColor(renderer, 235, 235, 235, 255); SDL_RenderClear(renderer); // Load an image: SDL_Surface *fig = SDL_LoadBMP("logo.bmp"); // create a texture and delete the surface: SDL_Texture *texture = CreateTextureFromSurface(renderer, fig); SDL_FreeSurface(fig); // Set the size and position of the image in the window: SDL_Rect pos; pos.x = 150; pos.y = 100; SDL_QueryTexture(texture, NULL, NULL, &pos.w, &pos.h); // Glue the texture into the window: SDL_RenderCopy(renderer, texture, NULL, &pos); // Display: SDL_RenderPresent(renderer); // Wait for a keystroke or mouse click: SDL_Event myevent; int quit=1; while(quit) { SDL_WaitEvent(&myevent); switch(myevent.type) { case SDL_QUIT: printf("Window closed\n"); quit=0; break; case SDL_KEYDOWN: printf("Keypress\n"); printf("Physical key %s pressed as key %s\n", GetScancodeName( event.key.keysym.scancode), GetKeyName(myevent.key.keysym.sym)); quit=0; break; case SDL_MOUSEBUTTONDOWN: printf("Left mouse button pressed at\n"); printf("Position: (%d, %d)\n", myevent.motion.x, myevent.motion.y); quit=0; break; } } SDL_DestroyTexture(texture); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); return 0; }