Banjo API 0.0.1
Multi-purpose C99 API
|
Typedefs | |
typedef struct bj_window_t | bj_window |
Opaque typedef for the window type. | |
typedef enum bj_window_flag_t | bj_window_flag |
A set of flags describing some properties of a bj_window. | |
Enumerations | |
enum | bj_window_flag_t { BJ_WINDOW_FLAG_NONE = 0x00 , BJ_WINDOW_FLAG_CLOSE = 0x01 , BJ_WINDOW_FLAG_KEY_REPEAT = 0x02 , BJ_WINDOW_FLAG_ALL = 0xFF } |
A set of flags describing some properties of a bj_window. More... | |
Functions | |
bj_window * | bj_window_new (const char *p_title, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint8_t flags) |
Create a new bj_window with the specified attributes. | |
void | bj_window_del (bj_window *p_window) |
Deletes a bj_window object and releases associated memory. | |
void | bj_window_set_should_close (bj_window *p_window) |
Flag a given window to be closed. | |
bj_bool | bj_window_should_close (bj_window *p_window) |
Get the close flag state of a window. | |
uint8_t | bj_window_get_flags (bj_window *p_window, uint8_t flags) |
Get window flags. | |
bj_bitmap * | bj_window_get_framebuffer (bj_window *p_window, bj_error **p_error) |
Return the framebuffer attached to the window. | |
int | bj_window_get_size (const bj_window *p_window, int *width, int *height) |
Retrieve the size of the window. | |
void | bj_window_update_framebuffer (bj_window *p_window) |
Copy window's framebuffer onto screen. | |
typedef enum bj_window_flag_t bj_window_flag |
These flags can be provided at window creation with bj_window_new. The may also change during the window lifetime. You can use bj_window_get_flags to query the status of any flag on an active window instance.
enum bj_window_flag_t |
These flags can be provided at window creation with bj_window_new. The may also change during the window lifetime. You can use bj_window_get_flags to query the status of any flag on an active window instance.
Enumerator | |
---|---|
BJ_WINDOW_FLAG_NONE | No Flag. |
BJ_WINDOW_FLAG_CLOSE | Window should be closed by the application. |
BJ_WINDOW_FLAG_KEY_REPEAT | Key repeat event is enabled (see bj_set_key_callback). |
BJ_WINDOW_FLAG_ALL | All flags set. |
void bj_window_del | ( | bj_window * | p_window | ) |
p_window | Pointer to the window object to delete. |
uint8_t bj_window_get_flags | ( | bj_window * | p_window, |
uint8_t | flags ) |
This function returns all the flag sets for p_window
. flags
is a filter to only get the flag you are interested into. It can be a single flag, an OR'd combination of multiple flags or even BJ_WINDOW_FLAG_ALL if you want to retrieve them all.
p_window | The window handler. |
flags | Filter flag set. |
flags
. The framebuffer is an instance of bj_bitmap attached (and owned) by the window. If necessary, bj_window_get_flags will create (or recreate) the framebuffer object upon calling this function. This can happen when the window is resize, minimized or any even that invalidate the window drawing area.
TODO: The instance should stay the same and the framebuffer only change internally.
p_window | The window handler |
p_error | Optional error location |
The function performs nothing if p_window
is 0.
The library is responsible for the return bj_bitmap object.
int bj_window_get_size | ( | const bj_window * | p_window, |
int * | width, | ||
int * | height ) |
p_window | The window handler |
width | A location to the destination width |
height | A location to the destination height |
The function performs nothing if p_window
is 0.
width
and height
can be 0 if you are only interested in retrieving one of the values.
You are responsible for the memory of width
and height
.
bj_window * bj_window_new | ( | const char * | p_title, |
uint16_t | x, | ||
uint16_t | y, | ||
uint16_t | width, | ||
uint16_t | height, | ||
uint8_t | flags ) |
p_title | Title of the window |
x | Horizontal position of the window on-screen, expressed in pixels |
y | Vertical position of the window on-screen, expressed in pixels |
width | Width of the window. |
height | Height of the window. |
flags | A set of options flags. |
The caller is responsible for releasing the returned bj_window object with bj_window_del.
void bj_window_set_should_close | ( | bj_window * | p_window | ) |
Once, flagged, the window is not automatically closed. Instead, call bj_window_del.
Note that it is not possible to remove a closed flag once set.
p_window | Pointer to the window object to flag. |
This function effectively returns bj_window_get_flags(p_window, BJ_WINDOW_FLAG_CLOSE) > 0
.
p_window | Pointer to the window object to flag. |
If p_window
is 0, the function returns BJ_TRUE.
void bj_window_update_framebuffer | ( | bj_window * | p_window | ) |
p_window | The window handler |
Use this function to apply any change made to the framebuffer on the window.
The function performs nothing if p_window
is 0 or does not contain any framebuffer.