Merge pull request #1 from atsampson/master
[calfbox.git] / ui.h
blobb4bb41a3c8ad6e721d214dbfffc1675fd3f09f25
1 /*
2 Calf Box, an open source musical instrument.
3 Copyright (C) 2010 Krzysztof Foltman
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #ifndef CBOX_UI_H
20 #define CBOX_UI_H
22 struct cbox_ui_page
24 void *user_data;
25 void (*draw)(struct cbox_ui_page *page);
26 int (*on_key)(struct cbox_ui_page *page, int ch);
27 int (*on_idle)(struct cbox_ui_page *page);
30 extern void cbox_ui_start(void);
31 extern int cbox_ui_run(struct cbox_ui_page *page);
32 extern void cbox_ui_stop(void);
34 #endif