Creating and managing windows with event handling.
Creating and managing windows with event handling.This demonstrates window creation, event processing, and proper cleanup. Every graphical Banjo application needs a window and must process events to remain responsive.
#define BJ_AUTOMAIN_CALLBACKS
int bj_app_begin(
void** user_data,
int argc,
char* argv[]) {
(void)user_data; (void)argc; (void)argv;
return bj_callback_exit_error;
}
return bj_callback_continue;
}
(void)user_data;
? bj_callback_exit_success
: bj_callback_continue;
}
(void)user_data;
return status;
}
int bj_app_begin(void **user_data, int argc, char *argv[])
Definition audio_pcm.c:25
int bj_app_iterate(void *user_data)
Definition audio_pcm.c:60
int bj_app_end(void *user_data, int status)
Definition audio_pcm.c:84
bj_window * window
Definition bitmap_blit.c:24
Sytem event management API.
struct bj_window bj_window
Definition api.h:296
void bj_dispatch_events(void)
Poll and dispatch all pending events.
void bj_close_on_escape(struct bj_window *window, const struct bj_key_event *event, void *user_data)
Handle the ESC key to close a window.
bj_key_callback_fn bj_set_key_callback(bj_key_callback_fn callback, void *user_data)
Set the global callback for keyboard key events.
bj_bool bj_begin(int systems, struct bj_error **error)
Initializes the system.
void bj_end(void)
De-initializes the system.
@ BJ_VIDEO_SYSTEM
Definition system.h:20
struct bj_window * bj_bind_window(const char *title, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint8_t flags, struct bj_error **error)
Create a new struct bj_window with the specified attributes.
bj_bool bj_should_close_window(struct bj_window *window)
Get the close flag state of a window.
void bj_unbind_window(struct bj_window *window)
Deletes a struct bj_window object and releases associated memory.
Logging utility functions.
Portable main substitution and application callback facilities.
Header file for system interactions.
Header file for bj_window type.