#ifdef ARC_SDL #include "arc/graphics/renderer.h" #include "arc/graphics/sdl/renderer.h" #include #include #include "arc/graphics/window.h" #include "arc/std/errno.h" void ARC_Renderer_Create(ARC_Renderer **renderer, ARC_RenderInfo *info){ if(!info){ arc_errno = ARC_ERRNO_NULL; ARC_DEBUG_ERR("ARC_Renderer_Create(**renderer, NULL)"); return; } *renderer = (ARC_Renderer *)SDL_CreateRenderer((SDL_Window *)info->window, info->index, info->flags); if(!*renderer){ arc_errno = ARC_ERRNO_NULL; ARC_DEBUG_LOG(arc_errno, "SDL_CreateRenderer(%p, %d, %u);", info->window, info->index, info->flags); free(renderer); } } void ARC_Renderer_Destroy(ARC_Renderer *renderer){ SDL_DestroyRenderer((SDL_Renderer *) renderer); } void ARC_Renderer_Clear(ARC_Renderer *renderer){ SDL_SetRenderDrawColor((SDL_Renderer *)renderer, 0x1c, 0x2c, 0x3c, 0x00); SDL_RenderClear((SDL_Renderer *)renderer); } void ARC_Renderer_Render(ARC_Renderer *renderer){ SDL_RenderPresent((SDL_Renderer *)renderer); } #endif //ARC_SDL