nishbox/engine/include/gf_client.h
2025-04-16 17:51:23 +09:00

58 lines
1018 B
C

/**
* @file gf_client.h
* @~english
* @brief Client interface
*/
#ifndef __GF_CLIENT_H__
#define __GF_CLIENT_H__
#include <gf_pre.h>
#include <gf_macro.h>
/* Type */
#include <gf_type/client.h>
/* Engine */
#include <gf_type/core.h>
/* Standard */
/**
* @~english
* @brief Initialize client interface
*/
GF_EXPORT void gf_client_begin(void);
/**
* @~english
* @brief Cleanup client interface
*/
GF_EXPORT void gf_client_end(void);
/**
* @~english
* @brief Create client interface
* @param engine Engine instance
* @param title Window title
* @return Client interface
*/
GF_EXPORT gf_client_t* gf_client_create(gf_engine_t* engine, const char* title);
/**
* @~english
* @brief Destroy client interface
* @param client Client interface
*/
GF_EXPORT void gf_client_destroy(gf_client_t* client);
/**
* @~english
* @brief Do client single step
* @param client Client interface
* @return `0` if successful, otherwise if failed
*/
GF_EXPORT int gf_client_step(gf_client_t* client);
#endif