Game::Game() { if(SDL_Init(SDL_INIT_EVERYTHING) < 0) { LogSdlError("SDL_Init"); return; } if(SDLNet_Init() < 0) { LogSdlError("SDLNet_Init"); return; } if(TTF_Init() < 0) { LogTtfError("TTF_Init"); return; } }
SDL_Texture* ViewerSdl::CreateTexture(const std::string& filename) const { SDL_Surface* loadedImage = SDL_LoadBMP(filename.c_str()); if(!loadedImage) { LogSdlError("SDL_LoadBMP"); return nullptr; } SDL_Texture* texture = SDL_CreateTextureFromSurface(this->renderer, loadedImage); if(!texture) { LogSdlError("SDL_CreateTextureFromSurface"); } SDL_FreeSurface(loadedImage); return texture; }
void ViewerSdl::Init(const std::string& title) { this->Clear(); SDL_Rect window_rect; SDL_GetDisplayBounds(0, &window_rect); this->window = SDL_CreateWindow(title.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, window_rect.w, window_rect.h, SDL_WINDOW_RESIZABLE | SDL_WINDOW_SHOWN); if(!this->window) { LogSdlError("SDL_CreateWindow"); } this->renderer = SDL_CreateRenderer(this->window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC); if(!this->renderer) { LogSdlError("SDL_CreateRenderer"); } }