#include SDL_Window* window; SDL_Renderer* renderer; SDL_Surface* surface; SDL_Texture* texture; const int screenWidth = 800; const int screenHeight = 600; int throw_sdl_err(const char* fmt) { SDL_LogError( SDL_LOG_CATEGORY_APPLICATION, fmt, SDL_GetError() ); return 3; } int initWindow(void){ if (SDL_Init(SDL_INIT_VIDEO) < 0) { return throw_sdl_err("Could not init the SDL: %s"); } if (SDL_CreateWindowAndRenderer(screenWidth, screenHeight, SDL_WINDOW_OPENGL, &window, &renderer)) { return throw_sdl_err("Could not create new window and renderer: %s"); } return 0; } int loadLogo(void){ surface = SDL_LoadBMP("imgs/bocm.bmp"); if (!surface) { return throw_sdl_err("Could not load BMP image: %s"); } texture = SDL_CreateTextureFromSurface(renderer, surface); if (!texture) { return throw_sdl_err("Could not create new texture from surface: %s"); } SDL_FreeSurface(surface); return 0; } int loadBackgroundColor(void){ SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255); SDL_RenderClear(renderer); return 0; } int locLogo(void){ SDL_Rect srcrect = {0, 0, 100, 73}; SDL_Rect dstrect = {10, 10, 100, 73}; SDL_RenderCopy(renderer, texture, &srcrect, &dstrect); return 0; } int locStars(void){ SDL_Rect srcrect = {1, 32, 22, 21}; SDL_Rect dstrect = {100, 100, 22, 21}; SDL_RenderCopy(renderer, texture, &srcrect, &dstrect); return 0; } int destroy(void){ SDL_DestroyTexture(texture); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); return 0; }