2 // "$Id: button.cxx 7903 2010-11-28 21:06:39Z matt $"
4 // Button/callback test program for the Fast Light Tool Kit (FLTK).
6 // Copyright 1998-2010 by Bill Spitzak and others.
8 // This library is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU Library General Public
10 // License as published by the Free Software Foundation; either
11 // version 2 of the License, or (at your option) any later version.
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Library General Public License for more details.
18 // You should have received a copy of the GNU Library General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23 // Please report all bugs and problems on the following page:
25 // http://www.fltk.org/str.php
31 #include <FL/Fl_Window.H>
32 #include <FL/Fl_Button.H>
34 void beepcb(Fl_Widget
*, void *) {
35 printf("\007"); fflush(stdout
);
38 void exitcb(Fl_Widget
*, void *) {
43 // test Fl::add_fd()...
44 void stdin_cb(int, void*) {
46 fgets(buf
, sizeof(buf
), stdin
);
47 printf("stdin callback\n");
51 int main(int argc
, char ** argv
) {
52 Fl_Window
*window
= new Fl_Window(320,65);
53 Fl_Button
*b1
= new Fl_Button(20, 20, 80, 25, "&Beep");
54 b1
->callback(beepcb
,0);
55 /*Fl_Button *b2 =*/ new Fl_Button(120,20, 80, 25, "&no op");
56 Fl_Button
*b3
= new Fl_Button(220,20, 80, 25, "E&xit");
57 b3
->callback(exitcb
,0);
59 window
->show(argc
,argv
);
61 Fl::add_fd(0, stdin_cb
);
67 // End of "$Id: button.cxx 7903 2010-11-28 21:06:39Z matt $".