Fl_Button | +----Fl_Toggle_Button
#include <FL/Fl_Toggle_Button.H>
The toggle button is a push button that needs to be clicked once to toggle on, and one more time to toggle off. The Fl_Toggle_Button subclass displays the "on" state by drawing a pushed-in button.
Buttons generate callbacks when they are clicked by the user. You control exactly when and how by changing the values for type() and when().