Added default font and exception throwing to replace some nullptr returns

This commit is contained in:
2021-12-11 12:10:56 -05:00
parent d2826f08fe
commit 10e2b3c538
10 changed files with 62 additions and 22 deletions

View File

@@ -47,9 +47,10 @@ void SdlRenderer::draw_point(int x, int y, Color color) {
SDL_RenderDrawPoint(this->renderer.get(), x, y);
}
void SdlRenderer::draw_text(TextRenderDetails details, std::string text, int x, int y) {
std::shared_ptr<TTF_Font> font = this->font_manager->fetch_resource(SdlFontArgs(details.size, details.font_path));
std::shared_ptr<SDL_Texture> texture = this->texture_manager->load_text_as_texture(text, font, details.color);
void SdlRenderer::draw_text(std::optional<TextRenderDetails> details, std::string text, int x, int y) {
TextRenderDetails unpacked_details = details.value_or(this->renderer_params.default_font);
std::shared_ptr<TTF_Font> font = this->font_manager->fetch_resource(SdlFontArgs(unpacked_details.size, unpacked_details.font_path));
std::shared_ptr<SDL_Texture> texture = this->texture_manager->load_text_as_texture(text, font, unpacked_details.color);
render_texture(x, y, texture, nullptr);
}