Loading...
Searching...
No Matches
renderer.h
Go to the documentation of this file.
#ifndef ARC_GRAPHICS_RENDERER_H_
#define ARC_GRAPHICS_RENDERER_H_
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief predefien ARC_EngineData so as not to get circular reference
*/
typedef struct ARC_EngineData ARC_EngineData;
/**
* @note ARC_RendererType is determined by which window library you are using
*/
typedef struct ARC_RendererType ARC_Renderer;
/**
* @brief creates ARC_Renderer type with ARC_EngineData
*
* @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 data the engine data to create from
*/
void ARC_Renderer_CreateWithEngineData(ARC_Renderer **renderer, ARC_EngineData *data);
/**
* @brief destroys ARC_Renderer type
*
* @param renderer ARC_Renderer to destory
*/
void ARC_Renderer_Destroy(ARC_Renderer *renderer);
/**
* @breif clears the renderer
*
* @param renderer the renderer to clear
*/
void ARC_Renderer_Clear(ARC_Renderer *renderer);
/**
* @brief renders the renderer
*
* @note the renderer will most likely be drawn to from ARC_EngineData
*
* @param renderer the renderer to render
*/
void ARC_Renderer_Render(ARC_Renderer *renderer);
#ifdef __cplusplus
}
#endif
#endif // !ARC_GRAPHICS_RENDERER_H_
ARC_Renderer
struct ARC_RendererType ARC_Renderer
Definition renderer.h:16
ARC_Renderer_CreateWithEngineData
void ARC_Renderer_CreateWithEngineData(ARC_Renderer **renderer, ARC_EngineData *data)
creates ARC_Renderer type with ARC_EngineData
Definition renderer.c:10
ARC_Renderer_Clear
void ARC_Renderer_Clear(ARC_Renderer *renderer)
Definition renderer.c:32
ARC_Renderer_Destroy
void ARC_Renderer_Destroy(ARC_Renderer *renderer)
destroys ARC_Renderer type
Definition renderer.c:28
ARC_Renderer_Render
void ARC_Renderer_Render(ARC_Renderer *renderer)
renders the renderer
Definition renderer.c:39
ARC_RendererType
SDL_Renderer ARC_RendererType
Definition renderer.h:8
ARC_EngineData
Definition engine.h:17