aboutsummaryrefslogtreecommitdiffstats
path: root/src/app_window.cpp
blob: b38ebfccdfe079b8067400a1431c92c520a7e2c2 (plain) (blame)
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
#include "app_window.h"

void AppWindow::main_init(MainData * md, int X, int Y, const char * l) {
	mdata = md;

	Fl::add_timeout(1.0 / mdata->settings.update_fps, update_cb, (void*)this);
	Fl::add_timeout(1.0 / mdata->settings.draw_fps, draw_cb, (void*)this);
}

void AppWindow::update_cb(void * d) {
	AppWindow * win = (AppWindow*)d;
	MainData* mdata = win->mdata;

	mdata->snake_map->update();

	Fl::repeat_timeout(1.0 / win->mdata->settings.update_fps, update_cb, d);
}

void AppWindow::draw_cb(void * d) {
	AppWindow * win = (AppWindow*)d;
	MainData* mdata = win->mdata;

	mdata->snake_map->redraw();

	Fl::repeat_timeout(1.0 / win->mdata->settings.draw_fps, draw_cb, d);
}