/** * @file gf_draw.h * @~english * @brief Drawing interface * @warning You should not use functions written here, since engine does it for you */ #ifndef __GF_DRAW_H__ #define __GF_DRAW_H__ #include #include /* Type */ #include /* Engine */ #include /* Standard */ /** * @~english * @brief Create drawing interface * @param engine Engine instance * @param title Window title * @return Drawing interface */ GF_EXPORT gf_draw_t* gf_draw_create(gf_engine_t* engine, const char* title); /** * @~english * @brief Destroy drawing interface * @param draw Drawing interface */ GF_EXPORT void gf_draw_destroy(gf_draw_t* draw); /** * @~english * @brief Draw frame (common part) * @param draw Drawing interface */ GF_EXPORT void gf_draw_frame(gf_draw_t* draw); /** * @~english * @brief Do drawing single step * @param draw Drawing interface * @return `0` if successful, otherwise if failed */ GF_EXPORT int gf_draw_step(gf_draw_t* draw); /** * @~english * @brief Initialize drawing stuffs */ GF_EXPORT void gf_draw_begin(void); /** * @~english * @brief Cleanup drawing stuffs */ GF_EXPORT void gf_draw_end(void); /** * @~english * @brief Do stuffs required on resizing window * @param draw Drawing interface */ GF_EXPORT void gf_draw_reshape(gf_draw_t* draw); #endif