aboutsummaryrefslogtreecommitdiff
path: root/include/mgui/button.h
blob: 986cb9c957a4ec451a8950aed7afe6408ed75aab (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
25
26
27
28
#ifndef MGUI_BUTTON_H
#define MGUI_BUTTON_H

#include "widget.h"
#include <mgl/graphics/rectangle.h>
#include <mgl/graphics/text.h>
#include <stddef.h>

typedef struct {
    mgui_widget widget;
    char *str;
    size_t str_size;
    mgl_rectangle background;
    mgl_text text;
} mgui_button;

mgui_button* mgui_button_create(const char *str, size_t size, unsigned char character_size);
void mgui_button_destroy(mgui_button *button);
mgui_widget* mgui_button_to_widget(mgui_button *list);
mgui_button* mgui_widget_to_button(mgui_widget *widget);

void mgui_button_set_position(mgui_button *self, mgl_vec2i position);
void mgui_button_set_width(mgui_button *self, int width);
void mgui_button_on_event(mgui_button *self, mgl_window *window, mgl_event *event);
/* Returns the size of the widget */
mgl_vec2i mgui_button_draw(mgui_button *self, mgl_window *window);

#endif /* MGUI_BUTTON_H */