Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SDL/SDL.h>
- #include <stdio.h>
- int main(int argc, char* args[])
- {
- SDL_Window* window = NULL;
- SDL_Surface* background_surface = NULL;
- SDL_Texture* background_texture = NULL;
- SDL_Surface* button_surface = NULL;
- SDL_Texture* button_texture = NULL;
- SDL_Surface* image_3 = NULL;
- SDL_Texture* image_3_texture = NULL;
- // need a renderer when using textures
- SDL_Renderer* renderer = NULL;
- if (SDL_Init(SDL_INIT_VIDEO) < 0)
- {
- printf("SDL did not init: %s\n", SDL_GetError());
- return 1;
- }
- window = SDL_CreateWindow("SDL example", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 800, 600, SDL_WINDOW_SHOWN);
- if (window == NULL)
- {
- printf("Window could not be opened: %s\n", SDL_GetError());
- return 1;
- }
- renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
- if (renderer == NULL)
- {
- printf("Failed to create renderer: %s\n", SDL_GetError());
- return 1;
- }
- background_surface = SDL_LoadBMP("./background.bmp");
- background_texture = SDL_CreateTextureFromSurface(renderer, background_surface);
- SDL_FreeSurface(background_surface);
- background_surface = NULL;
- SDL_Rect background_texture_rect;
- background_texture_rect.x = 0;
- background_texture_rect.y = 0;
- background_texture_rect.w = 800;
- background_texture_rect.h = 600;
- button_surface = SDL_LoadBMP("./button.bmp");
- button_texture = SDL_CreateTextureFromSurface(renderer, button_surface);
- SDL_FreeSurface(button_surface);
- button_surface = NULL;
- SDL_Rect button_texture_rect;
- button_texture_rect.x = 0;
- button_texture_rect.y = 0;
- button_texture_rect.w = 200;
- button_texture_rect.h = 100;
- image_3 = SDL_LoadBMP("./image3.bmp");
- image_3_texture = SDL_CreateTextureFromSurface(renderer, image_3);
- SDL_FreeSurface(image_3);
- image_3 = NULL;
- SDL_Rect image_3_texture_rect;
- image_3_texture_rect.x = 200;
- image_3_texture_rect.y = 200;
- image_3_texture_rect.w = 188;
- image_3_texture_rect.h = 155;
- int running = 1;
- while (running)
- {
- SDL_Event sevent;
- while (SDL_PollEvent(&sevent))
- {
- switch (sevent.type)
- {
- case SDL_KEYDOWN:
- {
- if (sevent.key.keysym.sym == SDLK_ESCAPE)
- running = 0;
- break;
- }
- case SDL_QUIT:
- {
- running = 0;
- break;
- }
- }
- }
- SDL_RenderClear(renderer);
- SDL_RenderCopy(renderer, background_texture, NULL, &background_texture_rect);
- SDL_RenderCopy(renderer, button_texture, NULL, &button_texture_rect);
- SDL_RenderCopy(renderer, image_3_texture, NULL, &image_3_texture_rect);
- SDL_RenderPresent(renderer);
- // dont make loops for games/apps like this there are better ways: http://gafferongames.com/game-physics/fix-your-timestep/
- SDL_Delay(17);
- }
- // clean up
- SDL_DestroyTexture(background_texture);
- background_texture = NULL;
- SDL_DestroyTexture(button_texture);
- button_texture = NULL;
- SDL_DestroyTexture(image_3_texture);
- image_3_texture = NULL;
- SDL_DestroyRenderer(renderer);
- renderer = NULL;
- SDL_DestroyWindow(window);
- window = NULL;
- SDL_Quit();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement