Archeus 0.0.0
A C library and game engine that focuses on documentation
Loading...
Searching...
No Matches
engine.h
Go to the documentation of this file.
1#ifndef ARC_ENGINE_H_
2#define ARC_ENGINE_H_
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
10#include "arc/input/input.h"
11#include "arc/input/mouse.h"
12#include "arc/input/keyboard.h"
13#include "arc/math/point.h"
14#include "arc/std/bool.h"
15#include "arc/std/handler.h"
16
29
30/**
31 * @breif creates an ARC_EngineData type to be used when running an ARC_Engine
32 *
33 * @param data the ARC_EngineData to create
34 * @param cleanFn the state cleanup function
35 * @param windowSIze the size of window to create passed as an ARC_Point
36*/
38
39/**
40 * @breif destroys an ARC_EngineData type
41 *
42 * @param data the ARC_EngineData to destroy
43*/
45
46/**
47 * @brief runs ARC_Engine with an uncapped framerate
48 *
49 * @note data must be created before this function
50 * @note data should be destroyed after this function
51 *
52 * @param data engine data that will be used
53 */
55
56#ifdef __cplusplus
57}
58#endif
59
60#endif // !ARC_ENGINE_H_
#define ARC_Bool
Definition bool.h:10
void ARC_Engine_RunUncapped(ARC_EngineData *data)
runs ARC_Engine with an uncapped framerate
struct ARC_EngineData ARC_EngineData
predefien ARC_EngineData so as not to get circular reference
Definition renderer.h:11
void ARC_EngineData_Create(ARC_EngineData **data, ARC_Handler_CleanDataFn cleanFn, ARC_Point windowSize)
void ARC_EngineData_Destroy(ARC_EngineData *data)
void(* ARC_Handler_CleanDataFn)(void *data)
a function that will be used during destruction of trash vector
Definition handler.h:40
struct ARC_Handler ARC_Handler
a handler type
Definition handler.h:14
struct ARC_Input ARC_Input
predefien ARC_Input so as not to get circular reference
Definition input.h:17
struct ARC_Keyboard ARC_Keyboard
Definition keyboard.h:15
struct ARC_Mouse ARC_Mouse
Definition mouse.h:16
struct ARC_RendererType ARC_Renderer
Definition renderer.h:16
ARC_Point windowSize
Definition engine.h:27
ARC_Input * input
Definition engine.h:21
ARC_Keyboard * keyboard
Definition engine.h:23
ARC_Bool running
Definition engine.h:26
ARC_Handler * state
Definition engine.h:20
ARC_Window * window
Definition engine.h:18
ARC_Renderer * renderer
Definition engine.h:19
ARC_Mouse * mouse
Definition engine.h:22
double dt
Definition engine.h:25
struct ARC_WindowType ARC_Window
Definition window.h:13