texture manager, going to pull out into a resource manager

This commit is contained in:
2021-12-04 09:09:59 -05:00
parent 7b2a0719b1
commit 3473e3dab7
12 changed files with 127 additions and 10 deletions

View File

@@ -7,15 +7,25 @@
void SdlRenderer::initialize(RendererParams params) {
if(SDL_Init(SDL_INIT_VIDEO) < 0) {
printf("SDL vide oinit failed: %s\n", SDL_GetError());
return;
}
SDL_Window* sdl_window = SDL_CreateWindow(params.title, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, params.width, params.height, SDL_WINDOW_SHOWN);
auto img_flags = IMG_INIT_PNG;
if(!(IMG_Init(img_flags) & img_flags)) {
printf("Failed to init image loading: %s", IMG_GetError());
return;
}
SDL_Window* sdl_window = SDL_CreateWindow(params.title.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, params.width, params.height, SDL_WINDOW_SHOWN);
if(sdl_window == nullptr) {
printf("error making window: %s\n", SDL_GetError());
return;
}
else {
this->window = sdl_window;
SDL_Renderer* sdl_renderer = SDL_CreateRenderer(this->window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
this->renderer = sdl_renderer;
this->texture_manager = std::make_unique<SdlTextureManager>();
SDL_RenderClear(this->renderer);
}
}
@@ -30,3 +40,19 @@ void SdlRenderer::draw_point(int x, int y, Color color) {
SDL_SetRenderDrawColor(this->renderer, color.r, color.g, color.b, color.a);
SDL_RenderDrawPoint(this->renderer, x, y);
}
void SdlRenderer::draw_text(std::string text, int x, int y) {
}
SdlRenderer::~SdlRenderer() {
// destroy components
SDL_DestroyRenderer(this->renderer);
this->renderer = nullptr;
SDL_DestroyWindow(this->window);
this->window = nullptr;
// exit subsystems
IMG_Quit();
SDL_Quit();
}