diff --git a/include/arc/graphics/rectangle.h b/include/arc/graphics/rectangle.h index 6a4fc8b..1dea87d 100644 --- a/include/arc/graphics/rectangle.h +++ b/include/arc/graphics/rectangle.h @@ -12,6 +12,8 @@ extern "C" { void ARC_Rect_Render(ARC_Rect *rect, ARC_Renderer *renderer, ARC_Color *color); +void ARC_Rect_RenderFill(ARC_Rect *rect, ARC_Renderer *renderer, ARC_Color *color); + #ifdef __cplusplus } #endif diff --git a/src/graphics/sdl/rectangle.c b/src/graphics/sdl/rectangle.c index 074d3d3..9497eb0 100644 --- a/src/graphics/sdl/rectangle.c +++ b/src/graphics/sdl/rectangle.c @@ -8,4 +8,9 @@ void ARC_Rect_Render(ARC_Rect *rect, ARC_Renderer *renderer, ARC_Color *color){ SDL_RenderDrawRect(renderer->renderer, (SDL_Rect *) rect); } +void ARC_Rect_RenderFill(ARC_Rect *rect, ARC_Renderer *renderer, ARC_Color *color){ + SDL_SetRenderDrawColor(renderer->renderer, color->r, color->g, color->b, color->a); + SDL_RenderFillRect(renderer->renderer, (SDL_Rect *) rect); +} + #endif // ARC_SDL \ No newline at end of file diff --git a/src/std/config.c b/src/std/config.c index 86a7702..ade3198 100644 --- a/src/std/config.c +++ b/src/std/config.c @@ -156,6 +156,12 @@ void ARC_Config_Get(ARC_Config *config, ARC_String *keyname, void **value){ if(group){ ARC_String_Destroy(group); } + + if(temp == NULL){ + *value = NULL; + return; + } + *value = temp->data; return; }