Banjo API 0.0.1
C99 game development API
Loading...
Searching...
No Matches
api.h File Reference
#include <stddef.h>
#include <stdint.h>
Include dependency graph for api.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  bj_build_info

Macros

#define BJ_VERSION_VARIANT(version)
#define BJ_VERSION_MAJOR(version)
#define BJ_VERSION_MINOR(version)
#define BJ_VERSION_PATCH(version)
#define BJ_MAKE_VERSION(major, minor, patch, variant)
#define BJ_VERSION_MAJOR_NUMBER   0
#define BJ_VERSION_MINOR_NUMBER   1
#define BJ_VERSION_PATCH_NUMBER   0
#define BJ_VERSION_VARIANT_NUMBER   BJ_VERSION_DEV
#define BJ_VERSION   BJ_MAKE_VERSION(BJ_VERSION_MAJOR_NUMBER, BJ_VERSION_MINOR_NUMBER, BJ_VERSION_PATCH_NUMBER, BJ_VERSION_VARIANT_NUMBER)
#define BJ_NAME   "Banjo"
#define BJ_FALSE   ((bj_bool)0)
#define BJ_TRUE   ((bj_bool)1)
#define BJ_VERSION_RELEASE   0
#define BJ_VERSION_DEV   1
#define BJ_VERSION_BETA   2
#define BJ_VERSION_RC   3
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

Typedefs

typedef uint32_t bj_bool
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 enum bj_audio_format bj_audio_format
typedef enum bj_blit_op bj_blit_op
typedef enum bj_callback_result bj_callback_result
typedef enum bj_error_code bj_error_code
typedef enum bj_event_action bj_event_action
typedef enum bj_event_type bj_event_type
typedef enum bj_key bj_key
typedef enum bj_log_level bj_log_level
typedef enum bj_pixel_mode bj_pixel_mode
typedef enum bj_renderer_type bj_renderer_type
typedef enum bj_seek_origin bj_seek_origin
typedef enum bj_shader_flag bj_shader_flag
typedef enum bj_window_flag bj_window_flag
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

Functions

const struct bj_build_infobj_build_information (void)

Detailed Description

General-purpose definitions for Banjo API.