Banjo API 0.0.1
Multi-purpose C99 API
Loading...
Searching...
No Matches
video.h
1#pragma once
2
3#include <banjo/error.h>
4#include <banjo/window.h>
5
7
8typedef void (*bj_window_dispose_fn)(struct bj_video_layer_t*, bj_error** p_error);
9typedef bj_window* (*bj_window_create_window_fn)(struct bj_video_layer_t*, const char*, uint16_t, uint16_t, uint16_t, uint16_t, uint8_t);
10typedef void (*bj_window_delete_window_fn)(struct bj_video_layer_t*, bj_window*);
11typedef void (*bj_window_poll_events_fn)(struct bj_video_layer_t*);
12typedef int (*bj_window_get_size_fn)(struct bj_video_layer_t*, const bj_window*, int*, int*);
13typedef bj_bitmap* (*bj_window_create_framebuffer_fn)(struct bj_video_layer_t*, const bj_window*, bj_error** p_error);
14typedef void (*bj_window_flush_framebuffer_fn)(struct bj_video_layer_t*, const bj_window*);
15
16struct bj_video_layer_data_t;
17
18typedef struct bj_video_layer_t {
19 bj_window_dispose_fn dispose;
20 bj_window_create_window_fn create_window;
21 bj_window_delete_window_fn delete_window;
22 bj_window_poll_events_fn poll_events;
23 bj_window_get_size_fn get_window_size;
24 bj_window_create_framebuffer_fn create_window_framebuffer;
25 bj_window_flush_framebuffer_fn flush_window_framebuffer;
26
27 struct bj_video_layer_data_t* data;
28} bj_video_layer;
29
30typedef struct {
31 const char* name;
32 bj_video_layer* (*create)(bj_error** p_error);
34
35
Recoverable error handling.
struct bj_bitmap_t bj_bitmap
Typedef for the bj_bitmap struct.
Definition bitmap.h:22
Error structure.
Definition error.h:131
struct bj_window_t bj_window
Opaque typedef for the window type.
Definition window.h:18
Definition video.h:30
Definition video.h:18
Header file for bj_window type.