|
Banjo API 0.0.1
C99 game development API
|

Topics | |
| Main Entry Point | |
Files | |
| file | assert.h |
Data Structures | |
| struct | bj_build_info |
Macros | |
| #define | BJ_FALSE ((bj_bool)0) |
| #define | BJ_TRUE ((bj_bool)1) |
Typedefs | |
| typedef uint32_t | bj_bool |
Functions | |
| const struct bj_build_info * | bj_build_information (void) |
Convenience typedefs for public API types | |
By default, Banjo provides typedefs that allow writing type names without the struct or enum keywords (e.g., bj_vec2 instead of struct bj_vec2). To disable these typedefs and use explicit struct/enum keywords everywhere, define BJ_NO_TYPEDEF before including Banjo headers. | |
| typedef struct bj_angular_2d | bj_angular_2d |
| typedef struct bj_cli | bj_cli |
| typedef struct bj_cli_argument | bj_cli_argument |
| typedef struct bj_audio_device | bj_audio_device |
| typedef struct bj_audio_play_note_data | bj_audio_play_note_data |
| typedef struct bj_audio_properties | bj_audio_properties |
| typedef struct bj_bitmap | bj_bitmap |
| typedef struct bj_build_info | bj_build_info |
| typedef struct bj_button_event | bj_button_event |
| typedef struct bj_cursor_event | bj_cursor_event |
| typedef struct bj_enter_event | bj_enter_event |
| typedef struct bj_error | bj_error |
| typedef struct bj_event | bj_event |
| typedef struct bj_key_event | bj_key_event |
| typedef struct bj_mat3x2 | bj_mat3x2 |
| typedef struct bj_mat3x3 | bj_mat3 |
| typedef struct bj_mat3x3 | bj_mat3x3 |
| typedef struct bj_mat4x3 | bj_mat4x3 |
| typedef struct bj_mat4x4 | bj_mat4 |
| typedef struct bj_mat4x4 | bj_mat4x4 |
| typedef struct bj_memory_callbacks | bj_memory_callbacks |
| typedef struct bj_particle_2d | bj_particle_2d |
| typedef struct bj_pcg32 | bj_pcg32 |
| typedef struct bj_rect | bj_rect |
| typedef struct bj_renderer | bj_renderer |
| typedef struct bj_rigid_body_2d | bj_rigid_body_2d |
| typedef struct bj_stopwatch | bj_stopwatch |
| typedef struct bj_stream | bj_stream |
| typedef struct bj_vec2 | bj_vec2 |
| typedef struct bj_vec3 | bj_vec3 |
| typedef struct bj_vec4 | bj_quat |
| typedef struct bj_vec4 | bj_vec4 |
| typedef struct bj_window | bj_window |
Platform detection | |
One of these will be defined to indicate the target OS. | |
| #define | BJ_OS_UNKNOWN |
Compiler detection | |
One of these will be defined to indicate the compiler in use. Additionally BJ_COMPILER_NAME and BJ_COMPILER_VERSION are provided. | |
| #define | BJ_COMPILER_NAME "Doxygen" |
| #define | BJ_COMPILER_VERSION 0 |
Build configuration | |
Exactly one of BJ_BUILD_DEBUG or BJ_BUILD_RELEASE is defined. | |
| #define | BJ_BUILD_RELEASE |
| #define | BJ_BUILD_DEBUG |
Export/visibility helpers | |
BANJO_EXPORT marks public symbols. BANJO_NO_EXPORT hides symbols. | |
| #define | BANJO_EXPORT |
| #define | BANJO_NO_EXPORT |
Restrict qualifier macro | |
| #define | BJ_RESTRICT restrict |
Inline helper macro | |
| #define | BJ_INLINE inline |
General-purpose API.
| struct bj_build_info |
Structure holding build information of the binary.
| Data Fields | ||
|---|---|---|
| bj_bool | backend_alsa | Built with ALSA audio. |
| bj_bool | backend_cocoa | Built with Cocoa/macOS support. |
| bj_bool | backend_emscripten | Built with Emscripten support. |
| bj_bool | backend_mme | Built with Windows MME audio. |
| bj_bool | backend_win32 | Built with Win32 window support. |
| bj_bool | backend_x11 | Built with X11 window support. |
| bj_bool | checks_abort | Checks abort execution on failure. |
| bj_bool | checks_log | Checks log failures. |
| const char * | compiler_name | Compiler name string. |
| int | compiler_version | Compiler version number. |
| bj_bool | debug | Non-zero if built with debug info. |
| bj_bool | fastmath | Built with fast-math optimizations. |
| bj_bool | log_color | Colored log output enabled. |
| const char * | name | API name (see BJ_NAME). |
| bj_bool | pedantic | Extra runtime checks enabled. |
| const char * | variant | API name variant (see BJ_NAME_VARIANT). |
| uint32_t | version | Packed API version (see BJ_VERSION). |
| #define BANJO_EXPORT |
| #define BANJO_NO_EXPORT |
| #define BJ_BUILD_DEBUG |
Set when Banjo was built on debug mode (NDEBUG not defined).
| #define BJ_BUILD_RELEASE |
Set when Banjo was built on release mode (NDEBUG defined).
| #define BJ_COMPILER_NAME "Doxygen" |
| #define BJ_COMPILER_VERSION 0 |
| #define BJ_INLINE inline |
BJ_INLINE expands to an inline specifier appropriate for the toolchain.
If BJ_API_FORCE_INLINE is defined, stronger inlining is requested.
| #define BJ_OS_UNKNOWN |
| #define BJ_RESTRICT restrict |
BJ_RESTRICT expands to the appropriate restrict qualifier per toolchain.
| #define BJ_TRUE ((bj_bool)1) |
| typedef struct bj_angular_2d bj_angular_2d |
| typedef struct bj_audio_device bj_audio_device |
| typedef struct bj_audio_play_note_data bj_audio_play_note_data |
| typedef struct bj_audio_properties bj_audio_properties |
| typedef uint32_t bj_bool |
| typedef struct bj_build_info bj_build_info |
| typedef struct bj_button_event bj_button_event |
| typedef struct bj_cli bj_cli |
| typedef struct bj_cli_argument bj_cli_argument |
| typedef struct bj_cursor_event bj_cursor_event |
| typedef struct bj_enter_event bj_enter_event |
| typedef struct bj_event bj_event |
| typedef struct bj_key_event bj_key_event |
| typedef struct bj_mat3x2 bj_mat3x2 |
| typedef struct bj_mat3x3 bj_mat3x3 |
| typedef struct bj_mat4x3 bj_mat4x3 |
| typedef struct bj_mat4x4 bj_mat4x4 |
| typedef struct bj_memory_callbacks bj_memory_callbacks |
| typedef struct bj_particle_2d bj_particle_2d |
| typedef struct bj_pcg32 bj_pcg32 |
| typedef struct bj_rect bj_rect |
| typedef struct bj_renderer bj_renderer |
| typedef struct bj_rigid_body_2d bj_rigid_body_2d |
| typedef struct bj_stopwatch bj_stopwatch |
| typedef struct bj_vec2 bj_vec2 |
| typedef struct bj_vec3 bj_vec3 |
| typedef struct bj_vec4 bj_vec4 |
| const struct bj_build_info * bj_build_information | ( | void | ) |
Get runtime build information for the loaded Banjo binaries.
The returned pointer is owned by the library and remains valid for the lifetime of the process. The content is immutable.