Reordered function definitions

This commit is contained in:
Bert 2011-01-18 15:33:25 +01:00
parent 2f4399d530
commit 544fd83718
2 changed files with 31 additions and 27 deletions

View File

@ -24,16 +24,25 @@
#include "events.h" #include "events.h"
#include "window.h" #include "window.h"
void on_keypress(app_t*, XEvent*);
void on_configurenotify(app_t*, XEvent*);
void on_expose(app_t*, XEvent*);
extern Display *dpy; extern Display *dpy;
void on_expose(app_t *app, XEvent *ev) { static void (*handler[LASTEvent])(app_t*, XEvent*) = {
} [Expose] = on_expose,
[ConfigureNotify] = on_configurenotify,
[KeyPress] = on_keypress
};
void on_configurenotify(app_t *app, XEvent *ev) { void event_loop(app_t *app) {
if (!app || !ev) XEvent ev;
return;
while (!XNextEvent(dpy, &ev)) {
win_configure(&app->win, &ev->xconfigure); if (handler[ev.type])
handler[ev.type](app, &ev);
}
} }
void on_keypress(app_t *app, XEvent *ev) { void on_keypress(app_t *app, XEvent *ev) {
@ -56,17 +65,12 @@ void on_keypress(app_t *app, XEvent *ev) {
} }
} }
static void (*handler[LASTEvent])(app_t*, XEvent*) = { void on_configurenotify(app_t *app, XEvent *ev) {
[Expose] = on_expose, if (!app || !ev)
[ConfigureNotify] = on_configurenotify, return;
[KeyPress] = on_keypress
}; win_configure(&app->win, &ev->xconfigure);
}
void event_loop(app_t *app) {
XEvent ev; void on_expose(app_t *app, XEvent *ev) {
while (!XNextEvent(dpy, &ev)) {
if (handler[ev.type])
handler[ev.type](app, &ev);
}
} }

14
main.c
View File

@ -23,13 +23,6 @@
app_t app; app_t app;
void cleanup() {
static int in = 0;
if (!in++)
app_quit(&app);
}
int main(int argc, char **argv) { int main(int argc, char **argv) {
// TODO: parse cmd line arguments properly // TODO: parse cmd line arguments properly
@ -42,3 +35,10 @@ int main(int argc, char **argv) {
return 0; return 0;
} }
void cleanup() {
static int in = 0;
if (!in++)
app_quit(&app);
}