30 lines
779 B
C
30 lines
779 B
C
|
|
#ifdef ARC_SDL
|
||
|
|
#include "arc/graphics/renderer.h"
|
||
|
|
#include "arc/graphics/window.h"
|
||
|
|
#include "arc/std/errno.h"
|
||
|
|
|
||
|
|
typedef SDL_Renderer ARC_Renderer;
|
||
|
|
|
||
|
|
ARC_Renderer_Create(ARC_Renderer **renderer, void *data){
|
||
|
|
if(!data){
|
||
|
|
arc_errno = ARC_ERRNO_NULL;
|
||
|
|
ARC_DEBUG_ERR(arc_errno, "ARC_Renderer_Create(**renderer, NULL)");
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
ARC_RenderInfo *info = (ARC_RenderInfo *)data;
|
||
|
|
|
||
|
|
*renderer = SDL_CreateRenderer(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);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
void ARC_Renderer_Destroy(ARC_Renderer *renderer){
|
||
|
|
SDL_DestroyRenderer((SDL_Renderer *) renderer);
|
||
|
|
}
|
||
|
|
|
||
|
|
#endif //ARC_SDL
|