aboutsummaryrefslogtreecommitdiff
path: root/include/mgui/scrollview.h
blob: dded990462b37bb70be6fdcacb73e721e6eb9ab8 (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
#ifndef MGUI_SCROLLVIEW_H
#define MGUI_SCROLLVIEW_H

#include "widget.h"

typedef struct {
    mgui_widget widget;
    mgui_widget *child;
    mgl_vec2i position;
    mgl_vec2i scroll;
    mgl_vec2f mouse_scroll;
} mgui_scrollview;

mgui_scrollview* mgui_scrollview_create();
void mgui_scrollview_destroy(mgui_scrollview *scrollview);
mgui_widget* mgui_scrollview_to_widget(mgui_scrollview *list);
mgui_scrollview* mgui_widget_to_scrollview(mgui_widget *widget);

void mgui_scrollview_set_child(mgui_scrollview *self, mgui_widget *child);
void mgui_scrollview_set_position(mgui_scrollview *self, mgl_vec2i position);
void mgui_scrollview_calculate_size(mgui_scrollview *self, mgl_vec2i max_size);
void mgui_scrollview_set_size(mgui_scrollview *self, mgl_vec2i size);
void mgui_scrollview_on_event(mgui_scrollview *self, mgl_window *window, mgl_event *event);
void mgui_scrollview_draw(mgui_scrollview *self, mgl_window *window);

#endif /* MGUI_SCROLLVIEW_H */