aboutsummaryrefslogtreecommitdiff
path: root/include/mgl/window.h
blob: 57e3072b583feb5d8d1b47a79135d1383966ccbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef MGL_WINDOW_H
#define MGL_WINDOW_H

typedef struct mgl_window mgl_window;

typedef struct {
    void (*draw)(mgl_window *window, void *userdata);
} mgl_window_callback;

struct mgl_window {
    unsigned long window;
    mgl_window_callback callback;
    void *callback_userdata;
};

int mgl_window_create(mgl_window *self, const char *title, int width, int height, mgl_window_callback *callback, void *userdata);
int mgl_window_create_with_params(mgl_window *self, const char *title, int width, int height, unsigned long parent_window, mgl_window_callback *callback, void *userdata);
void mgl_window_deinit(mgl_window *self);

void mgl_window_show(mgl_window *self);
void mgl_window_event_poll(mgl_window *self);
void mgl_window_draw(mgl_window *self);

#endif /* MGL_WINDOW_H */