archeus/include/arc/graphics/renderer.h
2023-03-10 17:34:22 -07:00

41 lines
984 B
C

#ifndef ARC_GRAPHICS_RENDERER_H_
#define ARC_GRAPHICS_RENDERER_H_
#ifdef __cplusplus
extern "C" {
#endif
/**
* @note ARC_RendererType is determined by which window library you are using
*/
typedef struct ARC_RendererType ARC_Renderer;
typedef struct ARC_RenderInfo ARC_RenderInfo;
/**
* @brief creates ARC_Renderer type
*
* @note the parameter data is determined by which graphics library you are using
* please refer to the graphics library section to see what needs to be passed
*
* @param renderer ARC_Renderer to initialize
* @param info Info on how to create ARC_Window
*/
void ARC_Renderer_Create(ARC_Renderer **renderer, ARC_RenderInfo *info);
/**
* @brief destroys ARC_Renderer type
*
* @param renderer ARC_Renderer to destory
*/
void ARC_Renderer_Destroy(ARC_Renderer *renderer);
void ARC_Renderer_Clear(ARC_Renderer *renderer);
void ARC_Renderer_Render(ARC_Renderer *renderer);
#ifdef __cplusplus
}
#endif
#endif // !ARC_GRAPHICS_RENDERER_H_