diff options
Diffstat (limited to 'src/honey.h')
-rw-r--r-- | src/honey.h | 52 |
1 files changed, 50 insertions, 2 deletions
diff --git a/src/honey.h b/src/honey.h index c124903..c134894 100644 --- a/src/honey.h +++ b/src/honey.h @@ -1,6 +1,54 @@ -#ifndef HONEY_H -#define HONEY_H +#ifndef HONEY_ENGINE_H +#define HONEY_ENGINE_H +/** @file honey.h + * + * @brief Defines the basic loading and callback functions. +*/ +#include "common.h" + +#include "camera/camera.h" +#include "input/input.h" +#include "light/light.h" +#include "mesh/mesh.h" +#include "model/model.h" +#include "primitives/primitives.h" +#include "shader/shader.h" +#include "texture/texture.h" + +/** @brief Initialize Honey. + * + * @param[in] screen_width The desired width of the screen in pixels + * @param[in] screen_height The desired height of the screen in pixels + * @param[in] window_title Title to use for the window. + */ +honey_window honey_setup(int screen_width, int screen_height, char* window_title); + +static void (*honey_update_callback)(float dt); +static void (*honey_draw_callback)(); + +/** @brief Set the main update function. + * + * @param[in] update_callback The function to call every loop + */ +void honey_set_update_callback(void (*update_callback)(float)); + +/** @brief Set the main draw function + * + * @param[in] draw_callback The function to call every draw cycle + */ +void honey_set_draw_callback(void (*draw_callback)()); + +/** @brief The main game loop. + * + * @param[in] window The window the game is running in, created with honey_setup() + */ +void honey_run(honey_window window); + +#define honey_set_resize_callback glfwSetFramebufferSizeCallback +#define honey_set_mouse_move_callback glfwSetCursorPosCallback + +#define honey_quit glfwTerminate #endif |