#include <FL/Enumerations.H>
#include <FL/Fl.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Double_Window.H>
class MyButton : public Fl_Button {
Fl_Color default_color;
public:
MyButton(int x, int y, int w, int h, const char* label = NULL)
: Fl_Button(x, y, w, h, label) {}
int handle(int e) {
int ret = Fl_Button::handle(e);
switch (e) {
case FL_ENTER:
default_color = color();
color(fl_lighter(default_color));
redraw();
return 1;
case FL_LEAVE:
color(default_color);
redraw();
return 1;
}
return ret;
}
};
int main() {
auto win = new Fl_Double_Window(400, 300);
auto btn = new MyButton(160, 200, 80, 30, "Click");
win->end();
win->show();
return Fl::run();
}