commit - c3628d8176854d6bdc1cb7e104626478162bb09f
commit + ab785159a83ddb3ca6309027f7e63139a707e5cf
blob - 9a3054785d21ab5b0521066d79388bcd36360df7
blob + 5fc883410e7985f9df5ed098ac4eccf2d393f75e
--- aui.h
+++ aui.h
struct aui_button_config {
const char *text; /* Not allocated by libaui */
+ void (*command) (struct aui_button *, void *args);
+ void *args;
};
struct aui_frame_config {
blob - f5a9d06acc51ebbf6ca18aa7afc93f34839645b3
blob + 4897ca17c19fc08a18081dbf3320614ca265d819
--- button.c
+++ button.c
driver->ops->set_rectangle_color(widget->window, widget->primitives.list[0], &color[0]);
driver->ops->set_rectangle_color(widget->window, widget->primitives.list[1], &color[1]);
+ driver->ops->set_text(widget->primitives.list[2], button->config.text, 0, 0);
return button;
}
btn->pressed = 0;
driver->ops->set_rectangle_color(widget->window, widget->primitives.list[1], &color[1]);
+
+ if (btn->config.command && widget_collides_with_point(widget, x, y))
+ btn->config.command(btn, btn->config.args);
}
static void